Футпринтинг
Футпринтинг (англ. footprinting, также известный как рекогносцировка) — это техника сбора информации о компьютерных системах и связанных с ними организациях. Для получения такой информации злоумышленники могут использовать различные инструменты и технологии. Эти сведения особенно полезны для хакера, стремящегося взломать всю систему[1].
В терминологии компьютерной безопасности футпринтинг обычно относится к одной из фаз, предшествующих атаке, — действиям, выполняемым до непосредственного начала атаки. К числу инструментов, используемых для футпринтинга, относятся Sam Spade, nslookup, traceroute, Nmap и neotrace[2].
Применяемые методы
- Запросы к системе доменных имён (DNS)
- Перечисление сети
- Сетевые запросы
- Идентификация операционной системы
- Анализ метаданных
- Поиск в Даркнете
- Анализ репозиториев кода
- Использование ИИ
Применение
Футпринтинг позволяет злоумышленнику получить информацию о целевой системе или сети, которую можно затем использовать для проведения атаки. По этой причине такой этап называют преатакой (Pre-Attack), поскольку вся собранная информация анализируется с целью успешной подготовки к последующему вторжению. Кроме того, футпринтинг применяется этичными хакерами и специалистами по тестированию на проникновение для поиска уязвимостей и слабых мест внутри собственной корпоративной сети до того, как это сделают злоумышленники. В рамках систем управления внешней поверхностью атаки (EASM) классический футпринтинг трансформировался из разовых ручных проверок в автоматизированный и непрерывный процесс мониторинга. Он направлен на выявление теневых ИТ-активов и динамический мониторинг изменений в инфраструктуре[3][4].
Классификация
Акти́вный футпринтинг — это процесс сбора информации о цели с помощью инструментов и техник, таких как выполнение ping sweep или использования команды traceroute. Активный футпринтинг может быть зафиксирован системой обнаружения вторжений (IDS) и попасть в журналы, поэтому для успешного выполнения требуется определённая скрытность.
Пассивный футпринтинг состоит в сборе информации о цели неявным, непрямым способом. К примеру, просмотр сайта компании, изучение профилей сотрудников в социальных сетях, поиск домена через WHOIS, а также использование поисковых систем типа Google. Пассивный футпринтинг более скрытен, поскольку не вызывает срабатывания IDS и не оповещает цель о происходящем сборе данных.
К современным примерам пассивного футпринтинга также относятся использование расширенных операторов поисковых систем (Google-доркинг) и поиск подключённых к интернету устройств через специализированные системы, такие как Shodan. В свою очередь, арсенал активных методов включает захват баннеров (banner grabbing) для получения информации о названиях и версиях используемого программного обеспечения[5][6].
В зависимости от положения атакующего относительно периметра сети, сбор информации также классифицируется на внешний (external) и внутренний (internal):
- Внешний футпринтинг направлен на публично доступные данные и интернет-ориентированные активы (открытые порты, публичные API, облачные сервисы). Вектор атаки реализуется из интернета без необходимости наличия учётных данных или предварительного доступа[7][8].
- Внутренний футпринтинг осуществляется внутри частной сети организации (например, инсайдером или злоумышленником, уже проникшим в сеть). Доступность данных в этом случае ограничена внутренним периметром, однако риски быстро возрастают из-за возможностей латерального перемещения и повышения привилегий[7][8].
Кроулинг
Кроулинг (от англ. crawling) — процесс просмотра веб-ресурсов с целью получения необходимой информации о цели. К изучаемым сайтам могут относиться основной сайт компании, блоги и социальные сети. Полученные данные могут быть полезны и в других методах сбора информации. Классические HTTP-клиенты часто оказываются неэффективными при разведке на современных веб-интерфейсах (SPA, React, Vue), так как такие сайты динамически загружают контент с помощью JavaScript. Для решения этой проблемы применяются Headless-браузеры (например, Playwright и Puppeteer), которые функционируют без графического интерфейса, исполняют код, обрабатывают AJAX-запросы и строят полное DOM-дерево, позволяя извлекать скрытые данные[9].[10] Для обхода современных систем защиты от автоматизированного сбора данных применяются различные методы маскировки. К ним относятся подмена User Agent, ротация IP-адресов, симуляция действий в headless-браузерах, манипуляция частотой запросов и рандомизация цифровых отпечатков[11]. Среди современных библиотек и фреймворков, используемых для автоматизированного кроулинга и обхода антибот-систем, выделяются Crawlee, Nodriver и Camoufox[12].[13] В процессе кроулинга также осуществляется автоматизированный поиск чувствительной информации в JavaScript-файлах. С помощью специализированных сканеров, регулярных выражений и контекстного анализа могут быть обнаружены утечки API-ключей, токенов, скрытых эндпоинтов и потенциально опасного закомментированного кода[14].[15]
Анализ метаданных
Автоматизированное извлечение метаданных из файлов позволяет собрать дополнительную информацию о целевой системе. Анализ офисных документов (Word, Excel, PDF) даёт возможность узнать имена пользователей, версии программного обеспечения, пути к файлам и историю изменений. Для этих задач применяется инструмент FOCA[16][17]. Извлечение метаданных из медиафайлов (например, JPEG и PNG) позволяет получить данные о геолокации, модели камеры и дате съёмки; для этого часто используется утилита ExifTool[18].
WHOIS и RDAP
WHOIS[19] — это веб-приложение, предназначенное для получения информации о доменах, таких как адрес электронной почты администратора и детали регистрации. WHOIS представляет собой очень большую базу данных, содержащую сведения практически обо всех сайтах общедоступного интернета (clearnet). Поисковые запросы в WHOIS выполняются по имени домена. С 28 января 2025 года корпорация ICANN отменила требование по поддержке протокола WHOIS для общих доменов верхнего уровня (gTLD) и утвердила в качестве обязательного стандарта протокол RDAP (Registration Data Access Protocol). В отличие от WHOIS, работающего через порт 43 и возвращающего неструктурированный текст, RDAP использует REST-архитектуру (HTTP/HTTPS) и возвращает стандартизированные ответы в формате JSON, что значительно упрощает автоматизированный сбор данных. Для национальных доменов (ccTLD) переход на RDAP остаётся добровольным, поэтому оба протокола продолжают сосуществовать[20][21][22]. В связи с регламентами конфиденциальности (такими как GDPR) личные данные регистрантов (ФИО, email, телефон) по умолчанию скрываются. Для специалистов по информационной безопасности предусмотрены механизмы дифференцированного доступа (Tiered Access) через протокол RDAP и систему ICANN RDRS (Registration Data Request Service), позволяющие получать полные данные при подтверждении законного интереса[23][24][22]. Для обхода скрытия данных при футпринтинге применяются сервисы исторического и обратного поиска (например, DomainTools и WhoisXML API). Они собирают многолетние архивы, позволяя находить исходные данные владельцев до того, как они были скрыты, и выявлять связи между различными доменами[25][26]. В связи с переходом на новый стандарт классические утилиты теряют актуальность. Для работы с RDAP и интеграции в пайплайны разведки используются современные инструменты и библиотеки, такие как OpenRDAP, \`rdap\` для Python и \`rdap-client\` для JavaScript[27][22][28].
Поисковые системы
Для сбора информации о целевых системах могут использоваться поисковые системы, такие как Google. Объём получаемых данных зависит от того, насколько умело пользователь применяет поисковые запросы. При правильном использовании злоумышленник может найти множество сведений о компании, её деятельности, политике и др. Также для сбора информации об инфраструктуре применяются специализированные поисковые системы, такие как Shodan, Censys, ZoomEye и Criminal IP. Они позволяют находить подключённые к интернету устройства (веб-серверы, маршрутизаторы, IoT-устройства, промышленные системы управления), выявлять открытые порты, извлекать данные об используемых операционных системах и программном обеспечении, а также обнаруживать SSL-сертификаты и известные уязвимости[29]..
Анализ репозиториев кода
Для сбора информации через публичные репозитории кода (например, GitHub или GitLab) применяются специализированные поисковые запросы, известные как дорки (англ. dorks)[30][31]. Этот метод позволяет выявлять чувствительную информацию, случайно опубликованную в открытом доступе. К основным типам данных, поиск которых осуществляется подобным образом, относятся:
- API-ключи и токены (например, с помощью запросов
filename:config.json AWS_ACCESS_KEY_IDилиauthorization_bearer:)[30][31]; - пароли и учётные данные (
filename:secrets.yml password)[31]; - строки подключения к базам данных (
filename:.env MYSQL_PASSWORD,filename:wp-config.php DB_PASSWORD)[30]; - упоминания внутренних доменов и данные конкретных организаций (
"example.com" password)[31][32].
Поиск скрытых данных в репозиториях также может осуществляться через внешние поисковые системы с применением соответствующих операторов (например, site:github.com "example.com" password OR secret)[33].
Сетевая разведка и визуализация
Сбор информации возможен также с помощью команды Tracert (аналог traceroute), которая позволяет определить путь передачи запроса между пользователем и целевой системой внутри компьютерной сети. Таким образом можно узнать, через какие устройства проходит запрос. В операционных системах Linux доступны аналогичные команды tracepath и traceroute для выполнения подобных операций[34].
Для визуализации сетевых маршрутов и автоматизированного построения топологии сети применяются современные инструменты:
- Netlas — объединяет собранные данные (WHOIS, DNS, результаты сканирования) в граф[35];
- Maltego — строит комплексную сеть вокруг цели, визуализируя скрытые связи между объектами на основе множества источников[35];
- OWASP Amass — позволяет генерировать граф атакуемой поверхности[35];
- Zenmap (графический интерфейс для Nmap) — используется для запуска сканирования и наглядного просмотра результатов[36].
Негативный веб-поиск
При проведении негативного веб-поиска выясняются и анализируются другие сайты, связанные с целевым доменом. Такие ресурсы могут давать представление о недостатках или уязвимостях целевой компании. Анализ репутации в сети включает мониторинг социальных сетей, тематических форумов и сайтов с отзывами. Изучение упоминаний о компании помогает выявить «слабые звенья» в защите и оценить влияние человеческого фактора, а анализ публичных заявлений недовольных или бывших сотрудников позволяет обнаружить инсайдерские угрозы и возможные утечки внутренней информации[37][38].
Поиск в Даркнете
Для сбора информации об организации в скрытой сети (.onion) осуществляется поиск специфических данных, таких как утечки учётных данных, упоминания компании или домена в дампах, утекшие API-ключи, взломанные базы данных и конфиденциальные документы. Поиск в даркнете проводится с использованием специализированных поисковых систем и платформ, среди которых Ahmia, Torch, Haystak, DarkSearch и Intelx.io. Методы поиска включают ручное использование поисковых операторов, автоматизацию мониторинга через API и проверку конкретных идентификаторов через агрегаторы утечек[39].[40].
Использование ИИ в разведке
ИИ-агенты и большие языковые модели (LLM) применяются для автоматизированного сбора информации из открытых источников (OSINT) и футпринтинга. Технологии на базе искусственного интеллекта позволяют автоматизировать процессы разведки[41] и с высокой точностью картографировать сетевые инфраструктуры[42]. LLM эффективно используются для анализа больших массивов собранных данных с целью выявления ценной информации[42].
Применение автономных агентов для сбора данных из внешних источников создаёт новые векторы атак на сами системы сбора. Одной из основных угроз является «угон агента» (agent hijacking) посредством непрямой инъекции промптов: вредоносные инструкции могут быть скрыты в недоверенном контенте, который агент собирает и обрабатывает в ходе OSINT, что заставляет систему выполнять непредусмотренные действия[41].
Состав собираемой информации
Если объектом атаки выступает компания, то в процессе футпринтинга могут быть собраны следующие сведения:
- Информация о самой компании, персонале и их адресах электронной почты
- Взаимоотношения с другими организациями
- Подробности совместных проектов
- Юридические документы
- Новости, связанные с сайтом компании
- Патенты и товарные знаки соответствующей компании
- Важные даты, связанные с новыми проектами
- Данные о персонале из социальных сетей и профессиональных сообществ (таких как LinkedIn, GitHub), включая профессиональные навыки, круг общения и участие в проектах, что критично для подготовки атак[43][44]