Перейти к содержимому

Osint: как использовать wayback machine и архивы с waybackurls, gau и waymore

OSINT для ленивых. Часть 18: как извлечь пользу из Wayback Machine и других архивов

Среди инструментов OSINT есть отдельная категория утилит командной строки, которые помогают изучать не только текущее состояние веб-ресурсов, но и их прошлое. Один из самых известных источников такой информации - Wayback Machine. Однако вручную просматривать архивные копии неудобно, поэтому для автоматизации используют специальные программы: `waybackurls`, `gau` и `waymore`.

Архивные данные особенно полезны во время легального тестирования безопасности, анализа собственного проекта и восстановления утраченной информации. В старых снимках сайтов иногда сохраняются:

- прежние API-эндпойнты;
- административные, тестовые и отладочные страницы;
- резервные копии с расширениями `.bak`, `.old`, `.sql`;
- забытые каталоги и служебные файлы;
- старые JavaScript-файлы с конфигурационными параметрами;
- устаревшие версии компонентов;
- URL с параметрами `id`, `file`, `redirect`, `url` и другими потенциально важными значениями.

Главное преимущество такого подхода - пассивный характер сбора данных. Утилита обращается не к самому сайту, а к публичным архивам, где уже сохранены результаты предыдущего сканирования или посещения. Это снижает нагрузку на инфраструктуру и вероятность обнаружения со стороны целевого ресурса. При этом архив не гарантирует полноту: если нужная страница никогда не попадала в индекс, получить её таким способом не получится.

Waybackurls: простой доступ к истории домена

`waybackurls` - консольная утилита на Go, созданная tomnomnom. Она обращается к CDX API Wayback Machine и получает перечень URL, которые когда-либо индексировались для указанного домена. В зависимости от параметров можно учитывать и связанные поддомены.

Инструмент не выполняет сканирование и не отправляет запросы на проверяемый сайт. Его задача ограничивается извлечением уже известных архиву адресов. Поэтому результат представляет собой список исторических URL, а не готовый отчёт об уязвимостях.

Практическая ценность `waybackurls` заключается в поиске элементов, исчезнувших из актуальной версии сайта. Это могут быть старые панели управления, удалённые разделы, прежние точки API, тестовые маршруты и файлы, которые разработчики забыли убрать. Отдельный интерес представляют параметры запросов: они помогают понять, какие функции существовали раньше и какие входные данные принимало приложение.

Сам список адресов ничего не доказывает. Найденный URL может быть недоступен, перенаправлять на другую страницу или давно перестать иметь отношение к действующей инфраструктуре. Дальнейшая проверка допустима только в пределах собственных систем, согласованного пентеста или программы bug bounty.

Для работы с `waybackurls` требуется установленный Go, поскольку программа написана на этом языке. После установки инструмент можно включать в конвейеры обработки данных: сохранять результаты в файл, удалять дубликаты, фильтровать расширения и передавать адреса другим средствам анализа.

Gau: несколько источников вместо одного

Если Wayback Machine недостаточно, используют `gau` - GetAllURLs. Это также консольная утилита на Go, разработанная lc. В отличие от `waybackurls`, она объединяет сведения сразу из нескольких публичных источников:

- Wayback Machine;
- Common Crawl;
- AlienVault OTX;
- URLScan.

Благодаря этому итоговая выборка часто оказывается шире. Разные сервисы индексируют интернет в разное время и по разным правилам, поэтому URL, отсутствующий в одном источнике, может обнаружиться в другом.

`gau` можно запускать, передавая домен аргументом или через стандартный ввод. Это удобно для автоматизированных сценариев, когда список доменов поступает из другого инструмента.

Одно из ключевых преимуществ программы - развитая система фильтров. Например, можно:

- исключить изображения и другие ненужные расширения через `--blacklist`;
- убрать ответы с определёнными HTTP-кодами с помощью `--fc`;
- оставить только выбранные статусы через `--mc`;
- фильтровать результаты по MIME-типу;
- схлопнуть URL, отличающиеся лишь значениями параметров, используя `--fp`.

Для работы с архивами по времени предусмотрены параметры `--from` и `--to`. Они позволяют задать диапазон в формате `YYYYMM`. Флаг `--providers` ограничивает поиск конкретными источниками, а `--subs` добавляет в обработку поддомены.

