Лучшие инструменты для поиска уязвимостей сайтов

инструменты для поиска уязвимостей

Не всегда самые дорогие баги, обнаруженные в рамках баг-баунти, — это классика типа XSS/SQL или ошибки логики работы приложения. Утечка логов, доступ к критичным файлам и сервисам без авторизации, сессионные и авторизационные токены, исходные коды и репозитории — все это может быть использовано злоумышленниками для успешных атак, поэтому и платят за такие штуки тоже неплохо. Сегодня расскажу о полезных инструментах инструменты для поиска уязвимостей сайтов.

Еще по теме:

Например, недавно была обнародована утечка авторизационного токена Snapchat для обращения к API. Уязвимость была оценена в 15 000 долларов США, при этом сам багхантер ожидал лишь статуса informative и более скромной награды.

Из своего опыта и опыта коллег могу сказать, что даже за server-status, phpinfo или лог-файлы выплата может достигать 1000 долларов. Хорошо, скажите вы, но ведь искать все это вручную довольно утомительно и малопродуктивно, да и наверняка кто-то другой уже нашел все баги. Представьте себе, далеко не так! Баги встречаются повсеместно, компании обновляют или выкатывают новые сервисы, разработчики забывают отключить журналы отладки или удалить репозитории.

Правила поиска уязвимостей

В первую очередь советую внимательно ознакомиться с правилами программы, в которой вы хотите принять участие: чем больше скоуп, тем шире attack surface и выше возможность что-нибудь найти.

Тем не менее стоит обращать внимание на принадлежность сервисов к тем или иным доменам. Например, программы баг-баунти обычно не охватывают домены, принадлежащие третьей стороне. Впрочем, если есть шанс, что это повлияет на основные сервисы, можете рассчитывать на повышение рейтинга на Hacker1 и денежную компенсацию.

Из российских компаний я бы отметил Mail.Ru Group. Это лояльная команда, которая быстро отвечает и принимает баги. Хотя поставили мне несколько n/a.

Важное напоминание! Когда вы найдете баг, не докручивайте его до финала, если вас не попросят об этом специально. Не нужно дампить базу, дефейсить сайт или каким-то образом влиять на пользователей. Тот, кто принимает у вас баг, обычно и сам в состоянии довести дело до логического конца.

Еще один совет начинающим: не стоит выпрашивать деньги у компаний. Объективные баги они оценят по достоинству, опыта у них, скорее всего, гораздо больше, чем у вас.

Инструменты для поиска уязвимостей

Взлом всегда начинается с OSINT или сбора данных о цели. От качества найденной информации зависит успех в поиске бага. В отли­чие от законного взлома (пен­теста), в программе баг­баун­ти могут учас­твовать тысячи людей, это как вы понимаете, говорит о том, что найти баг не так и просто. В сегодняшней статье я познакомлю вас с лучшими инс­тру­мен­тами, которые помогут собрать информацию о цели, прежде чем начинать взлом.

Основа для поиска уязвимостей

Для более эффективного поиска уязвимостей нам необходимо мониторить изменения на периметре компании — это позволит оперативно обнаруживать новые сервисы или новые версии веб-приложений. Также мониторинг может быть полезен, если у вас есть команда — вы сможете обмениваться информацией при совместной охоте.

Serpico

Первое, что нам понадобится, — система хранения и описания багов. В свое время я использовал Dradis, но сейчас предпочитаю Serpico. Эта программа позволяет заносить баги по классификациям и сразу подтягивает их описание. Все это прекрасно кастомизируется и масштабируется для командной работы.

Фреймворк работает в Linux/Win-среде, есть контейнер Docker для развертывания.

Serpico
Serpico

Страница Serpico на GitHub

Nmap-bootstrap-xsl

Нет, читатель, я не считаю вас мамкиным хакером, который не знает про Nmap. Но мы будем использовать еще и отличный аддон для работы с журналами сканирований nmap-bootstrap-xsl. Он позволяет конвертировать результаты сканирований в HTML с удобным интерфейсом и возможностью выборки. Это бывает очень удобно при сравнении результатов сканирования.

