Основы тестирования на проникновение [335.2]

Рейтинг: 40.9% · 8 голосов
Специализация LPIC-3 303 (v3.0): криптография и PKI/X.509, шифрование ФС (LUKS/TPM2/Clevis), DNSSEC, hardening хоста, IDS, контроль доступа (SELinux/AppArmor), сетевая безопасность, nftables, VPN, пентест.
Ответить
Аватара пользователя
Sergey_Sysadmin
Сообщения: 134
Зарегистрирован: 11 май 2026, 05:31

Основы тестирования на проникновение [335.2]

Сообщение Sergey_Sysadmin »

Оглавление курса (16)
  1. Введение в LPIC-3 303: безопасность Linux
  2. X.509 и инфраструктура открытых ключей [331.1]
  3. X.509 для шифрования, подписи и аутентификации [331.2]
  4. Шифрование файловых систем [331.3]
  5. DNS и криптография [331.4]
  6. Усиление защиты хоста [332.1]
  7. Урок 6. Обнаружение вторжений на хосте: AIDE, auditd, сканеры руткитов и OpenSCAP
  8. Контроль ресурсов [332.3]
  9. Дискреционный контроль доступа: ACL и атрибуты [333.1]
  10. Мандатный контроль доступа: SELinux и AppArmor [333.2]
  11. Усиление сетевой защиты [334.1]
  12. Сетевое обнаружение вторжений
  13. Фильтрация пакетов [334.3]
  14. Виртуальные частные сети (VPN) [334.4]
  15. Уязвимости и угрозы [335.1]
  16. Основы тестирования на проникновение [335.2] (вы здесь)
Урок 15. Основы тестирования на проникновение [335.2]

Пентест - это не запуск Metasploit наугад, а воспроизводимая инженерная процедура: ты моделируешь действия атакующего в рамках письменного разрешения, чтобы найти дыры раньше реального противника. На LPIC-3 303 от тебя ждут понимания методологии (фазы работ), уверенного владения nmap как основным разведчиком сети, общего представления о Metasploit как фреймворке эксплуатации, а также понимания юридической рамки: что ты имеешь право делать, а что превратит тебя из аудитора в нарушителя. В этом уроке разберём фазы, инструменты и правила игры.

Изображение

Как это работает

Любая методология (PTES, OWASP, методичка OSSTMM) раскладывается на одни и те же фазы. Сначала разведка (reconnaissance) - сбор информации без агрессивного контакта: домены, поддомены, диапазоны IP, утёкшие данные, технологии. Она бывает пассивной (whois, DNS, поисковики, сертификаты в Certificate Transparency) и активной (пинги, баннеры). Затем сканирование (scanning) - ты уже стучишься в порты и определяешь живые сервисы и их версии. Дальше эксплуатация (exploitation) - получение доступа через известную уязвимость, слабый пароль или ошибку конфигурации. После закрепления идёт пост-эксплуатация (post-exploitation): повышение привилегий, сбор учёток, боковое перемещение, оценка реального ущерба. Финал - отчёт, ради которого всё и затевалось.

Ключевая идея сканирования портов: TCP-рукопожатие. На SYN сервер отвечает SYN-ACK (порт открыт) или RST (закрыт). Открытый порт без ответа за фаерволом даёт filtered. На этом строятся типы сканов nmap. SYN-скан (-sS) шлёт SYN и, получив SYN-ACK, обрывает соединение через RST, не завершая рукопожатие - быстро и относительно тихо, но требует root для сырых пакетов. Connect-скан (-sT) делает полный системный вызов connect(), его видно в логах сервиса, но root не нужен. UDP-скан (-sU) медленный и капризный: отсутствие ответа трактуется как open|filtered.

NSE (Nmap Scripting Engine) превращает nmap из сканера в мини-комбайн: на Lua написаны сотни скриптов по категориям (discovery, version, vuln, auth, brute, safe, intrusive). Категория safe не меняет состояние цели, intrusive может уронить сервис - помни об этом на проде заказчика.

Metasploit - это фреймворк, а не одна программа. Его сущности: module (exploit, auxiliary, post, payload, encoder), payload (то, что выполнится после эксплуатации, чаще всего meterpreter - резидентный агент в памяти), datastore (переменные RHOSTS, LHOST, RPORT). Workflow прямолинеен: выбрал эксплойт, задал цель и payload, проверил check, запустил run.

Команды и примеры

Установка инструментов различается по семействам:

Код: Выделить всё

# Debian 13 / Ubuntu 24.04
sudo apt update
sudo apt install nmap

# RHEL 10 / Fedora 41+
sudo dnf install nmap
Базовая разведка и типы сканов nmap:

Код: Выделить всё

# Пассивно: кто владеет и какие записи DNS
whois example.org
dig +short example.org ANY

# SYN-скан топ-1000 портов с определением версий и ОС (нужен root)
sudo nmap -sS -sV -O 192.0.2.10

