OSINT и разведка
OSINT с нуля: ИИ как второй пилот
Повторяемый процесс OSINT по цели, на которую можно смотреть: область, сбор по этапам, корреляция, а чат NotHoly планирует и подводит итог.
Соберите URL и параметры своей области: gospider, hakrawler, waybackurls и gau, затем фильтр через qsreplace и чат NotHoly.
Когда вы знаете, какие хосты живы, следующий слой это URL: страницы, endpoint-ы, параметры и старые пути. Его строят два вида инструментов. Майнеры архивов читают URL, которые были публичны раньше, не касаясь цели. Краулеры ходят по живому сайту. Вы объединяете оба, оставляете URL с параметрами и отдаёте шумную кучу чату NotHoly, чтобы сгруппировать по endpoint и указать параметры, которые стоит тестировать.
Архивные источники никогда не шлют запрос цели; они читают то, что поисковики и Wayback Machine уже сохранили.
waybackurls читает Wayback Machine.
echo example.com | waybackurls | anew urls.txtgau, от getallurls, тянет из нескольких архивов сразу.
gau --subs example.com | anew urls.txtОба могут вернуть десятки тысяч старых URL, включая пути, которых уже нет в навигации сайта, но которые ещё отвечают на сервере. Это самый богатый пассивный слой, и цели он не стоит ничего.
Краулеры шлют запросы, поэтому запускайте их только по хостам в области и следите за частотой.
gospider идёт по ссылкам, формам и JavaScript.
gospider -S live.txt -d 2 -c 10 --other-source | anew urls.txthakrawler это меньший и более быстрый краулер, читающий список со stdin.
cat live.txt | hakrawler -d 2 | anew urls.txtСначала держите глубину низкой. Глубина два по десяти хостам уже даёт больше, чем прочитать за присест, а глубокий обход большого приложения может послать тысячи запросов, прежде чем вы заметите.
URL со строкой запроса это место, откуда начинается большинство тестов. qsreplace переписывает каждое значение параметра, чтобы вы нормализовали и убрали дубли.
cat urls.txt | grep '=' | qsreplace FUZZ | anew params.txtТеперь params.txt держит по строке на уникальную форму параметра вместо тысяч почти-дублей. gf добавляет сохранённые grep-шаблоны для классов вроде redirect, ssrf и xss.
gf redirect < urls.txt | anew redirect-candidates.txtВставьте выборку из params.txt в чат NotHoly и дайте ему кластеризовать endpoint-ы.
Это шаблоны URL с FUZZ в каждом параметре.
Сгруппируй по endpoint, назови параметры, похожие
на путь, URL, ID или redirect, и скажи, какие пять
тестировать первыми и почему.Модель группирует похожие endpoint-ы и указывает на параметры, достойные более близкого взгляда. Она читает текст, а не сайт, поэтому относитесь к выводу как к списку для чтения, который вы подтверждаете руками своими запросами.
Архивные данные могут включать URL с хостов вне области или от других арендаторов, поэтому фильтруйте к своим корням, прежде чем что-то обходить. Старые URL иногда несут токены или адреса в строке запроса. Считайте их чувствительными, не повторяйте их по живому сайту и держите вне общих заметок.
Архивы держат пути, убранные с сайта, но ещё работающие на сервере, которых краулер текущего сайта никогда не увидит. Два источника пересекаются лишь частично, поэтому запускайте оба и объединяйте через anew.
Снизьте конкурентность и глубину gospider, обходите по одному хосту и держите добычу архивов, которая не касается цели, как основную часть сбора. Шлите живые запросы, только когда есть причина.
Когда URL и параметры нанесены на карту, расширьте пассивную картину через certificate transparency и историю DNS. Назад к перечислению поддоменов.
OSINT и разведка
Повторяемый процесс OSINT по цели, на которую можно смотреть: область, сбор по этапам, корреляция, а чат NotHoly планирует и подводит итог.
OSINT и разведка
Перечислите поддомены своей области: subfinder, amass, findomain и chaos через anew и httpx, а чат NotHoly сортирует список.
OSINT и разведка
crt.sh, логи CT и пассивный DNS, чтобы нанести на карту хосты и инфраструктуру своей области, а чат NotHoly коррелирует записи.