Скачиваем nmap-bootstrap.xsl и запускаем сканирование:

Далее преобразовываем выхлоп скана в HTML:

Nmap-bootstrap-xsl
Nmap-bootstrap-xsl

Страница Nmap-bootstrap-xsl на GitHub

Sparta

В качестве альтернативы предыдущему аддону можно использовать сканер-комбайн Sparta, который входит в большинство популярных security-дистрибутивов.

Эта утилита — обертка для Nmap, Hydra и других популярных инструментов. С помощью Sparta удобно проводить поверхностную разведку периметра:

  • собирать «живые» хосты;
  • брутить популярные сервисы, обнаруженные на периметре, такие как FTP и SSH (см. также Как взломать пароль SSH с помощью Hydra);
  • собирать веб-приложения и скриншоты.
Sparta
Sparta

Страница Sparta на GitHub

badKarma

Еще один комбайн для «обстрела» сетевого периметра. Этот инструмент более продвинутый, чем Sparta, и позволяет объединить несколько действий в одном интерфейсе. Хотя badKarma еще «сырой» продукт, тем не менее он активно развивается и есть надежда, что в скором времени мы получим еще один фреймворк.

Имейте в виду, автоматической установки нет и некоторых утилит для работы badKarma в Kali Linux не хватает.

badKarma
Serpico

Страница badKarma на GitHub

Словари

Пе­ред тем как начинать раз­ведку, сто­ит запас­тись пач­кой доб­ротных сло­варей. От выбора хороше­го сло­варя зависит мно­гое: чем боль­ше будет соб­рано скры­тых парамет­ров, под­доменов, дирек­торий и фай­лов, тем выше шанс обна­ружить какую‑нибудь брешь в безопас­ности.

В интерне­те мож­но най­ти огромное количес­тво сло­варей, но не все они эффектив­ны. Занима­ясь некото­рое вре­мя баг­баун­ти и поп­робовав при этом раз­ные сло­вари, я для себя выделил нес­коль­ко очень инте­рес­ных вари­антов, которые не раз меня выруча­ли и помога­ли обна­ружить мес­та, до которых еще не доходи­ли дру­гие охот­ники за багами.

fuzz.txt

Я всег­да начинаю с fuzz.txt, который содер­жит спи­сок потен­циаль­но опас­ных фай­лов и дирек­торий. Сло­варь прак­тичес­ки каж­дый месяц допол­няет­ся новыми сло­вами. Про­ходит­ся быс­тро, а за счет это­го мож­но ско­рее начать ковырять наход­ки и парал­лель­но пос­тавить переби­рать дру­гие, более объ­емные спис­ки.

Сло­варь содер­жит 4842 сло­ва, но, по опы­ту, имен­но он отлично под­ходит для пер­воначаль­ного иссле­дова­ния веб‑при­ложе­ния.

Ска­чать с GitHub

SecLists

SecLists — это целая кол­лекция сло­варей, которые очень при­годят­ся не толь­ко в баг­баун­ти, но и при пен­тесте. Сло­вари вклю­чают в себя юзер­ней­мы, пароли, парамет­ры URL, под­домены, веб‑шел­лы и мно­гое дру­гое.

Я нас­тоятель­но рекомен­дую пот­ратить нем­ного вре­мени на деталь­ное изу­чение содер­жимого кол­лекции.

поиск уязвимостей
Стра­ница про­екта

Ска­чать с GitHub

Ес­ли в сво­бод­ное от работы вре­мя вы тоже реша­ете машины на Hack The Box, то directory-list-lowercase-2.3-medium.txt прос­то незаме­ним.

Assetnote Wordlists

Еще одна клас­сная под­борка сло­варей для обна­руже­ния раз­ного рода кон­тента и под­доменов. Сло­вари генери­руют­ся 28-го чис­ла каж­дого месяца с помощью commonspeak2 и GitHub Actions.

Утилиты для поиска уязвимостей
Assetnote

