OSINT для ленивых. Часть 18: Юзаем Wayback с пользой для себя и общества

от автора

Среди всех OSINT инструментов немного особняком стоят те, которые относятся к инструментам командной строки и ковыряют потроха веб-ресурсов, их прошлое. Многие слышали про Wayback Machine (archive.org), но вот как извлечь из него практическую пользу, особенно в смысле багбаунти знают не все. А кто и знает, то особо не распространяется

Еще бы, ведь с старых копиях ресурсов периодически всплывают остаются:
— Старые API-эндпойнты.
— Админ-панели, тестовые страницы (/admin, /test, /debug).
— Файлы конфигурации, бэкапы (.bak, .sql, .old, .git).
— JavaScript-файлы с чувствительными параметрами или hardcoded ключами.
— Устаревшие версии, где исправления уязвимостей еще не пофиксили.
Лчевидный плюс такого подхода состоит в том, что это — пассивный поиск и риск обнаружения минимален.

Чтобы особо не перенапрягаться, разберем 3 инструмента, которые обращаются в архивным копиям ресурсов: gau, waybackurls и waymore.

Waybackurls

Waybackurls — консольная утилита на Go (автор — tomnomnom), которая обращается к CDX API Wayback Machine (archive.org) и выгружает список всех URL, когда-либо проиндексированных для указанного домена, включая поддомены. Важный момент: сам инструмент ничего не сканирует и не обращается к целевому сайту напрямую — он просто вытаскивает историю уже сделанных снимков сайта из публичного архива. То есть, никто и никогда не увидит, что мы засунули нос в этот ресурс. Но есть и минус. Если в вебархиве нет снимка сайта за какой-либо период, то мы туда не пролезем.

Waybackurls — стандартный инструмент разведки (recon) в bug bounty и пентесте. Он находит «забытые» страницы, API-эндпоинты и пути, которые больше не видны в текущей версии сайта, но когда-то были проиндексированы. При этом, он вскрывает параметры в URL (?id=?redirect=?file= и т.п.) — их потом проверяют на IDOR, open redirect, LFI, XSS и тому подобное.

Следует понимать, что сам по себе список URL ничего не «ломает» — с этим списком потом еще надо будет работать.

Для работы с waybackurls нужен установленный Go (понятно, он же на нем написан):

go install github.com/tomnomnom/waybackurls@latest

Инструмент сам по себе неплох, но он работает только в Wayback Machine.

Если мы хотим охватить больше источников (не только Wayback Machine, но и Common Crawl, AlienVault OTX, URLScan), то есть родственный инструмент gau (github.com/lc/gau) — работает он похожим образом, но ныряет в несколько архивов сразу.

Gau (getallurls)

Это тоже консольный инструмент, написанный на Go. Автор — lc. Сильно смахивает на waybackurls, но собирает URL сразу из четырех источников вместо одного: Wayback Machine (archive.org), Common Crawl, AlienVault OTX (Open Threat Exchange) и URLScan. За счёт этого выборка получается несколько шире.
Ввиду того, что gau ныряет только в публичные архивы, а не в сам целевой сайт, то юридических рисков со стороны проверяемого ресурса тут нет. Но нужно помнить, что использовать найденные URL для дальнейших проверок стоит только на доменах, где у есть разрешение со стороны владельца (свой scope в bug bounty, договор на пентест и т.п.).
Установка:

go install github.com/lc/gau/v2/cmd/gau@latest

Вот тут: /v2/cmd/gau в пути — это не опечатка, модуль так организован.

Можно, конечно, собрать из исходников (git clone + go build), или скачать готовый бинарник со страницы Releases, или же через Docker.

Чем отличается от waybackurls? 
Тут домен можно передать и через stdin, и просто аргументом:

printf "example.com" | gaugau example.com google.com          # сразу несколько доменовcat domains.txt | gau --threads 5   # список доменов + многопоточностьgau --o urls.txt example.com        # сохранить в файл

Флаги тут побогаче, чем у waybackurls.

Отфильтровываем результаты:

  • --blacklist — исключить расширения (--blacklist png,jpg,gif)

  • --fc — исключить по HTTP-статусу (--fc 404,302)

  • --mc — оставить только указанные HTTP-статусы (--mc 200,500)

  • --ft / --mt — исключить/оставить по MIME-типу

  • --fp — схлопнуть URL, отличающиеся только значениями параметров (убирает дубли вида ?id=1?id=2)

Диапазон и источники:

  • --from / --to — временной диапазон архивации (формат YYYYMM)

  • --providers — выбрать конкретные источники (wayback,commoncrawl,otx,urlscan)

  • --subs — включить поддомены

Прочее:

  • --json — вывод в JSON

  • --threads — число потоков

  • --proxy--timeout--retries — сетевые настройки

  • --config — свой конфиг-файл (по умолчанию ~/.gau.toml)

Полный список — gau -h.

Если бегло сравнить, то waybackurls — отличный «легкий» инструмент. Он идеален, когда нужно быстро взять только Wayback или для скриптов/пайплайнов. Многие до сих пор начинают именно с него. Gau — следующий шаг в эволюции. Это — более профессиональный инструмент Gau дает больше результатов и лучше контроль, а waybackurls — простоту.
Но не ими одними…

Waymore

Для любителей Python есть waymore. Еще один инструмент для расширенного пассивного сбора URL из архивов. Он создан @xnl_h4ck3r и считается одним из лучших в категории «wayback recon» для багбаунти и OSINT.
В отличие от waybackurls (только Wayback) и gau (Wayback + Common Crawl + OTX + URLScan), waymore дает большее покрытие и дополнительные опции: — скачивает полные «archived responses» (содержимое страниц из Wayback, возможность поиска дополнительных ссылок, комментариев разработчиков, секретов (через xnLinkFinder, grep, trufflehog и т.п.), он лучше обрабатывает источники и дает больше ссылок, чем другие инструменты.

Он работает с: 
— Wayback Machine
— Common Crawl
— AlienVault OTX
— URLScan
— VirusTotal
— GhostArchive + Intelligence X (в новых версиях).
В принципе, — неплохо, но работает он медленнее, чем gay и waybackurls. Его сильные стороны — покрытие и возможность скачивания результатов.
Больше тут: GitHub: [https://github.com/xnl-h4ck3r/waymore](https://github.com/xnl-h4ck3r/waymore) — там актуальная документация и CHANGELOG.

Самые продвинутые осинтеры используют все, но если нам нужно по быстрому, то используем waybackurls или/и gau. Если — максимальная выдача, результат и анализ архивного контента, то — waymore.
Но в любом случае, со всеми тремя инструментами нужно работать. Оно того стоит.

Мы в Telegram: https://t.me/+jAjZcfEdOx42NzRi

ссылка на оригинал статьи https://habr.com/ru/articles/1081622/