Сегодняшний 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.

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

Материалы из последних выпусков можно покупать отдельно только через два месяца после публикации. Чтобы продолжить чтение, необходимо купить подписку.

Подпишись на «Хакер» по выгодной цене!

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

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

Check Also

Заметаем следы. Как уничтожить данные быстро и безвозвратно

Уничтожать улики и заметать следы — удел не самых законопослушных граждан. Мы же сегодня п…