По­мимо авто­мати­чес­ки сге­нери­рован­ных под­борок, на сай­те так­же есть сло­вари, соз­данные вруч­ную, с помощью Google BigQuery.

Сайт про­екта Assetnote Wordlists

Генерация своих словарей

Час­тень­ко при­ходит­ся генери­ровать собс­твен­ные сло­вари. Написать скрипт, конеч­но, не сос­тавит тру­да, но зачем изоб­ретать велоси­пед?

Есть мно­го инс­тру­мен­тов для генера­ции сло­варей, но из все­го мно­жес­тва я исполь­зую Pydictor. Тул­за пред­лага­ет боль­шой набор фун­кций, бла­года­ря которым мож­но соз­дать иде­аль­ный сло­варь прак­тичес­ки для любой ситу­ации.

Помимо это­го, Pydictor уме­ет срав­нивать фай­лы, под­счи­тывать час­тоту слов и объ­еди­нять нес­коль­ко сло­варей в один.

Да­вайте раз­берем при­мер. Пред­положим, мы зна­ем, что пароль — модифи­циро­ван­ная вер­сия сло­ва Password и может содер­жать:

  • вмес­то а знак @;
  • вмес­то о0;
  • в кон­це от одно­го до трех чисел.

Ге­нери­рует­ся такой сло­варь с помощью сле­дующей коман­ды:

Здесь <none> озна­чает, что ути­лите не нуж­но делать никаких допол­нитель­ных дей­ствий с под­ста­новоч­ной ком­бинаци­ей.

Генерация словарей для поиска уязвимостей

В кон­це Pydictor выводит крат­кую свод­ку по про­цес­су генера­ции. Не то что­бы очень важ­ная инфа, но чувс­тву­ется забота раз­работ­чика.

Сбор информации

Aquatone

Aquatone — это набор инструментов для разведки по доменным именам. С помощью открытых источников он способен обнаружить поддомены на заданном домене, но можно сделать и полный перебор вариантов.

После обнаружения поддоменов Aquatone может просканировать хосты на обычные веб-порты, при этом HTTP-заголовки, HTML-тела и скриншоты собираются и консолидируются в отчет для удобного анализа поверхности атаки.

Aquatone
Aquatone

https://github.com/michenriksen/aquatone

Assetnote

Кто первый встал — того и тапки. Это правило особенно актуально в багхантинге. Утилита Assetnote помогает уведомлять багхантера о появлении новых поддоменов у отслеживаемой цели. Для этого необходимо добавить API-ключ сервиса Pushover.

Assetnote
Assetnote

При нахождении нового поддомена вы получите уведомление на мобильный телефон. После этого нужно со всех ног бежать к компьютеру и искать баги.

https://github.com/tdr130/assetnote

Meg, MegPlus и Smith

Meg — один из лучших инструментов для поиска ценной информации. Он содержит целый набор для поиска. С Meg за небольшой промежуток времени вы сможете исследовать множество доменов и поддоменов в поисках чего-то определенного (например, server-status).

Meg к тому же умеет работать со списком баг-баунти-программ с h1. Советую ознакомиться с видеопрезентацией автора этого замечательного инструмента.

MegPlus & Smith за авторством EdOverflow — это обертки для оригинального Meg.

Meg+ (к сожалению, deprecated) к основному набору функций Meg добавляет следующие возможности поиска и выявления уязвимостей:

  • поддомены (с использованием Sublist3r);
  • конфиги;
  • интересные строки;
  • open redirect;
  • инъекции CRLF;
  • мисконфиги CORS;
  • path-based XSS;
  • захват доменов и поддоменов.

Утилита Smith позволяет парсить результаты Meg для поиска иголок в стогах разных находок.

https://github.com/tomnomnom/meg
https://github.com/EdOverflow/megplus
https://github.com/EdOverflow/smith

Поиск информации на публичных репозиториях

Зачастую на публичных репозиториях компаний можно найти полезную информацию для получения доступа к тому или иному приложению даже без анализа выложенного кода. Например, выявленный auth-token принес багхантеру 15 000 долларов!

