Man-in-the-Middle — это форма сетевого вмешательства, при которой посторонний участник получает доступ к трафику между двумя сторонами, не уведомляя ни одну из них. Он встраивается в поток — между пользователем и сервисом — и может просматривать, сохранять или подменять данные, пока стороны продолжают «доверять» соединению.
Как происходит атака
На практике это может быть публичный Wi-Fi, где пользователь подключается без шифрования. Атакующий разворачивает промежуточный шлюз, маскируется под роутер, и всё, что отправляет или получает жертва, проходит через него. Особенно уязвимы соединения без HTTPS или с устаревшими TLS-протоколами.
Основные техники:
- ARP Spoofing — подмена ARP-таблиц в локальной сети, чтобы трафик шёл через машину злоумышленника;
- DNS Spoofing — жертва думает, что открывает сайт X, а попадает на его копию, размещённую на сервере атакующего;
- SSL Stripping — перевод защищённого соединения в открытое HTTP, чтобы убрать шифрование;
- Фальшивые точки доступа — сеть с похожим названием, как в кафе или отеле, но полностью под контролем атакующего.
Что может быть украдено
- пароли, сессионные токены, авторизационные заголовки;
- номера банковских карт и форма оплаты;
- логины в админки, CRM, сервисы;
- служебные запросы API;
- текстовые сообщения, вложения, документы.
Как защититься
- использовать VPN в непроверенных сетях;
- блокировать сайты без HTTPS;
- активировать двухфакторную авторизацию;
- включить HSTS на собственных сайтах;
- применять DNSSEC и TLS 1.3, если это серверная сторона.
Пример
Человек в отеле подключается к бесплатному Wi-Fi и входит в почту. Под капотом — не настоящая сеть, а ноутбук с Kali Linux, запущенный в режиме точки доступа. Всё, что вводится в браузере, перехватывается и сохраняется. Сессия перехвачена, авторизация в другом браузере — и письмо о «смене пароля» уже ушло.
MITM не требует взлома сервера — он бьёт в доверие. Его сложнее заметить, чем предотвратить. Поэтому, если соединение не зашифровано, нужно исходить из предположения, что оно уже перехвачено.