Содержание статьи
Ищем интересные строки в Git-репозиториях
- Разработчик: Danilo Vaz aka UNK
- Страница: GitHub
Боевые логины и пароли в 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.
Вспоминаем дефолтные пароли роутеров
- Разработчик: Viral Maniar
- Страница: GitHub
Дефолтные пароли на сетевых устройствах встречаются чаще, чем может показаться на первый взгляд. В интернете открытыми портами наружу торчат сотни роутеров не только частных пользователей, но и корпоративных сетей. Если, судя по фингерпринтам, ты набрел на такую железку, попробуй дефолтные пароли — вдруг подойдет? А сами заводские креды поможет найти 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. Присоединись к сообществу «Xakep.ru», чтобы читать все материалы на сайте
Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», позволит скачивать выпуски в PDF, отключит рекламу на сайте и увеличит личную накопительную скидку! Подробнее
Вариант 2. Открой один материал
Заинтересовала статья, но нет возможности стать членом клуба «Xakep.ru»? Тогда этот вариант для тебя! Обрати внимание: этот способ подходит только для статей, опубликованных более двух месяцев назад.
Я уже участник «Xakep.ru»