Также хорошей практикой, уже давшей свои плоды, можно назвать парсинг аккаунтов GitHub из профилей LinkedIn сотрудников компаний.

Итак, наша цель — github.com. Если у вас нет учетной записи — заведите. Она поможет как минимум искать по содержимому, а как максимум начнете писать код. Ну или хотя бы форкать.

github для поиска уязвимостей
github

Github-Hunter

Этот инструмент позволяет автоматизировать поиск по репозиториям GitHub: забиваем ключевики и пейлоады для поиска, почтовый аккаунт и адрес, по которому нужно направить результат. После продолжительного поиска получаем .db с найденными репозиториями, файлами и строками кода, в которых нашлись ключевые слова.

Github-Hunter
Github-Hunter

https://github.com/Hell0W0rld0/Github-Hunter

gitleaks

Эта утилита позволяет выявлять критичные данные в конкретном репозитории или у конкретного пользователя. Must have на случай, если знаете, где искать, но не знаете что.

gitleaks
Serpico

https://github.com/zricethezav/gitleaks

Сканеры портов

Прой­тись по всем пор­там в поис­ках инте­рес­ного — милое дело во вре­мя баг­баун­ти. Если получит­ся най­ти никем ранее не иссле­дован­ное при­ложе­ние — еще луч­ше!

При этом не сто­ит забывать, что даже внеш­не безобид­ные пор­ты могут скры­вать что‑то не впол­не ожи­даемое. Я, нап­ример, находил HTTP-сер­вис на 22-м пор­те: туда даже бра­узе­ром зай­ти нель­зя, толь­ко через curl или wget!

Ес­ли ско­уп не осо­бен­но боль­шой, то для ска­на подой­дет Nmap, который точ­но не нуж­дает­ся в пред­став­лении.

Но что делать, если хос­тов очень мно­го? Нес­мотря на то что Nmap — мощ­ный инс­тру­мент, у него есть сущес­твен­ный недос­таток — он мед­ленный. Аль­тер­натива, но не кон­курент — masscan: он быс­трый, но не нас­толь­ко фун­кци­ональ­ный, как Nmap. Что­бы ска­ниро­вание пор­тов было дей­стви­тель­но быс­трым и эффектив­ным, мож­но исполь­зовать оба ска­нера вмес­те. Как? Сей­час покажу!

MassMap

MassMap поз­воля­ет прос­каниро­вать боль­шое количес­тво IP-адре­сов со ско­ростью masscan и тща­тель­ностью Nmap. MassMap написан на Bash, так что для его исполь­зования вам не при­дет­ся ничего ком­пилиро­вать.

Пе­ред началом ска­ниро­вания скрипт про­верит наличие все­го необ­ходимо­го для работы, а при отсутс­твии чего‑либо — авто­мати­чес­ки доус­тановит.

Ал­горитм прост: сна­чала с помощью masscan ска­ниру­ются все 65 535 TCP-пор­тов по передан­ному спис­ку IP-адре­сов. Пос­ле это­го Nmap про­ходит­ся по най­ден­ным откры­тым пор­там (в том чис­ле с исполь­зовани­ем скрип­тов), выдавая уже рас­ширен­ную информа­цию по каж­дому.

Резуль­тат мож­но сох­ранить в удо­бочи­таемом фор­мате.

MassMap
MassMap
Стра­нич­ка с резуль­татами MassMap
Стра­нич­ка с резуль­татами MassMap

Так как скрипт — это фак­тичес­ки обер­тка над ска­нера­ми, вы можете изме­нить любые парамет­ры, добавить какие‑то свои тул­зы, в общем, тво­рить и улуч­шать!

Ска­чать MassMap с GitHub

Dnmasscan

Dnmasscan — это еще один скрипт на Bash для авто­мати­чес­кого резол­винга домен­ных имен и пос­леду­юще­го их ска­ниро­вания с помощью masscan. Пос­коль­ку masscan не при­нима­ет домен­ные име­на, скрипт соз­дает файл, в котором записа­ны IP-адре­са доменов.

