Сегодняшний X-Tools посвящен сбору и анализу открытых данных. Другими словами — этапу рекона. Очередные семь тулз, которые помогут найти, просканировать уязвимые хосты, а также облегчить этап эксплуатации, обогащая ресерчера новыми знаниями о целевой машине.
 

Ищем интересные строки в Git-репозиториях

Боевые логины и пароли в Git-репозитории — это уже притча во языцех и настоящий security-фольклор. Казалось бы, сегодня уже все знают, что чувствительные данные должны быть как минимум заигнорены в .gitignore, но в паблике регулярно всплывают креды и другие ценные строчки в открытом виде. Причин масса: или репозиторий изначально был приватным, или вкоммитили тестовые данные, забыли и перенесли на продакшен — всякое бывает. Ощутить весь масштаб трагедии поможет интересная тулза — GitMiner.

GitMiner — это поисковик по открытым репозиториям на GitHub. Ты указываешь ему, что искать (логины, пароли), в каких файлах (название, расширение), что должно быть внутри (чтобы исключить фалсы по максимуму), а также правила для парсинга. И запускаешь поиск. В ответ тебе в удобном виде будут сыпаться запрошенные данные, а также URL, где это безобразие было обнаружено. Для работы понадобится авторизационная кука с Гитхаба, которую можешь взять в Chrome Dev Tools.

➜ git_miner.py -q 'filename:wp-config extension:php FTP_HOST in:file ' -m wordpress -c <твоя_кука> -o result.txt

В ответ тебе будут приходить вот такие веселые картинки. И разумеется, далеко не везде данные тестовые.


Кроме логинов и паролей, искать можно еще много чего. Загляни в config/parsers.json. Там найдешь описание модулей — шаблонов для парсинга в GitMiner. Если хочешь парсить что-то иное, просто добавь еще один узел в JSON c нужными параметрами.

➜ cat config/parsers.json
{
  "wordpress":{
    "contains":"root",
    "parameters":{
      "param1":"'FTP_USER',",
      "param2":"'FTP_PASS',",
      "param3":"'FTP_HOST',",
      "param4":"'DB_USER',",
      "param5":"'DB_PASSWORD',"
    },
    "splitparam":"'",
    "splitorder":{
      "order1":"1",
      "order2":"3"
    }
  },
  "senhas":{
    "contains":"senha",
    "parameters":{
    ...

GitMiner отлично работает с третьим Питоном и минимумом зависимостей, а значит, запустится в обычном virtualenv. Но на случай, если запускать чужой код на хосте не хочется совсем, в репе ты найдешь еще и Dockerfile.

INFO

Если тулза будет падать с TypeError: write() argument must be str, not bytes, попробуй убрать из 78-й строки энкод в UTF-8 (.encode("utf-8")): write() тут ждет str.

 

Вспоминаем дефолтные пароли роутеров

Дефолтные пароли на сетевых устройствах встречаются чаще, чем может показаться на первый взгляд. В интернете открытыми портами наружу торчат сотни роутеров не только частных пользователей, но и корпоративных сетей. Если, судя по фингерпринтам, ты набрел на такую железку, попробуй дефолтные пароли — вдруг подойдет? А сами заводские креды поможет найти Passhunt.


Passhunt — это простенький скрипт на Python, который позволяет быстро вывести дефолтные логины и пароли для наиболее популярных устройств: как преимущественно консьюмерских типа Zyxel, D-Link, так и промышленных — Cisco, Check Point и так далее. В базе тулзы 523 вендора, и она действительно может выручить, когда ты в очередной раз соберешься писать в Гугле mikrotik default login password.

В доке к Passhunt указано, что она работает с Python 3.0+, однако в ее зависимости ssl-1.16 есть

➜ print 'looking for', f

что недвусмысленно говорит об обратном и валит pip при установке. Можно долго мучать Python 2.6 (а она работает именно с ним!) для работы модуля ssl, пока не поймешь, что разработчик… просто забыл удалить ssl из requirements.txt при переходе на третью ветку. Просто удали зависимость, сделай pip install -r requirements.txt, и оно заработает.

А вообще, сам Passhunt написан в «лучших» традициях хактулз, так что проще юзать curl ;). В конце концов, Passhunt — это просто обертка, которая парсит https://cirt.net/ с помощью BeautifulSoup.

Продолжение доступно только подписчикам

Вариант 1. Оформи подписку на «Хакер», чтобы читать все материалы на сайте

Подписка позволит тебе в течение указанного срока читать ВСЕ платные материалы сайта. Мы принимаем оплату банковскими картами, электронными деньгами и переводами со счетов мобильных операторов. Подробнее о подписке

Вариант 2. Купи один материал

Заинтересовала информация, но нет возможности оплатить подписку? Тогда этот вариант для тебя! Обрати внимание: этот способ покупки доступен только для материалов, опубликованных более двух месяцев назад.


1 комментарий

  1. Kismet

    15.06.2018 at 03:53

Оставить мнение

Check Also

Злой HID. Делаем и программируем хакерский девайс для HID-атак

Универсальность шины USB создает большую поверхность атаки: исследователи из Университета …