В пентесте веб-приложений этап сбора информации является ключевым. Информация – самое сильное оружие. Чем больше информации вы сможете собрать и чем лучше вы сможете её проанализировать, тем эффективнее будет ваш тест на проникновение.
Особенность пассивного сбора информации заключается в том, что при сборе информации у цели практически нет возможности отследить атакующего. Другими словами, это сбор общедоступной информации.
Что можно собрать с помощью пассивного сбора:
- Информация об организации
- Информация о сотрудниках
- Приблизительное расположение внешних узлов сети и их роль
- Используемые технологии и сервисы
- Потенциальные векторы атак
1. Служба регистрации интернет-услуг (WHOIS)
Основы
Для доступа к сетевым ресурсам необходим IP-адрес. С записью вида xxx.xxx.xxx.xxx неудобно работать, поэтому существуют службы, связывающие IP-адрес с уникальным доменным именем.
Регистрация IP-адресов и доменных имён регулируется на международном уровне. Организации предоставляют административные данные: фактические имена, адреса и контактные данные.
Региональные реестры:
- APNIC – Азиатско-Тихоокеанский регион
- ARIN – Американский регион
- LACNIC – Латинская Америка и Карибы
- RIPE NCC – Европа
- AFRINIC – Африка
WHOIS сервисы
WHOIS предоставляет услуги по поиску информации в различных реестрах.
Два вида WHOIS:
- Network service based – акцент на сетевой части
- Name service based – акцент на доменном имени
Пример использования (консоль)
# По IP-адресу
whois -h whois.ripe.net 77.78.xxx.xxx
# По доменному имени
whois example.com
# По сетевому диапазону
whois -h whois.ripe.net 192.168.0.0/24
Онлайн-сервисы:
Что можно узнать из WHOIS:
- Владелец домена/IP-диапазона
- Контактные данные (email, телефон)
- Физический адрес организации
- Дата регистрации и истечения
- DNS-серверы
- Регистратор
2. Служба доменных имён (DNS)
Основные инструменты
dig (Domain Information Groper)
Мощный инструмент для работы с DNS, входит в комплект BIND.
Основные запросы:
# Все записи
dig example.com ANY
# Конкретный тип записи
dig example.com A
dig example.com MX
dig example.com NS
dig example.com TXT
# Обратный запрос (IP -> домен)
dig -x 8.8.8.8
# Указать конкретный DNS-сервер
dig @8.8.8.8 example.com
# Краткий вывод
dig example.com +short
nslookup
Альтернативный инструмент, предустановлен в большинстве ОС.
nslookup example.com
nslookup -type=MX example.com
nslookup -type=NS example.com
Типы ресурсных записей DNS:
| Тип | Описание |
|---|---|
| A | Адресная запись; соответствие имени IPv4-адресу |
| AAAA | Соответствие имени IPv6-адресу |
| MX | Почтовый сервер домена (с приоритетом) |
| NS | Авторитативные DNS-серверы домена |
| CNAME | Каноническое имя (алиас) |
| TXT | Текстовая информация (SPF, DKIM, и т.д.) |
| SOA | Начало зоны, авторитетность информации |
| PTR | Обратное соответствие (IP -> имя) |
| SRV | Сервисные записи |
Zone Transfer (AXFR)
Zone Transfer – метод передачи всей информации о зоне между DNS-серверами.
Если DNS-сервер плохо настроен, любой клиент может запросить передачу зоны и получить полный список поддоменов.
Проверка:
# Получить NS-серверы
dig example.com NS +short
# Попытка Zone Transfer
dig @ns1.example.com example.com AXFR
Пример уязвимого сервера:
dig @nsztm2.digi.ninja zonetransfer.me AXFR
Онлайн-инструменты:
Реверсивный опрос DNS
Метод для обнаружения других доменов на соседних IP-адресах.
Скрипт для перебора:
#!/bin/bash
NET=192.168.1
for i in $(seq 1 254); do
ADDR=${NET}.${i}
echo -e "${ADDR}\t$(dig -x ${ADDR} +short)"
done
Сохранить как reverse_dns.sh, сделать исполняемым:
chmod +x reverse_dns.sh
./reverse_dns.sh > results.txt
Виртуальный хостинг
На одном IP могут располагаться несколько сайтов.
Проверка онлайн:
3. Почтовая служба (Email Intelligence)
Почтовые системы часто слабо защищены и могут раскрыть много информации.
Анализ SMTP-заголовков
SMTP-заголовки содержат ценную информацию:
- Маршрутизация письма
- IP-адреса и имена серверов
- Типы и версии почтовых серверов
- Антивирусные решения
- Версии почтовых клиентов
Ключевые поля заголовка:
Received:– путь письма через серверыFrom:– отправительReturn-Path:– адрес для возвратаX-Originating-IP:– IP отправителяMessage-ID:– уникальный идентификаторDKIM-Signature:– цифровая подписьSPF:– проверка отправителя
Инструменты анализа:
Сбор email-адресов
Email-адреса могут использоваться для:
- Социальной инженерии
- Фишинга
- Определения схемы именования учётных записей
Схемы формирования email:
имя.фамилия@company.comи.фамилия@company.comимяфамилия@company.comфамилия@company.com
Инструменты для сбора:
- hunter.io – поиск email по домену
- phonebook.cz – архив email
- theHarvester (CLI-инструмент)
# theHarvester
theharvester -d example.com -b google,bing,linkedin
4. Анализ доменных имён и именования
Принципы именования
Название узлов и служб может раскрыть много информации:
| Примеры | Возможная информация |
|---|---|
msc.office02.example.com | Офис в Москве |
mailSpb.example.com | Почтовый сервер в Санкт-Петербурге |
uxsrv.example.com | Unix-система |
andreevPC.example.com | ПК сотрудника Андреева |
dev.example.com | Сервер разработки (потенциально уязвим) |
staging.example.com | Тестовая среда |
backup.example.com | Сервер резервных копий |
Трассировка маршрута (traceroute)
Позволяет узнать:
- Где хостится сайт
- Расположение дата-центров
- Используемых провайдеров
- Защитные сервисы (CloudFlare, Akamai)
Использование:
# Linux/Mac
traceroute example.com
# Windows
tracert example.com
# С отображением AS-номеров
traceroute -A example.com
Онлайн-сервисы:
5. Анализ веб-сайта
Что анализировать:
- Email-адреса в коде страницы
- Комментарии разработчиков в HTML/JS
- Метатеги с информацией об инструментах
- URL-ссылки на внутренние ресурсы
- JavaScript-файлы с API-ключами
- Методы аутентификации
- Способы кодирования данных
- Обработка ошибок (информативные сообщения)
- Внешние ссылки (партнёры, поставщики)
- HTTP-заголовки (версии серверов)
robots.txt и sitemap.xml
robots.txt – инструкции для поисковых роботов о том, что не индексировать.
User-agent: *
Disallow: /admin/
Disallow: /backup/
Disallow: /private/
Disallow: /api/internal/
Директории в Disallow особенно интересны для исследования.
sitemap.xml – карта сайта с полным списком страниц.
curl https://example.com/robots.txt
curl https://example.com/sitemap.xml
Мета-теги и заголовки
Могут раскрыть используемые технологии:
<meta name="generator" content="WordPress 5.8.1">
<meta name="author" content="John Doe">
HTTP-заголовки:
curl -I https://example.com
# Важные заголовки:
# Server: Apache/2.4.41 (Ubuntu)
# X-Powered-By: PHP/7.4.3
# X-AspNet-Version: 4.0.30319
Инструменты анализа:
- Wappalyzer (браузерное расширение) – определение технологий
- BuiltWith – история используемых технологий
- WhatWeb (CLI) – идентификация CMS и фреймворков
whatweb https://example.com
6. Поисковые системы (Google Dorking)
Основные операторы Google
| Оператор | Описание | Пример |
|---|---|---|
site: | Поиск по конкретному сайту | site:example.com admin |
inurl: | Поиск в URL | inurl:admin.php |
intitle: | Поиск в заголовке | intitle:"index of" password |
intext: | Поиск в тексте страницы | intext:"sql syntax error" |
filetype: | Поиск файлов определённого типа | filetype:pdf confidential |
ext: | То же, что filetype | ext:sql |
cache: | Кешированная версия | cache:example.com |
- | Исключение | site:example.com -www |
* | Подстановка | admin * login |
"" | Точное соответствие | "error occurred" |
| ` | илиOR` | Логическое ИЛИ |
Практические примеры дорков
Поиск панелей администрирования:
site:example.com inurl:admin
site:example.com intitle:admin
site:example.com inurl:wp-admin
Поиск конфиденциальных файлов:
site:example.com filetype:pdf confidential
site:example.com filetype:xls password
site:example.com filetype:doc "not for distribution"
site:example.com ext:sql
Поиск email-адресов:
site:example.com "@example.com"
site:example.com intext:@example.com
Поиск уязвимостей:
site:example.com inurl:php?id=
site:example.com "sql syntax error"
site:example.com "warning: mysql"
site:example.com inurl:upload
Поиск поддоменов:
site:*.example.com
site:*.example.com -www
Поиск технической информации:
site:example.com inurl:phpinfo.php
site:example.com intitle:"Apache Status"
site:example.com intitle:"index of" config
Специализированные базы дорков:
7. Специализированные поисковые системы
Shodan
Shodan – поисковая система для устройств, подключённых к интернету (IoT, серверы, камеры, маршрутизаторы).
URL: shodan.io
Основные операторы Shodan:
| Оператор | Описание | Пример |
|---|---|---|
hostname: | Поиск по имени хоста | hostname:example.com |
net: | Поиск по IP-диапазону | net:192.168.1.0/24 |
port: | Поиск по порту | port:22 |
os: | Поиск по ОС | os:"Windows Server 2012" |
city: | Поиск по городу | city:"Moscow" |
country: | Поиск по стране | country:"RU" |
org: | Поиск по организации | org:"Google" |
product: | Поиск по продукту | product:"Apache httpd" |
version: | Поиск по версии | version:"2.4.1" |
vuln: | Поиск уязвимостей | vuln:CVE-2014-0160 |
ssl: | Поиск по SSL-сертификату | ssl:"example.com" |
http.title: | Поиск по заголовку страницы | http.title:"Admin Panel" |
Примеры запросов:
# Поиск веб-камер
product:"webcam" country:"RU"
# Устройства с уязвимостью
vuln:CVE-2017-0144 country:"RU"
# Незащищённые базы данных
product:"MongoDB" -authentication
# Устройства конкретной организации
org:"Example Ltd" country:"US"
# SSH на нестандартном порту
product:"OpenSSH" port:2222
# Панели управления
http.title:"Dashboard" country:"RU"
Что можно узнать:
- Открытые порты и сервисы
- Версии ПО
- SSL-сертификаты
- Местоположение сервера
- Организацию-владельца
- Баннеры служб
- Уязвимости (требуется платная подписка)
Censys
Альтернатива Shodan, акцент на SSL/TLS сертификатах.
URL: censys.io
Особенности:
- Детальная информация о сертификатах
- Лучше для поиска субдоменов
- Бесплатный API
Пример поиска:
parsed.names: example.com
ZoomEye
Китайский аналог Shodan.
URL: zoomeye.org
Vulners
База данных уязвимостей и эксплойтов.
URL: vulners.com
Операторы поиска:
| Оператор | Описание |
|---|---|
type: | Тип уязвимости (cve, exploitdb, etc.) |
affectedSoftware: | Затронутое ПО |
cvss.score: | CVSS-оценка |
published: | Дата публикации |
Примеры:
# Уязвимости Apache за последние 30 дней
type:cve affectedSoftware:Apache published:[NOW-30DAYS TO NOW]
# Критические уязвимости WordPress
affectedSoftware:WordPress cvss.score:[7 TO 10]
# Эксплойты для конкретной версии
affectedSoftware:"phpMyAdmin 4.8.1" type:exploitdb
8. Анализ SSL/TLS сертификатов
Зачем анализировать сертификаты:
- Обнаружение поддоменов (Subject Alternative Names)
- Информация о владельце
- История выпуска сертификатов
- Используемые алгоритмы шифрования
- Уязвимости в протоколах (Heartbleed, POODLE, и т.д.)
Инструменты анализа:
SSLLabs (Qualys SSL Labs)
URL: ssllabs.com/ssltest
Предоставляет:
- Оценку безопасности SSL/TLS (A+, A, B, C, F)
- Детали сертификата
- Поддерживаемые протоколы и шифры
- Проверку на известные уязвимости
ImmuniWeb SSL Test
URL: immuniweb.com/ssl
Дополнительно:
- Проверка поддоменов
- Email-серверы и их сертификаты
- Compliance-проверки (PCI DSS, HIPAA)
crt.sh (Certificate Transparency Logs)
URL: crt.sh
Поиск всех сертификатов, выпущенных для домена.
Пример запроса:
%.example.com
Позволяет найти:
- Все поддомены
- Историю сертификатов
- Альтернативные имена
CLI-запрос:
curl -s "https://crt.sh/?q=%.example.com&output=json" | jq -r '.[].name_value' | sort -u
OpenSSL
Анализ через командную строку:
# Получить информацию о сертификате
openssl s_client -connect example.com:443 -servername example.com < /dev/null
# Проверить дату истечения
echo | openssl s_client -connect example.com:443 2>/dev/null | openssl x509 -noout -dates
# Получить Subject Alternative Names
echo | openssl s_client -connect example.com:443 2>/dev/null | openssl x509 -noout -text | grep DNS:
# Проверить поддерживаемые протоколы
for proto in ssl2 ssl3 tls1 tls1_1 tls1_2 tls1_3; do
echo -n "$proto: "
echo | openssl s_client -connect example.com:443 -$proto 2>&1 | grep -q "Cipher is" && echo "OK" || echo "NO"
done
9. Социальные сети и OSINT на людях
Что можно узнать:
- Текущие и бывшие сотрудники
- Должности и обязанности
- Технологии, с которыми работают
- Структура компании
- Контакты для social engineering
Техники поиска:
# В поиске LinkedIn
site:linkedin.com "Example Company" "Software Engineer"
# В Google
site:linkedin.com/in "Example Company" "Chief Technology Officer"
Facebook, Instagram, Twitter/X
Полезны для:
- Фишинга (личная информация)
- Social engineering
- Определения корпоративной культуры
- Поиска недовольных сотрудников
Специализированные инструменты:
- Maltego – визуализация связей
- SpiderFoot – автоматизация OSINT
- Recon-ng – фреймворк для разведки
- theHarvester – сбор email, имён, subdomain
- Sherlock – поиск username в соцсетях
# Sherlock
sherlock username
# SpiderFoot
python3 sfcli.py -s example.com
10. Архивы и историческая информация
Wayback Machine (Archive.org)
URL: web.archive.org
Позволяет:
- Смотреть историю сайта
- Найти старые страницы с уязвимостями
- Обнаружить удалённый контент
- Найти старые email, телефоны
Примеры:
# Посмотреть все снимки
https://web.archive.org/web/*/example.com
# Конкретная дата
https://web.archive.org/web/20200101/example.com
Другие архивы:
- archive.is – альтернативный архив
- CommonCrawl – огромный датасет веба
- Google Cache –
cache:example.com
11. GitHub и утечки кода
Что искать в GitHub:
- Приватные репозитории случайно сделанные публичными
- API-ключи и токены в коде
- Пароли и credentials
- Внутренняя документация
- Конфигурационные файлы
GitHub Dorks:
# Поиск credentials
org:example password
org:example api_key
org:example "aws_secret_access_key"
# Конфигурации
org:example filename:.env
org:example filename:config.php
# Specific company emails
"@example.com" password
# Private keys
org:example extension:pem private
org:example filename:id_rsa
Инструменты:
- GitRob – поиск чувствительной информации
- TruffleHog – поиск секретов в истории коммитов
- GitHacker – дамп .git директорий
- GitDorker – автоматизация GitHub dorks
# TruffleHog
trufflehog git https://github.com/example/repo --only-verified
# GitRob
gitrob example-org
12. Leaked Databases & Data Breaches
Базы утечек:
- Have I Been Pwned – haveibeenpwned.com
- DeHashed – dehashed.com
- LeakCheck – leakcheck.io
- IntelX – intelx.io
Что можно найти:
- Скомпрометированные email
- Пароли (часто хешированные)
- Личные данные
- Информацию о сотрудниках
13. Subdomain Enumeration
Инструменты поиска поддоменов:
Пассивные методы:
Subfinder:
subfinder -d example.com -o subdomains.txt
Amass:
amass enum -d example.com
amass enum -passive -d example.com
Assetfinder:
assetfinder --subs-only example.com
Источники данных:
- Certificate Transparency Logs (crt.sh)
- DNS databases (DNSDumpster)
- Search engines (Google, Bing)
- VirusTotal
- SecurityTrails
- Shodan
Online-сервисы:
14. Автоматизация и фреймворки
theHarvester
Универсальный инструмент для сбора информации:
# Основное использование
theHarvester -d example.com -b all
# Конкретные источники
theHarvester -d example.com -b google,linkedin,hunter
# С сохранением
theHarvester -d example.com -b all -f output.html
Recon-ng
Фреймворк для разведки, по аналогии с Metasploit:
recon-ng
# Создать workspace
workspaces create example_recon
# Загрузить модули
marketplace install all
# Использовать модуль
modules load recon/domains-hosts/google_site_web
options set SOURCE example.com
run
OSINT Framework
URL: osintframework.com
Огромная коллекция инструментов и ресурсов для OSINT, организованных по категориям.
SpiderFoot
Автоматизированный OSINT-инструмент:
# Web UI
python3 sf.py -l 127.0.0.1:5001
# CLI
python3 sfcli.py -s example.com
Maltego
Коммерческий инструмент для визуализации связей между данными.
Особенности:
- Графическое представление связей
- Интеграция с множеством источников
- Трансформации для автоматического сбора данных
15. Практические методологии
OSINT Workflow
-
Определение целей
- Что нужно найти?
- Какие данные критичны?
-
Сбор первичной информации
- WHOIS
- DNS
- Базовый анализ сайта
-
Расширенная разведка
- Поисковые системы
- Специализированные инструменты
- Социальные сети
-
Анализ и корреляция
- Связать найденные данные
- Определить векторы атак
- Найти слабые места
-
Документирование
- Сохранить все находки
- Создать отчёт
- Подготовить дальнейшие шаги
Чек-лист пассивной разведки
- WHOIS (домен и IP)
- DNS-записи (все типы)
- Попытка Zone Transfer
- Reverse DNS
- Subdomain enumeration
- Certificate Transparency
- Shodan/Censys/ZoomEye
- Google Dorking
- GitHub search
- Email harvesting
- Social media (LinkedIn, Twitter, Facebook)
- Wayback Machine
- SSL/TLS анализ
- Traceroute
- robots.txt / sitemap.xml
- HTTP headers анализ
- Wappalyzer / BuiltWith
- Leaked databases
16. Этические и юридические аспекты
Важно понимать:
- Пассивный OSINT легален, так как использует только публичную информацию
- Не переходите границу активной разведки без разрешения
- Social engineering может быть незаконным
- Уважайте приватность людей
- Документируйте все действия для отчётности
- Получите письменное разрешение на пентест
Что НЕ является пассивной разведкой:
- ❌ Сканирование портов
- ❌ Эксплуатация уязвимостей
- ❌ Brute-force атаки
- ❌ Взаимодействие напрямую с целевыми системами
- ❌ Social engineering с обманом
17. Полезные ресурсы
Списки инструментов:
Обучающие ресурсы:
Книги:
- "Open Source Intelligence Techniques" by Michael Bazzell
- "OSINT Techniques: Resources for Uncovering Online Information" by Michael Bazzell
Заключение
Пассивный сбор информации – это искусство находить максимум данных, оставаясь незамеченным. Чем больше информации вы соберёте на этом этапе, тем эффективнее будет последующий пентест.
Ключевые принципы:
- ✅ Будьте методичны
- ✅ Документируйте всё
- ✅ Используйте множество источников
- ✅ Корреляция данных критически важна
- ✅ Автоматизируйте рутину
- ✅ Постоянно обновляйте свой инструментарий
Помните: OSINT – это не только инструменты, но и креативное мышление. Иногда самая ценная информация находится там, где её никто не ищет.
Практические задания
Для закрепления материала рекомендуется выполнить следующие задания:
-
Базовый OSINT:
- Выберите легитимную цель (например, публичную компанию)
- Проведите полную WHOIS-разведку
- Найдите все поддомены
- Соберите email-адреса
-
Продвинутый уровень:
- Используйте Google Dorks для поиска чувствительной информации
- Найдите уязвимости через Shodan
- Проанализируйте SSL-сертификаты
- Составьте профили сотрудников через LinkedIn
-
Комплексное задание:
- Выберите компанию
- Проведите полный OSINT
- Создайте Mind Map связей
- Напишите отчёт с рекомендациями