dnmasscan

Вы­вод dnmasscan
Вы­вод dnmasscan

Ска­чать Dnmasscan с GitHub

Сканеры уязвимостей

Иногда на поверхности можно найти банальные веб-уязвимости, которые по тем или иным причинам просочились в прод. Это могут быть XSS, разного рода утечки или раскрытие данных. Кажется, что это фантастика, но в жизни бывает всё.

Вот, например, типичная история: нашелся Heartbleed на одном из продакшен-серверов Mail.Ru: приехал необновленный сервер из ремонта и встал в прод.

Все это можно обнаружить с помощью простейших сканеров веб-уязвимостей, поэтому добавим эти инструменты в наш багхантерский сервачок.

Input Scanner

Этот написанный на PHP фреймворк c веб-интерфейсом позволяет выявлять input-формы и JS-библиотеки в тестируемом веб-приложении.

Например, можно выгрузить из Burp или ZAP список урлов из proxy-history/logger+/etc и прогнать через этот инструмент, предварительно добавив пейлоады.

На выходе получаем список URI, которые можем при помощи intruder профаззить для поиска векторов атаки.

Input Scanner
Serpico

https://github.com/zseano/InputScanner

Parameth

Эта утилита поможет забрутить GET- и POST-запросы к веб-приложению для поиска чего-то скрытого от обычных пауков/краулеров, парсящих явные ссылки в исследуемом приложении.

Parameth
Parameth

https://github.com/maK-/parameth

XSStrike

Лютая тулза для поиска разных XSS. Умеет выявлять DOM-based/reflected XSS, краулить веб-приложение, фаззить параметры для байпаса WAF, брутфорсить из файла с пейлоадами, выявлять скрытые параметры и манипулировать значениями HEADER.

XSStrike
Serpico

XSStrike автоматизирует множество рутинной работы. При грамотной настройке обеспечен отличный результат.

XSStrike
Serpico

https://github.com/s0md3v/XSStrike

Файлы, директории, параметры

Под­домены и айпиш­ники соб­раны — самое вре­мя начать их иссле­довать. Тут в основном исполь­зуют­ся вся­кого рода бру­теры, которые ана­лизи­руют отве­ты, что­бы понять, сущес­тву­ет ли иско­мый путь или параметр.

Gobuster

Gobuster — это один из самых мощ­ных и извес­тных инс­тру­мен­тов для поис­ка фай­лов и дирек­торий на сай­тах. Одна­ко, если бы все его спо­соб­ности огра­ничи­вались бру­том путей и срав­нени­ем кодов отве­тов, вы бы и сами могли накидать такой же на питоне минут за пять, а Gobuster уме­ет так­же переби­рать под­домены, име­на вир­туаль­ных хос­тов на целевом веб‑сер­вере, а еще откры­тые хра­нили­ща Amazon S3.

Gobuster
Gobuster

Использование GoBuster

GoSpider

GoSpider — это мно­гофун­кци­ональ­ный веб‑паук, так­же написан­ный на Golang. Ути­лита уме­ет пар­сить robots.txt и sitemap.xml, искать под­домены в отве­те и получать ссыл­ки из Internet Wayback Machine.

Еще GoSpider под­держи­вает парал­лель­ный кра­улинг нес­коль­ких сай­тов, что очень уско­ряет про­цесс сбо­ра информа­ции.

Ска­чать GoSpider с GitHub

Поисковики

Пер­вую свою багу, за которую мне зап­латили, я обна­ружил имен­но бла­года­ря поис­ковикам. Быва­ет, что ни Gobuster, ни GoSpider не дают никаких резуль­татов. Но если тул­зы ничего не находят, это еще не озна­чает, что на сай­те дей­стви­тель­но ничего нет.

В слож­ных слу­чаях на помощь час­то при­ходят поис­ковики: дос­таточ­но прос­то вбить в них site:site.com — и поис­ковый робот вывалит готовый спи­сок. Мно­гие фай­лы и дирек­тории никог­да не были бы обна­руже­ны, если бы не поис­ковики.