Для интеграции с другими программами пригоден формат JSON, включаемый параметром `--json`. Также доступны настройки количества потоков, прокси, тайм-аутов, повторных попыток и пользовательского конфигурационного файла. Полный перечень возможностей можно посмотреть командой `gau -h`.

Установка обычно выполняется через Go-модуль из каталога `/v2/cmd/gau`. Также программу можно собрать из исходников, скачать готовый бинарный файл или запустить в контейнере. Конкретный вариант зависит от операционной системы и того, как планируется использовать инструмент.

Waymore: расширенный сбор архивных данных

Третьим полезным вариантом является `waymore`. Его задача - получить максимум информации из доступных архивных источников и дополнить обычный список URL сведениями о сохранённых ответах и файлах.

В практической работе это важно по нескольким причинам. Архив может содержать не только адрес страницы, но и сам объект, который когда-то был доступен по этому адресу. В результате можно обнаружить старые скрипты, документы, таблицы, резервные файлы и другие артефакты, отсутствующие в актуальной структуре сайта.

`waymore` особенно удобен, когда требуется не просто собрать адреса, а организовать более глубокий анализ исторических данных. Однако объём результатов быстро растёт, поэтому перед началом работы стоит заранее определить временные рамки, типы файлов и интересующие поддомены.

Что выбрать для конкретной задачи

`waybackurls` подходит для быстрого и минималистичного сбора URL исключительно из Wayback Machine. Он прост, хорошо работает в пайплайнах и не перегружен дополнительными настройками.

`gau` будет предпочтительнее, если важна широта охвата. Несколько источников увеличивают вероятность найти старые маршруты и версии страниц, а фильтры позволяют привести большой массив данных к удобному виду.

`waymore` стоит использовать при необходимости получить больше архивных объектов и провести подробный анализ содержимого. Это более обстоятельный вариант, требующий дополнительного места на диске и времени на обработку.

На практике инструменты можно применять последовательно: сначала собрать адреса несколькими источниками, затем удалить дубликаты, сгруппировать результаты по расширениям и параметрам, а после этого вручную изучить наиболее интересные записи.

Как грамотно обрабатывать результаты

Сырые архивные данные почти всегда содержат много повторов. Один и тот же URL может встречаться в десятках снимков, отличаясь только датой или значением параметра. Поэтому первым этапом стоит нормализация: удаление дублей, сортировка и разделение адресов на категории.

Отдельно полезно выделять:

- административные и служебные пути;
- API-адреса;
- URL с параметрами перенаправления;
- файлы конфигурации и резервные копии;
- JavaScript-код;
- документы и архивы;
- домены и поддомены, которые больше не упоминаются на основном сайте.

При анализе JavaScript-файлов следует обращать внимание не только на явно видимые ключи, но и на названия внутренних сервисов, маршруты API, идентификаторы окружений и ссылки на тестовую инфраструктуру. Даже если конкретный секрет уже недействителен, такая информация может раскрыть архитектуру проекта.

Полезно сравнивать исторические версии между собой. Это позволяет понять, какие разделы удалялись, какие функции переносились, когда менялась структура API и не осталось ли старых компонентов на других поддоменах.

Безопасность и правовые ограничения

Пассивный сбор из архивов не означает автоматического разрешения на дальнейшие действия. Сам факт того, что адрес найден в публичном источнике, не даёт права проверять его на действующем сервере, подбирать параметры или скачивать закрытые данные.

Все активные действия следует выполнять только в рамках собственных ресурсов, письменного договора, разрешённого диапазона тестирования или официальных правил bug bounty. Особенно осторожно нужно обращаться с найденными конфигурациями, резервными копиями и персональными данными: их не следует распространять или использовать вне согласованной задачи.

Архивные сведения также требуют критической оценки. Старый URL мог принадлежать прежнему владельцу домена, тестовой среде или давно удалённому приложению. Поэтому результаты нужно подтверждать, сопоставлять с текущей инфраструктурой и не делать выводы исключительно на основании одной архивной записи.

В итоге Wayback Machine и связанные с ней инструменты превращают историю веб-ресурса в полноценный источник разведывательной информации. `waybackurls` обеспечивает быстрый базовый сбор, `gau` расширяет охват за счёт нескольких архивов, а `waymore` помогает добраться до сохранённых файлов и содержимого. При ответственном использовании такой подход полезен для аудита, восстановления забытых данных, анализа изменений и поиска собственных ошибок, допущенных в прошлых версиях проекта.

Прокрутить вверх