- Использование Wayback Machine (archive.org) в OSINT
- Список сохраненных копий страницы
- Список страниц определенного раздела сайта
- Список всех адресов сайта (с поддоменами)
- Список урлов за определенный период времени
- Список сохраненных файлов определенного типа
- Автоматизация процесса обработки полученных данных
Archive.org — один из важнейших источников информации в OSINT. В рамках цикла статей «Использование Python в OSINT», мы уже рассказывали про работу с веб-архивом Archive.org в Python. Сегодня покажу, как автоматизировать работу с веб-архивом Wayback Machine (archive.org).
Еще по теме: Браузерные расширения для OSINT
Использование Wayback Machine (archive.org) в OSINT
С 1996 по 2023 год Wayback Machine сохранил более 778 миллиардов веб-страниц. С помощью этого уникального и совершенно бесплатного источника информации можно отслеживать историю изменений блога, профиля человека в социальных сетях, сайта компании и т.д.
При работе с Wayback Machine через обычный веб-интерфейс углубленный анализ целевого сайта может занять очень много времени. Поэтому существует множество инструментов для автоматизации работы с archive.org:
- Internet Archive Wayback Machine Link Ripper
- Wayback Pack
- WayMore
- Wayback Machine Downloader
- WayBackUrls
- и т.д.
Многие из упомянутых выше инструментов используют Wayback CDX Server API. И иногда проще просто запросить этот API в адресной строке браузера, чем использовать какие-то дополнительные инструменты. Это бесплатно и не требует авторизации.
Давайте рассмотрим 5 основных функций API-интерфейса Wayback CDX Server, которые позволяет автоматизировать загрузку и анализ версий страниц целевого сайта на archive.org.
Список сохраненных копий страницы
Откройте эту ссылку в браузере и получите полный список всех сохраненных копий страницы целевого сайта (с временными отметками и статусами ответа сервера)
1 |
https://web.archive.org/cdx/search/cdx?url=osintme.com |
Чтобы превратить данные CDX API в активные ссылки, скопируйте результаты в таблицу Google, разделите текст по столбцам и используйте следующую формулу:
1 |
=”https://web.archive.org/web/"&B1&"/"&C1 |
Если вы исследуете популярный сайт, который индексируется archive.org несколько раз в день, вы можете уменьшить количество результатов, используя в урле параметр
collapse:timestamp:
1 |
https://web.archive.org/cdx/search/cdx?url=osintme.com&collapse=timestamp:4 |
- timestmap:4 — один год —> один снимок
- timestmap:6 — один месяц —> один снимок
- timestmap:8 — один день —> один снимок
Список страниц определенного раздела сайта
Можно получить список сохраненных копий не только отдельных страниц, но и целых разделов сайта:
1 |
https://web.archive.org/cdx/search/cdx?url=https://www.osintme.com/index.php/category/*&collapse=urlkey |
Если вы хотите видеть снэпшоты всех страниц, а не только список уникальных ссылок среди сохраненных страниц, то уберите в запросе параметр collap=urlkey.
1 |
https://web.archive.org/cdx/search/cdx?url=https://www.osintme.com/index.php/category/* |
Список всех адресов сайта (с поддоменами)
1 |
https://web.archive.org/cdx/search/cdx?url=*.sector035.nl&collapse=urlkey |
Запрос возвращает ссылки на все сохраненные файлы (css, js, rss и т.д.) всех поддоменовl.
Список урлов за определенный период времени
CDX API удобен тем, что позволяет фильтровать результаты по разным параметрам. Например, если вы добавите в запрос &to=2021&from=2020, вы увидите сохраненную копию страниц только за 2020 год.
1 |
https://web.archive.org/cdx/search/cdx?url=https://www.osintme.com/index.php/category/*&to=2021&from=2020 |
В качестве фильтра можно использовать любую временную отметку в формате гггг, ггггмм, ггггммдд, ггггммддмм.
Список сохраненных файлов определенного типа
Также можно фильтровать результаты по значениям отдельных полей. Например, если добавить в запрос mimetype:text/javascript, вы увидите список всех сохраненных копий файлов JavaScript домена.
1 |
https://web.archive.org/cdx/search/cdx?url=sector035.nl/*&filter=mimetype:text/javascript&collapse=urlkey |
В результатах появятся следующие поля:
- urlkey
- timestamp
- original
- mimetype
- statuscode
- digest
- length
Примеры их возможных значений (для фильтрации) можно увидеть в списке URL любого сайта, полученном с помощью CDX API.
Результаты также можно фильтровать с помощью логического НЕТ. Просто добавьте восклицательный знак перед значением поля, которое вы хотите удалить из результатов:
1 |
https://web.archive.org/cdx/search/cdx?url=sector035.nl/*&filter=!mimetype:text/html&collapse=urlkey |
В одном запросе можно объединить несколько фильтров.
1 |
https://web.archive.org/cdx/search/cdx?url=sector035.nl/*&filter=!mimetype:text/html&filter=length:35293 |
Автоматизация процесса обработки полученных данных
Напоследок хотелось бы добавить, что данные из Wayback CDX Server API можно получать не только в виде таблицы, но и в формате JSON. Просто добавьте в запрос параметр output=json:
1 |
https://web.archive.org/cdx/search/cdx?url=sector035.nl/*&filter=mimetype:text/css&collapse=urlkey&output=json |
Но я предпочитаю просто копировать данные CDX API в Google Таблицы, а затем извлекать наиболее важные части из сохраненных страниц с помощью IMPORTXML(). Я уже рассказывал про это в статье «Руководство по парсингу с помощью Google Таблиц».
ПОЛЕЗНЫЕ ССЫЛКИ:
- Лучшие браузерные дополнения для OSINT
- Прохождение OSINT задания TryHackMe OhSINT
- Скрапинг сайтов на Python [Использование Python в OSINT]