Важ­но исполь­зовать сра­зу нес­коль­ко поис­ковиков (да, сущес­тву­ет не толь­ко Google, но и Bing, и Yahoo), потому что каж­дый может показать раз­ные резуль­таты.

Да­вайте пос­мотрим поис­ковую выдачу для сай­та iom.bus.att.com. В Google будет все­го два резуль­тата.

Гуг­л для поиска уязвимостей
Гуг­л для поиска уязвимостей

А теперь тот же самый зап­рос в Bing.

Bing для поиска уязвимостей
Bing для поиска уязвимостей

Как видите, в выдаче уже девять резуль­татов вмес­то двух. Мораль: не забывайте, что, помимо Google, сущес­тву­ют и дру­гие поис­ковики.

Arjun

Аrjun уме­ет находить скры­тые парамет­ры зап­росов для задан­ных эндпо­интов. Вот некото­рые осо­бен­ности:

  • под­держи­вает зап­росы GET, POST, POST-JSON, POST-XML;
  • эк­спор­тиру­ет резуль­таты в Burp Suite, тек­сто­вые или JSON-фай­лы;
  • ав­томати­чес­ки обра­баты­вает rate limits и тайм‑ауты.
Arjun
Arjun

Ска­чать Arjun с GitHub

Internet Wayback Machine

Wayback Machine — это гро­мад­ный архив веб‑стра­ниц, содер­жащий более 330 мил­лиар­дов сох­ранен­ных копий, и все они про­индекси­рова­ны для удоб­ного поис­ка. Про­ект сох­раня­ет исто­ричес­кие вер­сии, бла­года­ря чему вы можете вер­нуть­ся на мно­го лет назад и пос­мотреть, как выг­лядит инте­ресу­ющий вас сайт.

Чем это может быть полез­но для охот­ника за багами? Нап­ример, быва­ет любопыт­но заг­лянуть в ста­рые фай­лы robots.txt. В нем ука­зыва­ются эндпо­инты, которые не дол­жны индекси­ровать поис­ковики, и со вре­менем этот спи­сок меня­ется.

Wayback Machine все это потихонь­ку архи­виру­ет, и ста­рые эндпо­инты впол­не могут ока­зать­ся рабочи­ми, так что было бы прес­тупле­нием не вос­поль­зовать­ся такой воз­можностью получить от самих хозя­ев сай­та спи­сок заведо­мо инте­рес­ных локаций!

Waybackrobots

Waybackrobots — это удоб­ный и очень прос­той скрипт, который авто­мати­зиру­ет про­цесс получе­ния ста­рых вер­сий robots.txt. Обя­затель­ный параметр у него все­го один: -d, он ука­зыва­ет домен, под который нуж­но копать.

Waybackrobots
Waybackrobots

Ска­чать Waybackrobots с GitHub

wbk.go

У Wayback Machine, сре­ди про­чего, есть спи­сок всех URL, которые он собирал для домена. Нап­ример, вы можете получить спи­сок всех урлов, которые машина заар­хивиро­вала для tesla.com.

Скрипт wbk.go авто­мати­чес­ки извле­чет урлы, заар­хивиро­ван­ные в Wayback Machine, для нуж­ного вам домена.

Де­монс­тра­ция работы wbk.go
Де­монс­тра­ция работы

Ска­чать wbk.go с GitHub

GitHub

GitHub — это отрасле­вой стан­дарт для кон­тро­ля вер­сий и сов­мес­тной работы над про­ектом. Мил­лионы раз­работ­чиков нес­коль­ко раз за один день вно­сят изме­нения в код на GitHub, и далеко не всег­да они смот­рят, что имен­но заг­ружа­ют. Быва­ет, что они слу­чай­но забыва­ют уда­лить учет­ные дан­ные — логины, пароли и самые раз­ные токены.

Вы навер­няка не раз стал­кивал­ись с Google dorks. В GitHub тоже есть свои дор­ки, которые мож­но исполь­зовать для поис­ка вкус­ных дан­ных, вро­де API-клю­чей.

