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" | 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: [https://github.com/xnl-h4ck3r/waymore](https://github.com/xnl-h4ck3r/waymore) — там актуальная документация и CHANGELOG.
Самые продвинутые осинтеры используют все, но если нам нужно по быстрому, то используем waybackurls или/и gau. Если — максимальная выдача, результат и анализ архивного контента, то - waymore.
Но в любом случае, со всеми тремя инструментами нужно работать. Оно того стоит.
KioskNews shows a cleaned-up reading view extracted from the publisher’s page — the original always lives on their site, not ours.