Среди всех 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" | gau
gau 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 — там актуальная документация и CHANGELOG.

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

Но в любом случае, со всеми тремя инструментами нужно работать. Оно того стоит.

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