Про Google Dorks мы рассказывали в статье «Как использовать Google Dorks»

gdorklinks.sh

Прос­той скрипт, который генери­рует ссыл­ки поис­ка по GitHub с дор­ками. В качес­тве парамет­ра необ­ходимо ука­зать имя или сайт ком­пании. На выходе получаем готовые ссыл­ки, которые прос­то необ­ходимо вста­вить в бра­узер и изу­чить получен­ную информа­цию.

Ска­чать gdorklinks.sh с GitHub Gist

GirDorker

GitDorker не прос­то генери­рует ссыл­ки, а сра­зу ищет информа­цию, исполь­зуя GitHub Search API и обширный спи­сок дор­ков, которых на дан­ный момент 513. Этот инс­тру­мент мож­но наз­вать более прод­винутым вари­антом пре­дыду­щего скрип­та.

Для работы пот­ребу­ется завес­ти GitHub Personal Access Token, а луч­ше минимум два таких токена. Это свя­зано с тем, что поис­ковый API огра­ничен 30 зап­росами в минуту: если токен все­го один, очень быс­тро упремся в лимиты.

GitDorker
GitDorker

Ска­чать GirDorker с GitHub

Фреймворки

Ког­да дол­гое вре­мя занима­ешь­ся баг­баун­ти или пен­тестом, раз­ведка начина­ет прев­ращать­ся в рутину. Тут неволь­но задума­ешь­ся об авто­мати­зации. Ниже мы погово­рим о фрей­мвор­ках, которые прак­тичес­ки пол­ностью авто­мати­зиру­ют раз­ведку.

Sudomy

Sudomy — это без пре­уве­личе­ния мощ­ный Bash-скрипт. Он вклю­чает в себя мно­жес­тво инс­тру­мен­тов для ана­лиза, перебо­ра, поис­ка под­доменов. Сбор информа­ции может делать пас­сивно или активно.

Для активно­го метода скрипт исполь­зует gobuster из‑за его высокой ско­рос­ти брут­форса. При бру­те под­доменов при­меня­ется сло­варь из SecLists (Discover/DNS), который содер­жит око­ло трех мил­лионов записей.

В пас­сивном методе информа­ция собира­ется из 22 источни­ков, в том чис­ле Censys, SpySe, DNSdumpster и VirusTotal.

Что­бы пол­ностью разоб­рать Sudomy, понадо­бит­ся еще одна статья, поэто­му я прос­то ска­жу, что он уме­ет:

  • про­веря­ет, воз­можно ли лег­ко зах­ватить под­домен;
  • иден­тифици­рует тех­нологии, исполь­зуемые сай­том;
  • об­наружи­вает пор­ты, урлы, заголов­ки, дли­ну содер­жимого, код сос­тояния HTTP;
  • про­веря­ет при­над­лежность IP к Cloudflare;
  • мо­жет отправ­лять уве­дом­ления в Slack;
  • ска­ниру­ет пор­ты с соб­ранных IP-адре­сов, под­доменов, вир­туаль­ных хос­тов.

Для при­мера давайте прос­то запус­тим скрипт с парамет­рами --all (запус­тить все перечис­ления) и  --html (сфор­мировать отчет в HTML).

Пос­мотрим, что он най­дет, нап­ример, для  hackerone.com.

Sudomy
Sudomy
Ре­зуль­таты Sudomy
Ре­зуль­таты Sudomy

Прак­тичес­ки всю най­ден­ную информа­цию мож­но пос­мотреть в сге­нери­рован­ном скрип­том отче­те с хорошей струк­турой и очень дру­желюб­ным интерфей­сом.

Ска­чать Sudomy с GitHub

Reconftw

Reconftw — это очень боль­шой скрипт, который авто­мати­зиру­ет бук­валь­но все: от раз­ведки до поис­ка уяз­вимос­тей. Он воб­рал в себя луч­шие тул­зы, которы­ми поль­зуют­ся охот­ники за багами, вклю­чая опи­сан­ные в статье.

