В этой статье поделюсь с вами целым багажом утилит разной направленности и некоторыми ценными сведениями о разведке, как об одном из самых важных аспектов, которыми должен овладеть охотник за баунти.
Почему важна разведка?
Одна из первых вещей, на которую мне нужно обратить внимание, заключается в том, что многие новички в мире Bug Bounty часто упускают из виду разведку.
Допустим, вы присоединились к какой-либо программе поиска ошибок и начали сканировать предоставленную вам область. Большинство новичков, как правило, проходят этап рекогносцировки как можно быстрее и занимают позицию типа: “Давайте начнем взламывать; это так скучно”.
Если вы действительно хотите стать опытным охотником за жуками, последнее, что вам следует сделать, - это пропустить этап разведки и с головой погрузиться в атакующие системы.
Обнаружения любого поддомена не всегда достаточно. Постоянное стремление найти больше расширяет область применения, облегчая выявление потенциально менее защищенных зон атаки в целевой системе.
Вы можете думать об этом как об увеличении ваших шансов и снижении вероятности неудачи почти до нуля. Изучение всех поддоменов компании, для которой вы проводите поиск ошибок, доменов приобретенных компаний и диапазонов их IP-адресов, а также их записей MX, TXT и A-типа предоставит вам дорожную карту, которой необходимо следовать.
Возможно, из-за голливудского эффекта многие люди считают, что будут сталкиваться с уязвимостью в системе безопасности каждые пять минут без каких-либо предварительных исследований.
Иногда, в зависимости от области применения, количество обнаруженных вами ссылок может достигать десятков тысяч или даже сотен тысяч, и сканирование каждой из них в отдельности для выявления большинства потенциальных уязвимостей в системе безопасности может занять месяцы. Причина, по которой я делаю такого рода напоминание перед началом работы, заключается в том, что новички склонны недооценивать свою работу и думать, что они невероятные хакеры. Вместо этого взгляните в лицо реальности, а затем старайтесь делать все дисциплинированно, следуя методологии.
Теперь, когда длинная тирада, которую я здесь расписал, закончена, перейдём к тому, как проводить разведку.
MindMap - необходимость вести записи
Мой первый совет вам - извлеките исходные данные из всех полученных вами данных и запишите их в таблицу.
Verbum volat, scriptura manet, sed minimum scripturae manet
Да, некоторые из вас, возможно, уже знают об этой фразе. “Sed minimum scripturae manet” переводится с английского как “но сохранилась лишь небольшая часть письменности”.
Да, именно поэтому важно перенести ваши записанные данные в таблицу, которую вы можете просматривать и использовать для ежедневного управления своими задачами, делая заметки. Это будет гораздо удобнее для вас.
Для этого вы можете использовать программу создания блок-схем, например Draw.io.
Моя рекомендация - создать свою собственную интеллект карту с помощью xmind.app и продолжать свою работу таким образом. Я не советую использовать чью-либо интеллект карту. Способ, которым вы мысленно структурируете свою работу и исследования, постоянно меняется, и иногда используемая вами методология может варьироваться в зависимости от того, кто является вашей целью.
Итак, вместо того, чтобы проверять подготовленный кем-то другой контрольный список, лучше создать свои собственные контрольные списки и продвигаться вперед, проверяя их. Совершение ошибок в этом процессе естественно и дает вам сложный, но полезный опыт обучения.
Инструменты, полезные во время разведки
Поиск информации о доменном имени:
https://bgp.he.net/ - Он предоставляет информацию об IP-адресах, сетях и подключениях и использует протокол BGP. Он используется для маршрутизации интернет-трафика и анализа безопасности.
https://whois.arin.net/ - Подтверждение интервалов IP-диапазона, которые вы не смогли найти самостоятельно. Это также мощный инструмент сам по себе.
https://linux.die.net/man/1/nslookup - инструмент, который предоставляет вам IP-адреса, записи DNS и другие сведения о целевом домене, помогая вам понять инфраструктуру целевого домена.
http://www.yougetsignal.com/ - позволяет вам проводить различные исследования сетей и IP-адресов. Это поможет вам как в сканировании портов, определении IP-адресов, проверки записей DNS, проверки сервера электронной почты, определения местоположения веб-сайта, проверки SSL-сертификата и многого другого.
https://dnsdumpster.com/ - позволяет пользователям искать и анализировать старые записи DNS, поддомены, изменения DNS и предоставляет информацию о потенциальных проблемах безопасности.
https://searchdns.netcraft.com/ - позволяет пользователям запрашивать и получать информацию о DNS, такую как записи DNS, IP-адреса и регистрационные данные домена для определенного доменного имени или имени хоста.
Сканирование
https://nmap.org/ - инструмент для сканирования открытых портов и запущенных служб в сети. Он также обнаруживает версии служб и другую сетевую информацию.
Домены и поддомены
gobuster: https://github.com/OJ/gobuster
sublist3r: https://github.com/aboul3la/Sublist3r
Amass: https://github.com/owasp-amass/amass/
dnsrecon: https://github.com/darkoperator/dnsrecon
Knockpy: https://github.com/guelfoweb/knock
SubBrute: https://github.com/TheRook/subbrute
Проверка сертификатов
https://crt.sh/ - важный ресурс для экспертов по кибербезопасности и веб-администраторов. Он используется для мониторинга безопасности веб-сайта, понимания процессов сертификации и обнаружения критически важной сетевой информации, такой как поддомены.
https://github.com/drwetter/testssl.sh - инструмент командной строки, используемый для проверки безопасности SSL/ TLS и сертификатов веб-сервера.
https://github.com/nabla-c0d3/sslyze - инструмент, используемый для анализа и оценки конфигураций безопасности SSL/TLS компьютерных систем и серверов.
Этот инструмент сканирует серверные сертификаты SSL/TLS, поддерживаемые протоколы шифрования, цепочки сертификатов, уязвимости в системе безопасности и другие критически важные параметры безопасности, предоставляя экспертам по безопасности подробную информацию о сервера.
OSINT (Open Source Intelligence)
https://archive.org/web/ - Это сервис архиватор, который сохраняет и делает доступной историю Интернета. Этот сервис используется для сбора истории и содержимого веб-сайтов.
Пользователи могут изучать прошлое веб-сайтов, получать доступ к старому контенту, восстанавливать потерянные веб-страницы и проводить исследования.
https://www.exploit-db.com/ - Пользователи могут найти здесь информацию об уязвимостях безопасности, доступных для текущего и более старых программ и систем. Они могут получить доступ к модулям Metasploit и кодам проверки концепции (PoC), которые определяют, как можно использовать уязвимости.
https://github.com/lanmaster53/recon-ng - предоставляет возможность собирать информацию из различных источников, выполнять целевой анализ, использовать данные (OSINT) и автоматизировать процессы сбора информации для тестирования безопасности.
https://github.com/laramies/theHarvester - упрощает процесс сбора информации из различных источников и выполнения целевого анализа.
Кроме того, его модульная структура позволяет пользователям создавать настраиваемые и расширяемые рабочие процессы. Это помогает лучше понять цели и более эффективно проводить тесты.
Инструменты автоматизации поиска на Github
Gitrob: https://github.com/michenriksen/gitrob
Git-all-secrets: https://github.com/anshumanbh/git-all-secrets
truffleHog: https://github.com/dxa4481/truffleHog.git
Git-secrets: https://github.com/awslabs/git-secrets
Repo-supervisor: https://github.com/auth0/repo-supervisor
Get URLs:
GAU (Get All Urls): https://github.com/lc/gau
Crawley: https://github.com/s0rg/crawley
GoSpider: https://github.com/jaeles-project/gospider
Zscanner: https://github.com/zseano/InputScanner
Find JS files:
JSScanner: https://github.com/tampe125/jscanner
JS-Scan: https://github.com/zseano/JS-Scan
hakrawler: https://github.com/hakluke/hakrawler
gf: https://github.com/tomnomnom/gf
LinkFinder: https://github.com/GerbenJavado/LinkFinder
Поиск APEX доменов
Эта часть на самом деле варьируется в зависимости от определенной цели. Одна из вещей, которую вам необходимо определить для тщательного анализа, - это домены apex.
Это могут быть компании, которые компания приобрела или с которыми у нее высокий уровень партнерства. Причина их идентификации заключается в том, что компания не может мгновенно обнаружить и обезопасить все меры безопасности недавно приобретенной компании.
По этой причине обнаружение доменов apex, которые связаны с компанией и могут входить в сферу действия, имеет решающее значение для теста на проникновение. Веб-сайты, которые я приведу здесь в качестве примеров, могут отличаться, но все они являются веб-сайтами, с которых вы можете пассивно собирать информацию о компании.
Crunchbase: https://www.crunchbase.com/
Dealroom: https://dealroom.co/
ExplodingTopics: https://explodingtopics.com/
Techcrunch: https://techcrunch.com/