
Полная версия
Пентест из Подвала от Recon до Shell
Пример команды subfinder:
subfinder -d example.com -silent> subs. txtAmass для более масштабного сбора:
amass enum -d example.com -o amass_output. txtКак проверить валидность поддоменов?
massdns для быстрой проверки DNS:
massdns -r resolvers. txt -t A -w alive. txt subs. txt2. IP-адреса — узлы в сети
После того, как знаешь поддомены, нужно их связать с IP. IP — это реальные железки, которые будут твоей точкой входа.
Как получить IP?
— Простая команда в Linux:
dig +short example.com— Для всех поддоменов — использовать скрипт с dig или massdns
— Также полезны сайты типа HackerTarget и VirusTotal для дополнительной инфы
Важный момент: у крупных компаний часто цели распределены по группам IP или CDN — это стоит учитывать для дальнейших действий.
3. Сервисы и версии — где кроется уязвимость
На IP и портах живут сервисы: веб-серверы, базы данных, ftp и так далее.
Основные сервисы, которые нужно проверять:
— HTTP/HTTPS (80,443) — веб-приложения
— SSH (22) — удалённое управление
— FTP (21) — файловый обмен
— SMTP (25) — почтовые сервера
— SQL-сервера (3306, 5432) — базы данных
— SMB (445) — сетевые шары Windows
Как определить сервисы и их версии?
nmap с опцией:
nmap -sV -p 22,80,443,3306,445 192.168.1.100— -sV — сервисы и версии
— Можно расширить список портов
Знание версии — ключ к выбору эксплойта.
4. Открытые порты — мины на пути
Порты — это ворота в систему. Открытые — значит, туда можно сунуться.
Как быстро найти открытые порты?
nmap полный скан:
nmap -p- -T4 192.168.1.100— -p- — все порты
— -T4 — ускоренный режим
Что делать с результатами?
— Собрать список открытых портов для дальнейшего анализа
— Проверить сервисы и версии на этих портах
— Сделать заметки по потенциальным дыркам
5. Автоматизация — не делай всё вручную
Чтобы не сидеть год — пользуй скрипты для сбора и обработки информации.
Например, на Python:
import subprocess domains = open('subs.txt').read ().splitlines () for domain in domains: ip = subprocess.getoutput (f’dig +short {domain}») print (f» {domain}: {ip}»)6. Практический пример рекона цели
— Сначала собираем поддомены:
subfinder -d example.com -silent> subs. txt— Проверяем живые:
massdns -r resolvers. txt -t A -w alive. txt subs. txt— Получаем IP:
cat alive. txt | cut -d ' ' -f 1 | xargs -I {} dig +short {}— Сканаем порты сервисов:
nmap -sV -p- -iL alive. txt -oN scan_results. txt— Анализируем версии, ищем к ним CVE.
Итог
Поддомены, IP, сервисы и порты — твои глаза и руки, которые чувствуют где слабое место. Правильно собранная информация — уже полдела взлома. Не срывайся сразу ломиться в дверь — сначала изучи её код и замки.
Полезные скрипты и команды
1. Поиск поддоменов и проверка на живучесть
subfinder — быстро, просто, эффективно
subfinder -d example.com -silent> subs. txt— silent чтобы не светить лишних сообщений, а получать только список.
Проверка живых доменов через massdns
massdns -r resolvers. txt -t A -w alive. txt subs. txtresolvers. txt — список резолверов (DNS-серверов). Alive. txt — живые поддомены.
2. Получение IP адресов из списка поддоменов
На bash:
cat alive. txt | cut -d ' ' -f 1 | while read domain; do dig +short «$domain»; done> ips. txtПросто и понятно — вытягиваем айпишники из валидных поддоменов.
3. Полный скан портов и сервисов с nmap
За основу — полный скан всех портов:
nmap -sS -p- -T4 -oA fullscan — open -iL ips. txt— -sS — stealth SYN scan, тихий как кот
— -p- — все 65535 портов
— -T4 — скорость
— — open — показывать только открытые порты
— -iL — список целей (ip из ips. txt)
— -oA — вывод в три формата (.nmap,.gnmap,.xml)
4. Определение сервиса и версии на открытых портах
nmap -sV -p$ (cat fullscan.gnmap | grep open | cut -d ' ' -f 2 | tr '\n’»,») -iL ips. txt -oN services. txtВыдергиваем порты из результатов и запускаем проточный скан с определением версий.
5. Поиск директорий и файлов на вебах с Gobuster
gobuster dir -u http://example.com -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium. txt -t 50 -o gobuster. log— -w — словарь
— -t — количество потоков для скорости
— -o — лог
6. Автоматический поиск SQL инъекций с sqlmap
sqlmap -u "http://example.com/product?id=1" — batch — threads=10 — dbs— — batch — автоматический режим (нет вопросов)
— — threads — параллелизм
— — dbs — показать базы данных
7. Сбор информации о сертификатах с crt.sh
curl "https://crt.sh/?q=%.example.com&output=json" | jq». [] |.name_value’ | sort -uПолучаем поддомены из публичных сертификатов.
8. Быстрый поиск и фильтрация на Shodan
shodan search — limit 100 "hostname:example.com»Нужен API ключ. Выводит сервисы, уязвимости и порты.
9. Python скрипт для автоматизации сбора и сканирования
import subprocess def run_cmd (cmd): result = subprocess.run (cmd, shell=True, stdout=subprocess. PIPE) return result.stdout.decode () # Поиск поддоменов domains = run_cmd (’subfinder -d example.com -silent’) with open (’subs. txt’, ’w’) as f: f. write (domains) # Проверка живых alive = run_cmd (’massdns -r resolvers. txt -t A -w alive. txt subs. txt’) # Получаем IP with open (’alive. txt’) as f: subs = f.readlines () ips = [] for line in subs: domain = line. split (»») [0] ip = run_cmd (f’dig +short {domain}').strip () if ip: ips. append (ip) with open (’ips. txt’, ’w’) as f: f.write('\n'.join (ips)) # Запуск nmap nmap_cmd = f"nmap -sS -p- -T4 -oA fullscan — open -iL ips. txt» print («Running nmap…») print (run_cmd (nmap_cmd))10. Дополнительные лайфхаки
— Используй tmux для мультизадачности и сохранения сессий.
— Автоматизируй сканирование с кроном, если делаешь постоянный мониторинг.
— Оборачивай сложные цепочки команд в bash-скрипты с логированием.
Итог
Разведка — это комбинация простых, но мощных команд и скриптов, которые позволяют собрать максимум информации, не поднимая шума. Чем лучше ты автоматизируешь, тем быстрее и эффективнее будешь попадать туда, куда надо.
Дополнительно:
1. Собирем полный набор автоматических pipeline для Recon — от subfinder до nmap
Зачем?
Автоматизация — ключ к скоростному и стабильному разведывательному процессу. Ручками — долго, нудно и сливы.
Как?
— Запилил скрипт на bash или Python, который:
— Запускает subfinder или amass на домен, собирает поддомены.
— Пробивает их через massdns или dnsx на живучесть.
— Преобразует валидные поддомены в IP через dig или massdns.
— Находит открытые порты через nmap (-sS -p-).
— Определяет сервисы и версии (-sV).
— Собирает результаты в логи и генерирует отчёт.
Пример snippet на bash:
#!/bin/bash domain=$1 subfinder -d $domain -silent> subs. txt massdns -r resolvers. txt -t A -w alive. txt subs. txt awk» {print $1}» alive. txt | sed ’s/\.$//'> alive_domains. txt for d in $ (cat alive_domains. txt); do dig +short $d; done> ips. txt nmap -sS -p- -T4 -oA fullscan -iL ips. txt nmap -sV -p- -T4 -oN services. txt -iL ips. txt echo «Recon pipeline completed for $domain»2. Делаем мини-рутину для отчёта о собранных данных в HTML или Markdown
Зачем?
Отчёт — лицо пентестера. Понятный, структурированный, чтобы заказчик и команда могли двигать защиту.
Как?
— Генерить Markdown — легко читать и конвертить.
— Собрать все важные части: список поддоменов, живые, IP, открытые порты и сервисы.
— Можно использовать Python с библиотекой markdown или просто шаблон.
Пример шаблона Markdown:
# Отчёт Recon по example.com ## Поддомены — sub1.example.com — dev.example.com ## Живые домены — sub1.example.com (192.168.1.1) — dev.example.com (192.168.1.2) ## Открытые порты и сервисы| IP | Порт | Сервис | Версия |
| — — | — — — | — — — — | — — — — |
| 192.168.1.1 | 80 | HTTP | Apache 2.4.29 |
| 192.168.1.2 | 22 | SSH | OpenSSH 7.6p1 |
3. Забиваем шаблоны для Google Dork’ов в удобный скрипт с выбором параметров
Зачем?
Гуглодорки — клад, но работать вручную долго. Автоматизация — спасение.
Конец ознакомительного фрагмента.
Текст предоставлен ООО «Литрес».
Прочитайте эту книгу целиком, купив полную легальную версию на Литрес.
Безопасно оплатить книгу можно банковской картой Visa, MasterCard, Maestro, со счета мобильного телефона, с платежного терминала, в салоне МТС или Связной, через PayPal, WebMoney, Яндекс.Деньги, QIWI Кошелек, бонусными картами или другим удобным Вам способом.