# Connect-скан без root, только указанные порты
nmap -sT -p 22,80,443 192.0.2.10

# UDP-скан ключевых сервисов (медленно)
sudo nmap -sU -p 53,123,161 192.0.2.10

# Тише и аккуратнее: тайминг T2, без пинга (-Pn) если ICMP режут
sudo nmap -sS -Pn -T2 192.0.2.0/24
NSE по категориям и точечно:

Код: Выделить всё

# Все скрипты категории vuln по конкретному порту
sudo nmap -p 443 --script vuln 192.0.2.10

# Несколько безопасных скриптов discovery + аргумент
nmap --script "http-title,http-headers" -p 80 192.0.2.10

# Где лежат скрипты (для чтения исходника на Lua)
ls /usr/share/nmap/scripts/ | grep ssl
Metasploit (пакет metasploit-framework есть в репозиториях Kali; на обычном Debian/RHEL ставится из официального инсталлятора Rapid7):

Код: Выделить всё

# Инициализация БД (PostgreSQL) и запуск консоли
sudo msfdb init
msfconsole -q

# Внутри консоли:
search type:exploit name:vsftpd
use exploit/unix/ftp/vsftpd_234_backdoor
set RHOSTS 192.0.2.10
set RPORT 21
set payload cmd/unix/interact
check
run
Частые грабли
  • Скан без письменного разрешения - это уже инцидент. Даже nmap по чужому диапазону трактуется как несанкционированный доступ; область работ (scope) и сроки фиксируются ДО первой команды.
  • -O и -sV генерируют заметный трафик и могут положить хрупкий сервис или SCADA/IoT. На критичных стендах согласовывай агрессивность.
  • UDP-скан без -sV дает кучу open|filtered и вводит в заблуждение: отсутствие RST не значит, что порт открыт.
  • --script vuln относится к категории intrusive: часть скриптов реально эксплуатирует, а не только проверяет. Читай категорию перед запуском на проде.
  • Тайминг -T5 на нагруженной сети теряет пакеты и дает ложные closed. Для точности лучше -T3/-T4.
  • Сканирование с одного IP без -Pn проваливается там, где ICMP-эхо запрещён: nmap считает хост мёртвым и пропускает его.
  • meterpreter и payload оставляют артефакты. Без плана очистки (cleanup) ты загрязняешь стенд заказчика и портишь его SOC-метрики.
Мини-лаба
  • Подними изолированную сеть из двух ВМ (атакующая и уязвимая, например Metasploitable или специально настроенный Debian) - только в своей лаборатории, не в интернет.
  • С атакующей машины собери пассивную разведку цели: dig, whois по внутреннему имени.
  • Сделай SYN-скан с -sV -O, сохрани вывод в файл через -oN scan.txt и найди как минимум один устаревший сервис.
  • Запусти на найденном порту NSE-скрипты категории vuln и зафиксируй CVE из вывода.
  • В msfconsole найди соответствующий эксплойт через search, задай RHOSTS/payload, выполни check.
  • Если check подтверждает - запусти эксплойт, в meterpreter выполни getuid и sysinfo, опиши потенциальный ущерб.
  • Удали артефакты и набросай абзац отчёта: уязвимость, как проверял, риск, рекомендация по устранению.
Контрольные вопросы
  • Чем SYN-скан (-sS) отличается от connect-скана (-sT) на уровне TCP-рукопожатия и почему первый требует прав root?
  • Что означает состояние порта filtered и open|filtered, и в каких типах сканов оно появляется?
  • Назовите фазы методологии пентеста и объясните, чем разведка отличается от сканирования.
  • В чём разница между категориями NSE safe и intrusive и почему это важно на проде заказчика?
  • Какие сущности Metasploit вы знаете (module, payload, datastore) и зачем нужны переменные RHOSTS и LHOST?
  • Что такое ответственное раскрытие уязвимости и чем оно отличается от полного публичного раскрытия?
👍2 ❤️2 🔥 😄 🤔
Аватара пользователя
thesox
Сообщения: 1
Зарегистрирован: 06 июн 2026, 02:25

Re: Основы тестирования на проникновение [335.2]

Сообщение thesox »

А -Pn обязательно ставить всегда или только когда хост не пингуется? У меня без него половина диапазона как dead помечается.
👍 ❤️2 🔥 😄 🤔
Аватара пользователя
kernel1
Сообщения: 1
Зарегистрирован: 01 июн 2026, 18:44

Re: Основы тестирования на проникновение [335.2]

Сообщение kernel1 »

Запустил --script vuln на тестовом стенде и сервис лёг. Теперь понятно про категорию intrusive, лучше сначала safe гонять.
👍2 ❤️1 🔥 😄 🤔1
Ответить
← Предыдущая глава
Уязвимости и угрозы [335.1]

Все главы курса «LPIC-3 303: безопасность Linux»

Поделиться темой: ✈ Telegram VK
  • Похожие темы

Вернуться в «LPIC-3 303: безопасность Linux»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость