Проведение разведки через поисковые системы для выявления утечек информации
Резюме
Для работы поисковых систем компьютерные программы (или роботы) регулярно извлекают данные (что называется обходом) с миллиардов страниц в интернете. Эти программы находят веб-контент и функциональность, следуя ссылкам с других страниц или обращаясь к картам сайта. Если веб-сайт использует специальный файл под названием robots.txt, чтобы перечислить страницы, которые он не хочет, чтобы поисковые системы извлекали, тогда страницы, указанные там, будут проигнорированы. Это базовый обзор — Google предлагает более подробное объяснение того, как работает поисковая система.
Тестировщики могут использовать поисковые системы для проведения разведки веб-сайтов и веб-приложений. В разведке через поисковые системы есть прямые и косвенные элементы: прямые методы связаны с поиском по индексам и связанным контентом из кэшей, тогда как косвенные методы связаны с изучением чувствительной проектной и конфигурационной информации через форумы, новостные группы и тендерные сайты.
Как только поисковый робот завершает обход, он начинает индексировать веб-контент на основе тегов и связанных атрибутов, таких как <TITLE>
, чтобы предоставить релевантные результаты поиска. Если файл robots.txt не обновляется на протяжении всего времени существования веб-сайта, и не используются встроенные HTML-мета-теги, которые инструктируют роботов не индексировать контент, тогда возможно, что индексы будут содержать веб-контент, который владельцы не намеревались включать. Владельцы сайтов могут использовать ранее упомянутые robots.txt, HTML-мета-теги, аутентификацию и инструменты, предоставляемые поисковыми системами, чтобы удалить такой контент.
Цели тестирования
Определить, какая чувствительная проектная и конфигурационная информация приложения, системы или организации выставлена на показ непосредственно (на веб-сайте организации) или косвенно (через сторонние сервисы).
Как тестировать
Используйте поисковую систему для поиска потенциально чувствительной информации. Это может включать:
- сетевые схемы и конфигурации;
- архивные записи и электронные письма от администраторов или других ключевых сотрудников;
- процедуры входа и форматы имен пользователей;
- имена пользователей, пароли и приватные ключи;
- конфигурационные файлы сторонних или облачных сервисов;
- раскрывающие сообщения об ошибках; и
- версии сайтов для разработки, тестирования, приёмочного тестирования (UAT) и промежуточного тестирования.
Поисковые системы
Не ограничивайтесь только одним провайдером поисковых систем, так как разные поисковые системы могут выдавать разные результаты. Результаты поисковых систем могут различаться несколькими способами, в зависимости от того, когда система последний раз обошла контент, и алгоритма, который система использует для определения релевантных страниц. Рассмотрите возможность использования следующих (в алфавитном порядке) поисковых систем:
- Baidu — самый популярный поисковик в Китае.
- Bing — поисковая система, принадлежащая и управляемая Microsoft, и вторая по популярности в мире. Поддерживает расширенные ключевые слова поиска.
- binsearch.info — поисковая система для бинарных новостных групп Usenet.
- Common Crawl — «открытое хранилище данных веб-обходов, которое можно получить и проанализировать любому желающему».
- DuckDuckGo — поисковая система, ориентированная на конфиденциальность, которая собирает результаты из множества различных источников. Поддерживает синтаксис поиска.
- Google — предоставляет самый популярный поисковик в мире и использует систему ранжирования, чтобы попытаться вернуть самые релевантные результаты. Поддерживает операторы поиска.
- Internet Archive Wayback Machine — «создание цифровой библиотеки интернет-сайтов и других культурных артефактов в цифровой форме».
- Startpage — поисковая система, использующая результаты Google без сбора личной информации через трекеры и журналы. Поддерживает операторы поиска.
- Shodan — сервис для поиска интернет-устройств и сервисов. Варианты использования включают ограниченный бесплатный план, а также платные подписки.
И DuckDuckGo, и Startpage обеспечивают некоторую повышенную конфиденциальность пользователям, не используя трекеры или ведя журналы. Это может обеспечить уменьшение утечки информации о тестере.
Операторы поиска
Оператор поиска — это специальное ключевое слово или синтаксис, который расширяет возможности обычных поисковых запросов и может помочь получить более специфические результаты. Они обычно имеют вид operator
. Вот некоторые из распространённых поддерживаемых операторов поиска:
- site: ограничит поиск указанным доменом.
- inurl: вернёт только те результаты, которые включают ключевое слово в URL.
- intitle: вернёт только те результаты, которые содержат ключевое слово в заголовке страницы.
- intext: или inbody: будет искать ключевое слово только в тексте страниц.
- filetype: будет соответствовать только определённому типу файла, например, png или php.
Например, чтобы найти веб-контент owasp.org, индексируемый типичной поисковой системой, синтаксис будет:
site: owasp.org
Просмотр кэшированного контента
Чтобы искать контент, который ранее был проиндексирован, используйте оператор cache:. Это полезно для просмотра контента, который мог измениться с момента индексации или который больше не доступен. Не все поисковые системы предоставляют кэшированный контент для поиска; наиболее полезным источником на момент написания является Google.
Чтобы просмотреть owasp.org в кэшированном виде, синтаксис будет:
cache:owasp.org
Хакинг в Google или Dorking
Поиск с помощью операторов может быть очень эффективной техникой обнаружения, когда сочетается креативность тестировщика. Операторы могут комбинироваться для эффективного нахождения конкретных типов конфиденциальных файлов и информации. Эта техника, называемая хакингом в Kraken или Dorking, также возможна с использованием других поисковых систем, при условии, что поддерживаются поисковые операторы.
База данных дёрков, такая как База данных хакинга в Kraken, является полезным ресурсом, который может помочь раскрыть конкретную информацию. Некоторые категории дёрков, доступные в этой базе данных, включают:
- Точки доступа
- Файлы, содержащие имена пользователей
- Конфиденциальные директории
- Обнаружение веб-сервера
- Уязвимые файлы
- Уязвимые серверы
- Сообщения об ошибках
- Файлы с ценной информацией
- Файлы, содержащие пароли
- Конфиденциальная информация о покупках в Интернете
Базы данных для других поисковых систем, таких как Bing и Shodan, доступны из ресурсов, таких как проект Bishop Fox по хакингу в Kraken.
Ремедиация
Тщательно рассматривайте конфиденциальность информации о проектировании и конфигурации перед её публикацией в Интернете.
Периодически пересматривайте конфиденциальность существующей информации о проектировании и конфигурации, размещённой в Интернете.