Вот лишь малая часть того, что он уме­ет:

  • ис­кать URL на сай­те;
  • со­бирать информа­цию о под­доменах;
  • ис­кать откры­тые бакеты S3 и дам­пить их содер­жимое;
  • про­верять наличие XSS, SSRF, CRLF, LFI, SQLi и дру­гих уяз­вимос­тей;
  • про­верять, есть ли на сай­те WAF;
  • от­прав­лять опо­веще­ния в Slack, Discord и Telegram;
  • ис­кать парамет­ры URL.

https://github.com/six2dez/reconftw

Комбайны для автоматизации атаки

Напоследок — два убер-комбайна, в которые входит множество инструментов для автоматизированного выявления и атаки целей, начиная от DNS-рекона, скана поддоменов и заканчивая выявлением веб-уязвимостей, обходом WAF и брутфорсом всего, что только возможно.

Но хочу сразу предупредить, что бездумное использование таких монстров — это как обезьяна с пулеметом.

Sn1per

Комбайн авторства небезызвестного 1N3 — автора BruteX, BlackWidow, Findsploit и собирателя огромного количества пейлоадов для Intruder Burp Suite. Существует в виде Community Edition (free) и версии Pro.

Что умеет:

  • автоматический базовый сбор информации (например, whois, ping, DNS);
  • автоматический запуск Google hacking запросов против заданного домена;
  • автоматическое перечисление открытых портов;
  • автоматический перебор поддоменов и информации о DNS;
  • автоматический запуск скриптов Nmap на определенные открытые порты;
  • автоматическое сканирование веб-приложений на базовые уязвимости;
  • автоматический перебор всех открытых сервисов.

Sn1per при установке на обычный дистрибутив вроде Debian скачивает больше гигабайта дополнительных утилит. И даже в Kali, где многое из нужных вещей уже есть, инсталляция занимает немало времени.

Sn1per
Sn1per

Sn1per может работать в нескольких режимах — от OSSINT/RECON до ковровых бомбардировок целей в режиме Airstrike/Nuke (наподобие HailMary в Armitage).

Sn1per
Serpico

https://github.com/1N3/Sn1per

TIDoS Framework

TIDoS Framework — это комплексная среда аудита веб-приложений. Очень гибкий фреймворк, где вам достаточно выбрать и использовать модули типа Metasploit. Имеет на борту множество модулей — от разведки и сбора информации до эксплуатации веб-уязвимостей.

TIDoS имеет пять основных фаз, разделенных на 14 подфаз, которые, в свою очередь, состоят из 108 модулей.

Инструмент очень навороченный, требует тюнинга перед использованием.

TIDoS Framework
TIDoS Framework

https://github.com/theInfectedDrake/TIDoS-Framework

Заключение

Автоматизация — это хорошо, но голову тоже необходимо включать. Максимальную отдачу даст вдумчивое использование утилит, кастомизированная подборка словарей и фазз-листов для поиска, а также систематизированный подход к поиску багов. И результат не заставит себя ждать.

Инструменты для поиска уязвимостей
Инструменты для поиска уязвимостей

Ес­тес­твен­но, в статье рас­смот­рены далеко не все инс­тру­мен­ты для рекона. Эти, на мой взгляд, самые год­ные из тех, с которы­ми работаю я, но у вас могут быть луч­шие инс­тру­мен­ты. Если вам это­го мало — заг­ляните в репози­тории KingOfBugbounty и nahamsec.

Не стес­няйтесь делить­ся опы­том в ком­мента­риях, а если готовы написать целую статью, то вы зна­ете, что делать! Удачной охоты и богатых трофеев!

ВКонтакте
OK
Telegram
WhatsApp
Viber

3 комментария

  1. -

    Во время чтения в башке крутилась одна фраза: За Вами уже выехали ;)

  2. Идеолог

    Хорошая подборка. Спасибо!

  3. Александр Тюрин

    Классная подборка. Спасибо.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *