Многие начинающие специалисты по информационной безопасности делают одну критическую ошибку: запускают инструменты хаотично, надеясь на удачу. Они вводят домен в первый попавшийся сканер и ждут, что система сама покажет свои уязвимые точки...
Опытные ребята работают принципиально иначе.
У них есть четкий подход и методы: сначала полный анализ целевой инфраструктуры, понимание архитектуры, выявление всех возможных точек входа.
Принцип простой - кто владеет бОльшим объемом информации о цели, тот контролирует ситуацию. База?
В реальных условиях задача состоит не в поиске одной уязвимости, а в построении комплексной картины защитных механизмов целевой системы.
Методичность и системность — единственный способ получить качественные результаты и избежать обнаружения. В добавок сэкономит время, даже если вы довольно опытен.
Статистика и важность разведывательного этапа
Пример:
admin.staging.corp.example.com
(CNN как пример)
Пассивная разведка основана на анализе данных из открытых источников без прямого взаимодействия с целевыми системами.
На этом этапе используются такие инструменты, как Subfinder, Amass, а также запросы к Certificate Transparency.
Их задача — максимально полно выявить все публичные и скрытые поддомены, связанные с исследуемым доменом.
DNS-брутфорс помогает найти неочевидные поддомены, а vhost-сканирование — раскрыть виртуальные хосты серверов, часто используемых для обслуживания разных сервисов на одном IP-адресе.
Subfinder и Amass — инструменты автоматизированного перечисления поддоменов, представляющие собой первую линию пассивной разведки. Исследования показывают, что современные подходы к сбору поддоменов комбинируют пассивную и активную методологии для максимального покрытия. Пассивная разведка позволяет собирать данные без прямого взаимодействия с инфраструктурой цели, минимизируя риск обнаружения.
Для получения расширенной информации:
Параметр -all активирует все доступные источники данных, включая:
Для активной разведки с DNS-перечислением:
Дополнительные параметры Amass:
-timeout — управление временем ожидания
-max-dns-queries — ограничение нагрузки на DNS
-src — отображение источников данных
Успешный DNS-брутфорс может обнаружить "забытые" поддомены типа old-staging-cicd-blackbox.example.com, которые часто оказываются тестовыми площадками с ослабленной защитой или дефолтными паролями. Каждый найденный поддомен становится потенциальной точкой входа в инфраструктуру организации.
Gobuster с настройкой производительности:
Расширенная конфигурация:
Параметры оптимизации:
Современные инструменты вроде Gobuster или Amass позволяют настраивать количество потоков, таймауты, размер словарей и другие параметры для оптимизации скорости и скрытности сканирования. Это превращает ручной процесс в автоматизированную систему разведки.
Виртуальные хосты (Virtual Host Discovery — vhost) позволяют размещать несколько веб-сайтов на одном IP-адресе, используя заголовок Host (HTTP).
Помимо gobuster, есть еще практические инструменты:
ffuf с фильтрацией:
Дополнительные техники фильтрации:
Поиск виртуальных хостов критически важен, поскольку один IP-адрес может скрывать десятки различных веб-приложений, многие из которых остаются невидимыми при стандартном сканировании и часто содержат административные панели, тестовые среды или API с ослабленными настройками безопасности.
Верификация и анализ веб-сервисов — это этап разведки, направленный на подтверждение активности обнаруженных хостов и сбор детальной информации о работающих на них веб-приложениях, технологиях и потенциальных точках входа.
httpx для комплексной проверки:
Расширенный анализ:
Пример вывода:
Расширенная команда:
Базовые поисковые запросы:
Эти команды находят все устройства, связанные с организацией, без отправки пакетов к цели, используя данные крупнейшего индекса устройств Shodan.
Специализированные поиски:
Активное сканирование с Nmap
Использование decoy-адресов:
Варьирование исходного порта:
Управление временными интервалами:
Автоматизированный banner grabbing
Ручной сбор баннеров
HTTP-заголовки и технологии:
Проверка активности хостов:
Массовое сканирование портов:
Анализ результатов:
Какой наш итог по проделанной работе? Давайте разберем, что же мы тут собрали для нашей разведки:
Сбор данных:
Системный подход, тщательное документирование и постоянная адаптация к новым защитным механизмам.
В подведенных итогах довольно качественный и полный предварительный «рекон» (Reconnaissance), от которого дальше можно «плясать» к более глубокой автоматизированной и ручной проверки уязвимостей, эксплуатации и т.д. и т.п.
Современные методы защиты эволюционируют быстро, поэтому требуется постоянно совершенствовать свои навыки и инструментарий. Только комплексный и методичный подход к разведке гарантирует получение полной картины целевой инфраструктуры и создает надежную основу для последующих этапов тестирования на проникновение.
Написано исключительно в познавательных целях. На научный подход не претендует.
Использование практик из статьи в злых умыслах преследуется по закону.
Специально для Duty-Free.cc
Опытные ребята работают принципиально иначе.
У них есть четкий подход и методы: сначала полный анализ целевой инфраструктуры, понимание архитектуры, выявление всех возможных точек входа.
Моя статья будет полезна как начинающим энтузиастам, с простой формой подачи материала и введению в курс, так и для более опытного контингента для закрепления знаний и умений. Надеюсь и те и те, что-то подчеркнут для себя полезного :)
Принцип простой - кто владеет бОльшим объемом информации о цели, тот контролирует ситуацию. База?
В реальных условиях задача состоит не в поиске одной уязвимости, а в построении комплексной картины защитных механизмов целевой системы.
- Планирование - определение целей, ограничений и методов
- Поэтапное выполнение: от пассивного сбора информации к активному зондированию
- Тщательное документирование каждого шага и результата
Методичность и системность — единственный способ получить качественные результаты и избежать обнаружения. В добавок сэкономит время, даже если вы довольно опытен.
Статистика и важность разведывательного этапа
Современные исследования показывают, что 85% успешных кибератак начинаются с продолжительного этапа разведки. Иногда уходят недели на изучение инфраструктуры, прежде чем предпринять первую попытку проникновения.
Основные цели разведки
- Составление полной карты внешних сервисов и приложений
- Выявление используемых технологий для подбора специфичных методов атаки
- Сбор информации об организационной структуре через публичные источники и поддомены
Структура доменных имен и их значение
Доменное имя представляет собой иерархическую структуру, каждый уровень которой может содержать критически важную информацию.Пример:
admin.staging.corp.example.com
- .com — домен верхнего уровня
- example — основной домен организации
- corp — может указывать на корпоративное подразделение
- staging — часто означает тестовую среду
- admin — административная панель или интерфейс
Крупные организации могут иметь от 500 до 5000 поддоменов, многие из которых неизвестны даже внутренним IT-службам/отделам. Эти заброшенные поддомены часто становятся наиболее уязвимыми точками входа. Почему так много? — свои поддомены могут быть у каждого отдела или подразделения, для тестов и staging, API и различные микросервисы, внутренние инструменты и системы + региональные версии сайта и т.д.
Технические ограничения
- Теоретический максимум: 2^504 поддоменов
- Хостинг-провайдеры обычно ограничивают 100-500 поддоменов на тарифный план
- DNS-серверы поддерживают до 16,777,216 объектов на зону (BIND)
DNS как источник разведывательных данных
Domain Name System содержит множество типов записей, каждая из которых предоставляет специфичную информацию:- A/AAAA записи — связывают доменные имена с IP-адресами (IPv4/IPv6)
- CNAME записи — создают псевдонимы, могут раскрывать внутреннюю архитектуру
- MX записи — определяют почтовые серверы организации
- NS записи — указывают авторитетные DNS-серверы (критичны для атак переноса зон)
- PTR записи — обратное разрешение, может раскрыть схемы именования
Не удалось прогрузить медиа
(CNN как пример)
Практическая реализация: пошаговая разведка
Этап 1: Пассивный сбор поддоменов
Пассивная разведка основана на анализе данных из открытых источников без прямого взаимодействия с целевыми системами.На этом этапе используются такие инструменты, как Subfinder, Amass, а также запросы к Certificate Transparency.
Их задача — максимально полно выявить все публичные и скрытые поддомены, связанные с исследуемым доменом.
DNS-брутфорс помогает найти неочевидные поддомены, а vhost-сканирование — раскрыть виртуальные хосты серверов, часто используемых для обслуживания разных сервисов на одном IP-адресе.
Subfinder и Amass — инструменты автоматизированного перечисления поддоменов, представляющие собой первую линию пассивной разведки. Исследования показывают, что современные подходы к сбору поддоменов комбинируют пассивную и активную методологии для максимального покрытия. Пассивная разведка позволяет собирать данные без прямого взаимодействия с инфраструктурой цели, минимизируя риск обнаружения.
Bash:
subfinder -d example.com -o subdomains.txt -silent
Для получения расширенной информации:
Bash:
subfinder -d example.com -oJ subdomains.json -v -all
Параметр -all активирует все доступные источники данных, включая:
- Certificate Transparency логи
(Certificate Transparency — использование публичных логов SSL/TLS сертификатов стало основой современной OSINT-разведки. Академические исследования подтверждают, что CT-логи предоставляют богатый источник информации о доменах, которые могли существовать в прошлом, но больше не доступны через традиционные DNS-запросы.) - DNS-агрегаторы
- Поисковые системы
- Архивы веб-страниц
Bash:
amass enum -passive -d example.com -o amass_passive.txt -timeout 30
Bash:
amass enum -active -d example.com -o amass_active.txt -brute -w /usr/share/wordlists/dns/subdomains-top1mil.txt
-timeout — управление временем ожидания
-max-dns-queries — ограничение нагрузки на DNS
-src — отображение источников данных
Этап 2: DNS-брутфорс и его автоматизация
Успешный DNS-брутфорс может обнаружить "забытые" поддомены типа old-staging-cicd-blackbox.example.com, которые часто оказываются тестовыми площадками с ослабленной защитой или дефолтными паролями. Каждый найденный поддомен становится потенциальной точкой входа в инфраструктуру организации.Gobuster с настройкой производительности:
Bash:
gobuster dns -d example.com -w /usr/share/seclists/Discovery/DNS/subdomains-top1million-110000.txt -t 50 -q
Bash:
gobuster dns -d example.com -w custom_wordlist.txt -t 100 --timeout 10s --wildcard -o gobuster_results.txt
- -t — количество потоков (рекомендуется 30-50 для стабильности)
- --timeout — таймаут DNS-запросов
- --wildcard — обработка wildcard-записей
- -q — тихий режим для автоматизации
Code:
Found: mail.example.com
Found: dev.example.com
Found: api.example.com
Found: staging-v2.example.com
Found: jenkins.internal.example.com
Этап 3: Поиск виртуальных хостов
Виртуальные хосты (Virtual Host Discovery — vhost) позволяют размещать несколько веб-сайтов на одном IP-адресе, используя заголовок Host (HTTP).Помимо gobuster, есть еще практические инструменты:
- ffuf — гибкая настройка фильтрации ответов
- dirsearch — может работать в режиме vhost discovery
- Custom scripts — для специфичных случаев
Bash:
gobuster vhost -u https://target.com -w /usr/share/seclists/Discovery/DNS/subdomains-top1million-5000.txt -t 30
Bash:
ffuf -u https://target.com -H "Host: FUZZ.target.com" -w subdomains.txt -fc 404,403 -fs 1234 -t 100
Bash:
# Фильтрация по размеру ответа
ffuf -u https://target.com -H "Host: FUZZ.target.com" -w wordlist.txt -fs 615,1234
# Фильтрация по количеству слов
ffuf -u https://target.com -H "Host: FUZZ.target.com" -w wordlist.txt -fw 97
# Матчинг по регулярному выражению
ffuf -u https://target.com -H "Host: FUZZ.target.com" -w wordlist.txt -mr "admin|login|dashboard"
Этап 4: Верификация и анализ веб-сервисов
Верификация и анализ веб-сервисов — это этап разведки, направленный на подтверждение активности обнаруженных хостов и сбор детальной информации о работающих на них веб-приложениях, технологиях и потенциальных точках входа.httpx для комплексной проверки:
Bash:
httpx \
-l subdomains.txt \
-o live_hosts.txt \
-tech-detect \
-status-code \
-title \
-content-length \
-follow-redirects
- -l subdomains.txt — список поддоменов
- -o live_hosts.txt — файл с живыми хостами
- -tech-detect — определение технологий (сервер, фреймворк и т. д.)
- -status-code — вывод HTTP-кодa ответа
- -title — захват заголовка страницы
- -content-length — размер тела ответа
- -follow-redirects — отслеживание перенаправлений
Bash:
httpx -l subdomains.txt -o live_hosts.txt -tech-detect -status-code -title -content-length -follow-redirects
Bash:
httpx -l subdomains.txt -ports 80,443,8080,8443,9000,3000,8888 -path /admin,/login,/api/v1 -mc 200,301,302,401,403 -o detailed_scan.txt
Code:
https://api.example.com [200] [nginx/1.18.0] [API Gateway v2.1]
https://admin.example.com [Apache/2.4.41] [Admin Panel]
https://dev.example.com [Express] [Development Environment]
Bash:
httpx \
-l subdomains.txt \
-ports 80,443,8080,8443,9000,3000,8888 \
-path /admin,/login,/api/v1 \
-mc 200,301,302,401,403 \
-o detailed_scan.txt
- -ports — перечисление портов для опроса
- -path — список URL-путей для проверки
- -mc — фильтрация по HTTP-кодам
- -o detailed_scan.txt — файл с расширенными результатами
Этап 5: Расширенное сканирование портов
Пассивные методы через Shodan
Базовые поисковые запросы:
Bash:
shodan search "org:\"Target Organization\""
shodan search "net:192.168.1.0/24"
shodan search "hostname:example.com"
Специализированные поиски:
Bash:
shodan search "org:\"Target Corp\" port:22"
shodan search "org:\"Target Corp\" has_screenshot:true"
shodan search "ssl.cert.subject.cn:example.com"
- Первый — все SSH-серверы.
- Второй — все с интернет-интерфейсом.
- Третий — сервисы с SSL-сертификатами домена.
Censys для анализа сертификатов
Bash:
censys search certificates "names:example.com"
censys search ipv4 "autonomous_system.organization:\"Target Corp\" and services.service_name:HTTP"
Активное сканирование с Nmap
Полное TCP-сканирование:
Bash:
nmap -sS -T4 -p- target.com --max-retries 2 --max-scan-delay 20ms
- -sS — SYN-сканирование
- -T4 — агрессивный тайминг
- -p- — все 65535 портов
- --max-retries 2 — максимум 2 повтора
- --max-scan-delay 20ms — ограничение задержки
Bash:
nmap -sS -sV -sC -T4 -p 22,80,443,8080,8443 target.com -oA nmap_results
- -sV — определение версий
- -sC — скрипты
- -oA — сохранить во всех форматах
Bash:
nmap -sU -T4 -p 53,69,123,161,162,500,1434,1900 target.com --max-retries 1
- 53 (DNS), 69 (TFTP), 123 (NTP), 161/162 (SNMP), 500 (IPSec), 1434 (SQL Server), 1900 (UPnP)
Техники обхода защитных систем
Фрагментация пакетов:
Bash:
nmap -f -sS target.com
Bash:
nmap -D 192.168.1.100,192.168.1.101,ME,192.168.1.102 target.com
Bash:
nmap --source-port 53 target.com
Bash:
nmap --scan-delay 1s --max-scan-delay 10s target.com
Этап 6: Сбор информации о сервисах
Автоматизированный banner grabbing
Bash:
nmap -sV --version-intensity 9 target.com \
-p 21,22,23,25,53,80,110,143,443,993,995
Bash:
telnet target.com 80 # HTTP
telnet target.com 25 # SMTP
timeout 5 nc target.com 22 # SSH
openssl s_client -connect target.com:443 -servername target.com
Bash:
curl -I -s -k https://target.com
curl -I -s -k https://target.com -H "User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64)"
curl -X OPTIONS -i https://target.com/api/
curl -X TRACE -i https://target.com
Этап 7: Интеграция и анализ данных
Консолидация результатов и их анализ
Объединение списков поддоменов:
Bash:
cat subfinder_results.txt amass_results.txt gobuster_results.txt | sort -u | tee all_subdomains.txt
Bash:
httpx -l all_subdomains.txt -o verified_hosts.txt -mc 200,301,302,401,403,500 -timeout 10
Bash:
nmap -iL verified_hosts.txt -T4 -sS --top-ports 1000 -oA mass_scan
Анализ результатов:
- Поиск административных панелей:
Bash:
grep -i "admin\|login\|panel\|dashboard" verified_hosts.txt
- Выделение нестандартных портов:
Bash:
awk '{print $2}' mass_scan.gnmap | grep -v "80\|443" | sort -u
- Анализ HTTP-заголовков:
Bash:
grep -i "server:\|x-powered-by:\|x-generator:" http_headers.txt
Этап 8: Техники обхода защитных механизмов
Разбиение целей и параллелизация
Bash:
# Разбиение списка targets.txt на файлы по 50 строк
split -l 50 targets.txt target_chunk_
# Для каждого чанка запускаем Nmap с задержкой между запусками
for chunk in target_chunk_*; do
nmap -iL "$chunk" -T2 --max-scan-delay 5s &
sleep 60
done
Использование прокси-серверов
Bash:
# Через Tor
proxychains nmap -sS target.com
# Через HTTP-прокси в Gobuster
gobuster dns -d target.com -w wordlist.txt --proxy http://proxy:8080
Randomization: путаница для IDS/IPS
Bash:
nmap --randomize-hosts targets.txt -p 80,443,8080 --max-hostgroup 1
nmap --scan-delay "$(shuf -i 1-10 -n 1)s" target.com
Продвинутые методы и автоматизация
Bash-скрипт для комплексной разведки
Bash:
#!/bin/bash
DOMAIN=$1
OUT=results/$DOMAIN
mkdir -p "$OUT"
# Пассивная разведка
subfinder -d "$DOMAIN" -o "$OUT/subfinder.txt" -silent
amass enum -passive -d "$DOMAIN" -o "$OUT/amass.txt" -timeout 15
# Активная разведка
gobuster dns -d "$DOMAIN" \
-w /usr/share/wordlists/dns/subdomains.txt \
-t 30 -o "$OUT/gobuster.txt" -q
# Консолидация поддоменов
cat "$OUT"/*.txt | sort -u > "$OUT/all_subs.txt"
# Верификация живых хостов
httpx -l "$OUT/all_subs.txt" -o "$OUT/live.txt" -silent
# Сканирование портов
nmap -iL "$OUT/live.txt" -T4 -sS --top-ports 100 -oA "$OUT/nmap"
Структурированное документирование результатов
Bash:
# Начинаем отчет
echo "# Разведка домена: $DOMAIN" > report.md
# Количество найденных поддоменов
echo "## Поддомены: $(wc -l < results/$DOMAIN/all_subs.txt)" >> report.md
# Количество живых хостов
echo "## Live hosts: $(wc -l < results/$DOMAIN/live.txt)" >> report.md
# Открытые и фильтрованные порты
echo "## Порты:" >> report.md
grep -E "open|filtered" results/$DOMAIN/nmap.nmap >> report.md
Какой наш итог по проделанной работе? Давайте разберем, что же мы тут собрали для нашей разведки:
Сбор данных:
- Выполнен пассивный поиск через несколько источников (Subfinder, Amass, Certificate Transparency)
- Проведен DNS-брутфорс с использованием качественных словарей
- Найдены виртуальные хосты через vhost-сканирование
- Все результаты консолидированы и дедуплицированы
- Проверена активность всех обнаруженных поддоменов
- Выполнено сканирование стандартных и нестандартных портов
- Собраны баннеры сервисов и версии ПО
- Проанализированы HTTP-заголовки и технологии
- Выявлены потенциально устаревшие или уязвимые сервисы
- Отмечены необычные или подозрительные ответы сервисов
- Зафиксированы признаки honeypot'ов или системы обнаружения
- Составлена карта инфраструктуры для дальнейшего анализа
- Все команды и их результаты сохранены
- Создан структурированный отчет с ключевыми находками
- Результаты готовы для передачи на следующий этап тестирования
Заключение
Профессиональная сетевая разведка требует не только знания инструментов, но и понимания методологии их применения.Системный подход, тщательное документирование и постоянная адаптация к новым защитным механизмам.
В подведенных итогах довольно качественный и полный предварительный «рекон» (Reconnaissance), от которого дальше можно «плясать» к более глубокой автоматизированной и ручной проверки уязвимостей, эксплуатации и т.д. и т.п.
Современные методы защиты эволюционируют быстро, поэтому требуется постоянно совершенствовать свои навыки и инструментарий. Только комплексный и методичный подход к разведке гарантирует получение полной картины целевой инфраструктуры и создает надежную основу для последующих этапов тестирования на проникновение.
Написано исключительно в познавательных целях. На научный подход не претендует.
Использование практик из статьи в злых умыслах преследуется по закону.
Специально для Duty-Free.cc
Не удалось прогрузить медиа
👍20
🔥3
👏4
LIMB