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