- Почему?
- Выявление модификации трафика
- Выявление ARP-спуфинга (травления кэша ARP)
- Выявление DNS спуфинга
- Поиск сетевых интерфейсов в неразборчивом режиме (promiscuous mode)
- Атака посредника на плохо реализованный ssl
- Вспоминаем
- Используйте браузер, который поддерживает закрепление открытых ключей
- Как работает атака «человек посередине»?
- Какие средства защиты существуют для предотвращения атак «человек посреди»?
- Криминалистика
- Нелегальные атаки mitm
- Обеспечение безопасности протокола связи
- Пару слов о rdp и mitm
- Первое правило — firewall
- Понимание ssl
- Приготовиться к атаке!
- Примеры известных атак mitm
- Проблемы центров сертификации
- Шифрование через vpn
- Вывод
- Заключение
- Связанные статьи:
Почему?
😪Мы тщательно прорабатываем каждый фидбек и отвечаем по итогам анализа. Напишите, пожалуйста, как мы сможем улучшить эту статью.
Выявление модификации трафика
Как уже было сказано, при атаках человек-посередине не всегда используется ARP-спуфинг. Поэтому хотя обнаружение активности на уровне ARP является самым популярным способом выявления, более универсальным способом является обнаружение модификации трафика. В этом нам может помочь программа mitmcanary.
Принцип работы программы заключается в том, что она делает «контрольные» запросы и сохраняет полученные ответы. После этого она через определённые интервалы повторяет эти же запросы и сравнивает получаемые ответы. Программа достаточно интеллектуальна и для избежания ложных срабатываний выявляет динамические элементы в ответах и корректно их обрабатывает. Как только программа зафиксировала следы активности инструментов для MitM-атак, она сообщает об этом.
Примеры, как могут «наследить» некоторые инструменты:
Автор программы подготовил несколько видео, на которых видно, как выявляется атака человек-посередине:
Программа mitmcanary в настоящее время отсутствует в репозиториях Kali Linux и BlackArch, но имеется простая инструкция по установке. Во всех примерах я буду вести атаки из BlackArch, а выявлять атаки в Kali Linux. Поэтому начинаю с установки mitmcanary в Kali Linux (инструкция по установке и запуску mitmcanary в BlackArch также имеется в Энциклопедии инструментов для хакинга):
Выявление ARP-спуфинга (травления кэша ARP)
Очень часто атака человек-посередине в локальной сети начинается с ARP травления. Именно поэтому в основе многих инструментов, предназначенных для выявления MitM-атак, лежит механизм слежения за изменением ARP кэша, в котором приписаны соответствия между Ethernet (MAC-адресами) и IP адресами.
В качестве примера таких программ можно вспомнить arpwatch, arpalert и большое количество новых программ. Программа ArpON не только следит за изменениями ARP кэша, но и защищает его от них.
В качестве примера запустим arpwatch в режиме отладки, без создания форков в фоне и отправки сообщений по почте. Вместо этого сообщения отправляются в stderr (стандартный вывод ошибок).
sudo /usr/sbin/arpwatch -d
На атакующей машине запустим Ettercap и начнём ARP-спуфинг. На атакуемой машине наблюдаем:
Программа arpwatch поможет быстро узнать о новых подключившихся устройствах в вашу локальную сеть, а также об изменениях ARP кэша.
https://www.youtube.com/watch?v=GqyTSohsh7M
Ещё один инструмент для выявления ARP спуфинга в реальном времени, это плагин самой Ettercap, который называется arp_cop. На атакуемой машине запустим Ettercap следующим образом:
sudo ettercap -TQP arp_cop ///
А на атакующей начнём ARP-травление. На атакуемой машине сразу начинают выводиться предупреждения:
Выявление DNS спуфинга
DNS спуфинг свидетельствует, что между вами и пунктом назначения присутствует посредник, который может модифицировать ваш трафик. Как можно обнаружить, что DNS записи были подменены? Самый простой способ это сделать — сравнить с ответами сервера имён, которому вы доверяете. Но ведь записи в ответе, присланный на ваш запрос, также могут быть подменены…
Т.е. проверять нужно либо через зашифрованный канал (например, через Tor), либо использовать нестандартные настройки (другой порт, TCP вместо UDP). Примерно для этого предназначена программа sans от XiaoxiaoPu (по крайней мере, я так понял).
У меня получилось с помощью этой программы перенаправлять DNS запросы через Tor и через нестандартные настройки на свой DNS сервер. Но я так и не смог от неё добиться, чтобы она показывала мне сообщения о спуфинге DNS ответов. А без этого смысл программы теряется.
Более достойных альтернатив мне найти не удалось.
В принципе, учитывая, что DNS спуферы, обычно, следят только за 53 портом, и только за протоколом UDP, то даже вручную достаточно просто проверить факт DNS спуфинга, правда для этого нужен свой собственный DNS сервер с нестандартной конфигурацией. Например, на атакующей машине я создал файл dns.conf со следующим содержанием:
Поиск сетевых интерфейсов в неразборчивом режиме (promiscuous mode)
Если в вашей локальной сети есть (а особенно если внезапно появилось) оборудование в неразборчивом режиме, это очень подозрительно, хотя и не свидетельствует однозначно об атаке человек-посередине.
В этом режиме сетевая плата позволяет принимать все пакеты независимо от того, кому они адресованы.
В нормальном состоянии на Ethernet-интерфейсе используется фильтрация пакетов канального уровня и если MAC-адрес в заголовке назначения принятого пакета не совпадает с MAC-адресом текущего сетевого интерфейса и не является широковещательным, то пакет отбрасывается.
Большинство операционных систем требуют прав администратора для включения «неразборчивого» режима. Т.е. перевод сетевой карты в неразборчивый режим – это сознательное действие, которое может преследовать цели сниффинга.
Для поиска сетевых интерфейсов в неразборчивом режиме имеется плагин Ettercap, который называется search_promisc.
Пример запуска плагина:
sudo ettercap -TQP search_promisc ///
Работа плагина не является полностью надёжной, могут иметь место ошибки в определении режима сетевого интерфейса.
Атака посредника на плохо реализованный ssl
Современный SSL использует хороший алгоритм шифрования, но это не имеет значения, если он реализован неправильно. Если хакер может перехватить запрос, он может его изменить, удалив из запрашиваемого URL «S», тем самым обойдя SSL.
Такой перехват и модификацию запроса можно заметить. Например, если вы запрашиваете а в ответ приходит , это должно вызвать подозрения. На момент написания статьи такая атака действительно работает на сервисе электронной почты Yahoo.
Рисунок 3. Перехват и модификация запроса
Вспоминаем
Итак, в предыдущей статье мы остановились на спуфинг-атаках в проводных и беспроводных средах, показав техники мониторинга запросов и ответов к DNS-серверам. DNS был выбран не просто так – это одна из первоочередных целей. Почему? Все просто – практически любая сессия сейчас начинается с запроса IP-адреса целевого узла на DNS-серверах.
Сегодня мы будем показывать атаки «на меди», но для того же Wi-Fi практически ничего не меняется кроме пары нюансов. Врезку в оптику опустим, так как данный вектор атак очень затратен и для него необходимо специальное оборудование.
Для начала нас интересует «незаметный» перехват DNS-запросов. Я воспользуюсь парой следующих утилит: DNS2Proxy (утилите уже немало лет, но она до сих пор вполне боеспособна) и arpspoof (тоже немолодой).
Запускаем:
# arpspoof -r 192.168.180.254 192.168.180.1 // Первый IP – адрес жертвы, второй - маршрутизатора
# python2 dns2proxy.py -u 192.168.180.253 // опция -u позволяет установить IP-адрес, который будет возвращаться клиенту перед легитимными адресами
# iptables -t nat -A PREROUTING -i enp14s0 –p udp --dport 53 -j DNAT --to-destination 192.168.180.253:53https://www.youtube.com/watch?v=fDbQMk5OMZw
Теперь проверим, как это отражается на машине жертвы, выполнив nslookup любого домена:
Отлично, жертва получает необходимый злоумышленнику IP-адрес хоста, скорее всего, локальный IP-адрес устройства, с которого развивается атака. Также на скриншоте видно, что клиент считает, что ей отвечает легитимный DNS-сервер, что, разумеется, немного не так.
Что дальше? А дальше нам надо развернуть «проксирующий» web-сервер, который будет строить 2 соединения: одно — «прокси» <> легитимный узел в сети, а второе — «прокси» <> жертва. Воспользуемся SSLsplit.
Запускаем:
# sslsplit –l 2000
# iptables -t nat -A PREROUTING -i enp14s0 –p tcp -m tcp --dport 80 -j DNAT --to-destination 192.168.180.253:2000Проверяем, что будет, если мы попробуем перейти на какой-нибудь автомобильный портал, например,
Используйте браузер, который поддерживает закрепление открытых ключей
Некоторые атаки MitM могут быть очень сложными. Поскольку большая часть защиты связана с TLS и шифрованием, а шифрование сложно взломать, продвинутым злоумышленникам будет проще имитировать веб-сайт. Например, сертификатам TLS доверяют браузеры, поскольку они подписаны центрами сертификации (CA), которым доверяет браузер.
Если Мэллори успешно скомпрометирует ЦС, она может выдать действительные сертификаты для любого домена, которому будут доверять веб-браузеры. Как только Мэллори сможет успешно выдать себя за законный веб-сайт, единственная оставшаяся проблема состоит в том, чтобы заставить пользователей посетить этот сайт с помощью стандартных методов фишинга..
Это имело место в 2022 году, когда голландский CA DigiNotar был скомпрометирован и были созданы сертификаты, чтобы заставить большое количество иранских пользователей Gmail отказаться от своих имен пользователей и паролей Google..
Как работает атака «человек посередине»?
В былые времена эта фраза относилась к буквальному человеку посередине. Генерал Боб отправил бы своего посланника верхом на коне, чтобы сказать полковнику Алисе атаковать левый фланг. Леди Мэллори, злой (бедный) человек посередине, задержит этого посланника и украдет сообщение.
Затем она передаст сообщение полковнику Алисе, приказывающее ему отступить, и отправит ответ генералу Бобу, подтверждающий исходные фланговые приказы. Вскоре после этого генерал Боб проигрывает войну в ошеломляющем тактическом смущении, потому что его левый фланг был полностью незащищен.
https://www.youtube.com/watch?v=d8oWPesBFUY
Интернет-атаки MitM принимают ту же форму. Распространенная атака MitM для Мэллори — установка фиктивной точки беспроводного доступа в публичном месте; кофейня например. Она дает поддельной точке доступа законное звучащее имя, такое как «coffeeshop-customer-free-wifi», и вскоре клиенты начинают подключаться к этой точке доступа вместо законной.
В этот момент Мэллори вставила себя в поток данных между вашим устройством и интернетом в целом и может захватить весь ваш трафик. Если вы не используете шифрование, это также означает, что Мэллори теперь может читать весь ваш трафик и потенциально изменять его.
Некоторые возможные результаты этого перехвата:
Угон сеансаРассмотрим случай, когда вы используете веб-почту для отправки электронной почты. Когда вы вошли в свою веб-почту, Мэллори захватила копию вашего файла cookie аутентификации, когда он был отправлен в ваш браузер, и теперь она может использовать этот файл cookie и для доступа к вашей веб-почте..
Примечание. В предыдущих статьях я описывал, как на самом деле работает сеть, а не как нам говорят. Мы не «заходим» на сайты. Скорее, наш браузер запрашивает веб-сайт, который затем отправляется на наш локальный компьютер. Затем мы вводим наши регистрационные данные, которые отправляются на сервер веб-сайта.
Если учетные данные верны, веб-сайт ответит каким-либо токеном аутентификации, обычно cookie. Когда мы делаем дополнительные запросы с нашего компьютера, этот файл cookie отправляется вместе с этими запросами, чтобы веб-сайт знал, кто мы, и не заставлял нас входить в систему каждый раз, когда мы хотим перейти на другую страницу. Этот файл cookie является конфиденциальным токеном и является ценным в случае кражи..
Повторить атаку: Мэллори может выполнить повторную атаку. Поскольку у нее есть все ваши данные, можно «воспроизвести» то, что вы сделали. Например, если вы перевели 100 кредитов Runescape своему другу, повторная отправка пакетов, которые содержали эту первоначальную передачу, может привести к другой передаче, и у вас уже нет 200 кредитов.
Измененный контентВернемся к примеру с веб-почтой. Возможно, вы даете указание своему адвокату удержать средства недавней юридической сделки. Поскольку у Мэллори есть все пакеты, включающие это электронное письмо, она может изменить слово «не сообщать» на «освободить» и вызвать всевозможные недоразумения.
Недостающий контентДругой вариант измененного контента — это полное исчезновение контента. Возможно, вы ждете сигнала, чтобы что-то сделать. Мэллори может убедиться, что он никогда не прибудет.
Какие средства защиты существуют для предотвращения атак «человек посреди»?
Несмотря на бесконечные способы, которыми эти атаки могут закончиться, на самом деле есть только несколько вещей, которые используются снова и снова. Для защиты от MitM-атак должно существовать следующее:
Неотрекаемость: Сообщение пришло от человека или устройства, оно говорит, что пришло.
Целостность сообщения: Сообщение не было изменено, так как оно вышло из-под контроля отправителя
Имейте в виду, что слово «сообщение» используется в общем для обозначения многих понятий, таких как полные электронные письма или пакеты данных ниже в стеке. Применяются одни и те же понятия, независимо от типа данных.
Способы не стать жертвой атаки MitM включают в себя:
Криминалистика
Поскольку злоумышленник отправляет поддельные пакеты ARP, нельзя увидеть его IP-адрес. Вместо этого нужно обращать внимание на MAC-адрес, который является специфическим для каждого устройства в сети. Если вы знаете MAC-адрес вашего маршрутизатора, вы можете сравнить его с МАС-адресом шлюза по умолчанию, чтобы выяснить, действительно ли это ваш маршрутизатор или злоумышленник.
Например, на ОС Windows вы можете воспользоваться командой ipconfig в командной строке (CMD), чтобы увидеть IP-адрес вашего шлюза по умолчанию (последняя строка):
Рисунок 9. Использование команды ipconfig
Затем используйте команду arp –a для того, чтобы узнать MAC-адрес этого шлюза:
Рисунок 10. Использование команды arp –a
Но есть и другой способ заметить атаку — если вы отслеживали сетевую активность в то время, когда она началась, и наблюдали за пакетами ARP. Например, можно использовать Wireshark для этих целей, эта программа будет уведомлять, если MAC-адрес шлюза по умолчанию изменился.
Примечание: если атакующий будет правильно подменять MAC-адреса, отследить его станет большой проблемой.
Нелегальные атаки mitm
Стоит также отметить, что некоторые атаки MitM являются довольно неэлегансными и простыми. Например, Мэллори, не имея большого технического опыта, могла бы создать два адреса электронной почты, которые точно совпадают с адресами Алисы и Боба, а затем начать разговор с одним из них, имея в виду другой.
Поскольку многие почтовые клиенты показывают только имена адресов, а не их адреса электронной почты, эта хитрость работает чаще, чем должна. Тогда Мэллори сможет управлять обоими почтовыми ящиками и оставаться в середине разговора неопределенно долго.
Лучшая защита от этого типа атаки MitM — быть бдительным. Ищите контрольные знаки, такие как необычный язык, и наведите курсор на адрес электронной почты отправителя, чтобы убедиться, что он является законным.
Обеспечение безопасности протокола связи
Безопасный протокол связи должен иметь каждое из следующих свойств:
- Приватность — только предполагаемый получатель может прочитать сообщение.
- Аутентичность — личность взаимодействующих сторон доказана.
- Целостность — подтверждение того, что сообщение не было изменено в пути.
Если хоть одно из этих правил не соблюдено, весь протокол скомпрометирован.
Пару слов о rdp и mitm
Есть такая интересная утилита, которая называется
и, по сути, является связкой aprspoof’а и sslstrip, но для RDP. Суть проста: при обращении на порт 3389 Seth действует аналогично sslstrip и строит «свое» соединение до целевого узла. Пользователь вводит учетные данные… и на этом можно заканчивать.
Запускаем:
# ./seth.sh enp14s0 192.168.180.253 192.168.180.254 192.168.180.1Запускаем на клиенте RDP, подключаемся к любому RDP-хосту (я подключался к серверу за пределами сети 192.168.180.0/24) и вводим учетную запись. Лично я после этого этапа каждый раз ловил ошибку, хотя утилита должна проксировать соединение, но самую важную часть работы она выполнила:
В выделенном прямоугольнике был пароль в открытом виде.
Первое правило — firewall
Во-первых, включите на своём устройстве межсетевой экран. В системе Windows это Windows Defender Firewall. Он по умолчанию включён, если у вас не установлено стороннее ПО, выполняющее ту же функцию. Проверить и включить Firewall можно на панели управления перейдя по одноимённому пункту меню и выбрав Включить/выключить Windows Defender Firewall:
Это защитит ваш компьютер от вторжения злоумышленника и кражи ваших электронных данных. Также не помещает установить какой-нибудь антивирус, даже бесплатный, который способен защитить ваше устройство от заражения сетевым червем, который тоже занимается кражей данных и не только.
Понимание ssl
С точки зрения хакера, компрометирование любого протокола связи сводится к тому, чтобы найти слабое звено среди перечисленных выше компонентов (приватность, аутентичность и целостность).
SSL использует асимметричный алгоритм шифрования. В симметричном шифровании проблема заключается в том, что для шифрования и дешифрования данных используется один и тот же ключ, такой подход недопустим для интернет-протоколов, поскольку злоумышленник может проследить этот ключ.
Асимметричное же шифрование включает в себя 2 ключа для каждой стороны: открытый ключ, используемый для шифрования, и конфиденциальный ключ, используемый для дешифрования данных.
Рисунок 7. Работа публичного и конфиденциального ключей
Как SSL обеспечивает три свойства, необходимые для безопасной связи?
- Поскольку для шифрования данных используется асимметричная криптография, SSL обеспечивает приватное соединение. Это шифрование не так уж легко взломать и остаться незамеченным.
- Сервер подтверждает свою легитимность, посылая клиенту SSL-сертификат, выданный центром сертификации — доверенной третьей стороной.
Если злоумышленнику каким-либо образом удастся заполучить сертификат, он может создать условия для атаки посредника. Таким образом, он создаст 2 соединения — с сервером и с жертвой. Сервер в этом случае думает, что злоумышленник — это обычный клиент, а у жертвы нет возможности идентифицировать злоумышленника, поскольку тот предоставил сертификат, доказывающий, что он сервер.
Ваши сообщения доходят и приходят в зашифрованном виде, однако проходят по цепочке через компьютер киберпреступника, где у него есть полный контроль.
Рисунок 8. Схема атаки при наличии у злоумышленника сертификата
Сертификат не обязательно должен быть подделан, если у злоумышленника есть возможность скомпрометировать браузер жертвы. В этом случае он может вставить самостоятельно подписанный сертификат, который будет доверенным по умолчанию. Так и реализовываются большинство атак посредника. В более сложных случаях хакер должен пойти другим путем — подделать сертификат.
Приготовиться к атаке!
Чтобы не стать жертвой атаки типа MITM, нужно знать всего несколько правил безопасности.
Примеры известных атак mitm
Я уже коснулся Wi-Fi MitM и повторных атак, но практически нет предела тому, как общие методы MitM можно использовать в качестве атаки. Любой процесс, в котором участвуют две или более стороны (спойлер: это все) имеет право плохому парню впрыскивать себя в середину.
ARP Отравление: Протокол разрешения адресов — это незамеченный герой IP-сети, который гарантирует, что пакеты приходят именно к той сетевой карте, для которой они предназначены. Как только пакет поступает в локальную сеть назначения, ему необходимо знать адрес управления доступом к среде (MAC) сетевой карты, для которой он предназначен.
Это достигается запросом ARP who-has, который запрашивает у каждого компьютера в локальной сети «у кого есть» IP-адрес назначения пакета. Теоретически, сетевая карта, которой назначен этот IP-адрес, отвечает своим MAC-адресом, и пакет доставляется. На практике в протокол ARP не встроена аутентификация, поэтому Мэллори может ответить, что у нее есть этот IP, и трафик будет ей доставлен.
Порт Кража: Это расширенная атака, которая может использоваться в больших сетях, в которых используются сетевые коммутаторы. Коммутаторы содержат таблицу Content Addressable Memory (CAM), которая записывает отношения между MAC-адресами сетевых карт, которые он обслуживает, и их соответствующими портами.
Если нет другой настройки безопасности, то таблица CAM динамически создается и перестраивается с каждым пакетом, который видит коммутатор. Злоумышленник может подделать пакет с MAC-адресом жертвы, и коммутатор запишет эту связь. Это означает, что последующие пакеты, предназначенные для жертвы, будут отправлены злоумышленнику вместо.
MitM-атаки очень трудно обнаружить, и против них нет «серебряной пули». Во многом, эта неспособность полностью защитить от атак MitM проистекает из того факта, что почти нет конца типам атак, которые может придумать плохой парень. Процесс передачи пакета данных с вашего компьютера на сервер где-то в Интернете включает в себя множество протоколов, множество приложений и множество устройств, таких как маршрутизаторы и коммутаторы, которые потенциально могут быть использованы.
Лучшее, что вы можете сделать, — это стать «высоко висящим фруктом» и принять меры, чтобы ему стало труднее стать жертвой атаки MitM. Большинство атак направлено на большое количество людей, чтобы обеспечить наибольший потенциал для успеха. Если противник не преследует вас конкретно, шаги, описанные в этой статье, должны обеспечить хорошую защиту..
Вам также могут понравиться VPN-логирование VPN и ордера на поиск VPN.PN70 распространенные онлайн-мошенничества, используемые киберпреступниками и мошенниками. VPN Как бесплатно удалить шпионское ПО и какие инструменты использовать VPN.
Проблемы центров сертификации
Отправляемый сервером сертификат выдан и подписан центром сертификации. В каждом браузере есть список доверенных центров сертификации, и вы можете добавлять или удалять их. Проблема здесь заключается в том, что если вы решите удалить крупные центры, вы не сможете посещать сайты, использующие подписанные этими центрами сертификаты.
Шифрование через vpn
В-третьих, при подключении к публичным сетям рекомендуется пользоваться VPN сервисами. VPN сервисы создают защищенный туннель между вами и серверами поставщика VPN услуг. Все данные в таком туннеле тоже шифруются надежными алгоритмами шифрования.
Кстати, о том, что такое VPN и как он обходит блокировки можно почитать в нашей статье
Ну а напоследок, просто быть повнимательнее. Не нужно подключаться к первой попавшейся беспроводной сети с подозрительным названием. Если вы сидите в кафе, то название точки доступа обычно совпадает с названием объекта. Правда, подмену SSID никто не отменял, но для этого нужно вырубить роутер, безопасность которого забота сотрудников ИТ отдела данного объекта.
Безопасного интернет-серфинга!
Вывод
SSL — протокол, заставляющий злоумышленника проделать огромную работу для совершения атаки. Но он не защитит вас от атак, спонсируемых государством или от квалифицированных хакерских организаций.
Задача пользователя заключается в том, чтобы защитить свой браузер и компьютер, чтобы предотвратить вставку поддельного сертификата (очень распространенная техника). Также стоит обратить внимание на список доверенных сертификатов и удалить те, кому вы не доверяете.
Заключение
https://www.youtube.com/watch?v=vEPU3FICqEw
Некоторые методы атаки человек-посередине оставляют много следов, а некоторые (например, пассивный поиск учётных данных на прокси) невозможно или почти невозможно обнаружить.


