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

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

Не всегда самые дорогие баги, обнаруженные в рамках баг-баунти, — это классика типа 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 удобно проводить поверхностную разведку периметра:

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

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

badKarma

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

badKarma
Serpico

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

Словари

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

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

fuzz.txt
Ска­чать с GitHub

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

SecLists
Ска­чать с GitHub

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Aquatone

https://github.com/michenriksen/aquatone

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

Aquatone
Aquatone

Assetnote

https://github.com/tdr130/assetnote

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

Assetnote
Assetnote

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

Meg, MegPlus и Smith

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

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

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

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

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

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

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

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

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

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

Github-Hunter

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

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

Github-Hunter
Github-Hunter

gitleaks

https://github.com/zricethezav/gitleaks

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

gitleaks
Serpico

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

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

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

MassMap
Ска­чать с GitHub

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

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

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

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

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

dnmasscan
Ска­чать с GitHub

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

dnmasscan

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

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

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

Input Scanner

https://github.com/zseano/InputScanner

Этот написанный на PHP фреймворк c веб-интерфейсом позволяет выявлять input-формы и JS-библиотеки в тестируемом веб-приложении. Например, можно выгрузить из Burp или ZAP список урлов из proxy-history/logger+/etc и прогнать через этот инструмент, предварительно добавив пейлоады. На выходе получаем список URI, которые можем при помощи intruder профаззить для поиска векторов атаки.

Input Scanner
Serpico

Parameth

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

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

Parameth
Parameth

XSStrike

https://github.com/s0md3v/XSStrike

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

XSStrike
Serpico

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

XSStrike
Serpico

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

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

Gobuster
Ска­чать с GitHub

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

Gobuster
Gobuster

GoSpider
Ска­чать с GitHub

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

Поисковики

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

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

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

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

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

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

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

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

arjun
Ска­чать с GitHub

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

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

Internet Wayback Machine

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

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

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

Waybackrobots
Ска­чать с GitHub

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

Waybackrobots
Waybackrobots

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

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

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

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

GitHub

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

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

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

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

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

gdorklinks.sh

GirDorker
Ска­чать с GitHub

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

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

GitDorker
GitDorker

Фреймворки

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

Sudomy
Ска­чать с GitHub

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

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

Reconftw
https://github.com/six2dez/reconftw

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

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

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

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

Sn1per

https://github.com/1N3/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

TIDoS Framework

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

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

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

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

TIDoS Framework
TIDoS Framework

Заключение

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

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

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

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

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

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

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