Как взломать вашу переписку

Содержание:

Примеры атак [ править | править код ]

Пример атаки на алгоритмическом языке

Атака на протокол Диффи-Хеллмана

Рассмотрим атаку на протокол выработки общего секрета Диффи-Хеллмана между сторонами A и B. Допустим, криптоаналитик E имеет возможность не только перехватывать сообщения, но и подменять их своими, то есть осуществлять активную атаку:

Перехват и подмена ключей

  1. Сторона

A отправляет сообщение стороне B:

>>p.>

>>p.>

>>p.>

>>p.>

>>p,>

>>p.>

  1. Сторона

A отправляет сообщение m стороне B, зашифрованное при помощи ключа K A E >:

Таким образом, криптоаналитик E получает возможность перехватывать и подменять все сообщения в канале связи. При этом, если содержимое сообщений не позволяет выявить наличие в канале связи третьей стороны, то атака «человек посередине» считается успешной.

Атака посредника на SSL

В данном примере мы рассмотрим атаку на SSL через HTTP, также известного как HTTPS, поскольку это самая распространенная модель реализации протокола SSL и используется практических во всех системах банковских сетевых приложений, службах электронной почты для обеспечения шифрования канала связи. Эта технология призвана обеспечить сохранность данных от перехвата третьими лицами при помощи простого анализатора пакетов.

Рассмотрим процесс коммуникации по HTTPS на примере подключения пользователя к учетной записи на Google. Этот процесс включает в себя несколько отдельных операций:

  1. Клиентский браузер обращается к http://mail.google.com на порт 80 при помощи HTTP.
  2. Сервер перенаправляет клиентскую HTTPS-версию этого сайта, используя HTTP code 302 перенаправление.
  3. Клиент подключается к https://mail.google.com на порт 443.
  4. Сервер предъявляет клиенту свой сертификат открытых ключей для проверки подлинности сайта.
  5. Клиент сверяет данный сертификат со своим списком доверенных центров сертификации.
  6. Создается зашифрованное соединение.

Из всех этих действий наиболее уязвимой видится операция перенаправления на HTTPS через код ответа HTTP 302. Для осуществления атаки на точку перехода от незащищенного к защищенному каналу был создан специальный инструмент SSLStrip. С использованием данного инструмента процесс атаки выглядит следующим образом:

  1. Перехват трафика между клиентом и веб сервером.
  2. В момент обнаружения HTTPS URL адреса инструмент SSLstrip подменяет его HTTP-ссылкой, сопоставляя все изменения.
  3. Атакующая машина предоставляет сертификаты веб-серверу и олицетворяет клиента.
  4. Трафик принимается с защищенного веб-сайта и предоставляется клиенту.

В результате чего атакующий получает доступ к данным, которые клиент отправляет на сервер. Этими данными могут быть пароли от учетных записей, номера банковских карт или любая другая информация, которая обычно передается в скрытом виде. Потенциальным сигналом проведения данной атаки для клиента может стать отсутствие обозначения защищенного HTTPS-трафика в браузере. Для сервера же такая подмена останется совершенно незамеченной, потому как нет никаких изменений в SSL-трафике.

Отравление кэша ARP

Основой атаки «Отравление кэша ARP» является уязвимость в протоколе ARP. В отличие от таких протоколов как DNS, которые можно настроить на приём только защищенных динамических обновлений, устройства, использующие ARP, будут получать обновления в любое время. Такое свойство ARP-протокола позволяет любому устройству отправлять пакет ARP-ответа на другой узел, чтобы потребовать от него обновления ARP-кэша. Отправка ARP-ответа без генерирования каких-либо запросов называется отправкой самообращённых ARP. Если имеются злоумышленные намерения, результатом удачно направленных самообращенных ARP-пакетов, используемых таким образом, могут стать узлы, считающие, что они взаимодействуют с одним узлом, но в реальности они взаимодействуют с перехватывающим узлом взломщика .

Атака посредника на плохо реализованный SSL

Современный SSL использует хороший алгоритм шифрования, но это не имеет значения, если он реализован неправильно. Если хакер может перехватить запрос, он может его изменить, удалив из запрашиваемого URL «S», тем самым обойдя SSL.

Такой перехват и модификацию запроса можно заметить. Например, если вы запрашиваете https://login.yahoo.com/ а в ответ приходит http://login.yahoo.com/ , это должно вызвать подозрения. На момент написания статьи такая атака действительно работает на сервисе электронной почты Yahoo.

Рисунок 3. Перехват и модификация запроса

Чтобы предотвратить такую атаку, серверы могут реализовать HTTP Strict Transport Security (HSTS) — механизм, активирующий форсированное защищенное соединение через протокол HTTPS. В этом случае, если злоумышленник модифицирует запрос, убрав из URL «S», сервер все равно перенаправит пользователя 302-редиректом на страницу с защищенным протоколом.

Рисунок 4. Схема работы HSTS

Такой способ реализации SSL является уязвимым для другого вида атаки — злоумышленник создает SSL-соединение с сервером, но различными уловками заставляет пользователя использовать HTTP.

Рисунок 5. Схема атаки при HSTS

Для предотвращения таких атак современные браузеры вроде Chrome, Firefox и Tor отслеживают сайты, использующие HSTS и устанавливают с ними соединение со стороны клиента по SSL в принудительном порядке. В этом случае злоумышленнику, проводящему атаку посредника, придется создавать SSL-соединение с жертвой.

Рисунок 6. Схема атаки, где злоумышленник устанавливает SSL-соединение с жертвой

Для того чтобы обеспечить SLL-соединение с пользователем, злоумышленник должен знать, как действовать в качестве сервера. Давайте разберемся в технических аспектах SSL.

Делаем гостевую систему

В качестве гостевой ОС есть смысл рассматривать два варианта:

  • Kali Linux с полноценным набором хакерского софта;
  • минималистичный дистрибутив с OpenVPN, который будет играть роль шлюза.

С первым вариантом все просто — скачал и запустил. В Kali почти наверняка будет весь необходимый арсенал.

Но мы вместо того, чтобы закидывать в эту виртуалку весь любимый софт, соберем свою с чистого листа и превратим в шлюз, который предоставит нам комфортный L2-доступ к атакованному хосту из любой точки мира.

Так мы сэкономим 1–2 Гбайт места, так как весь ][-софт будет запускаться с машины атакующего, да и антивирус в таком случае ничего не увидит.

Чтобы сделать дистрибутив минималистичным, потребуется создать его, что называется, from scratch. Наиболее переносимым вариантом будет 32-битная система.

Создаем образ, который впоследствии будем наполнять:

Мы указали размер образа с запасом в 1 Гбайт, в дальнейшем формат VDI сожмет пустоты.

Создаем разметку диска — один логический раздел:

Command (m for help):n
Command (m for help):p
Partition number (1-4, default 1):
First sector (2048-2097151, default 2048):
Last sector, +/-sectors or +/-size{K,M,G,T,P} (2048-2097151, default 2097151):
Command (m for help):w
Command (m for help):q

Создаем файловую систему и монтируем готовый раздел:

Скачиваем минимальный набор user-space:

Теперь осталось собрать ядро:

Создаем дефолтную конфигурацию ядра:

Также нам потребуется несколько дополнительных модулей:

  • Сперва самое главное — поддержка сетевого моста (bridge): Networking support → Networking options → 802.1d Ethernet Bridging.
  • Поддержка виртуальных интерфейсов (tun) тоже потребуется: Device Drivers → Network device support → Network core driver support → Universal TUN/TAP device driver support.
  • Помимо OpenVPN, туннель можно построить и через GRE (опционально): Networking support → Networking options → TCP/IP networking → The IPv6 protocol → IPv6: GRE tunnel.
  • Для построения PPP-туннелей в одну команду (тоже опционально): Device Drivers → Network device support → PPP (point-to-point protocol) support.

Собираем ядро:

Собираем модули:

После того как все собралось, копируем ядро и модули:

Остался RAM-диск. Его, если хост-система 64-битная, лучше собрать на 32-битной системе. Только что скачанное через debootstrap окружение идеально подходит для этого:

И последнее — загрузчик ОС.

Пропишем опции для загрузки:

mnt/boot/grub/grub.cfg

Готово. Мы получили полностью работоспособную ОС. Теперь нужно слегка настроить ее. Снова заходим в файловую систему:

Сперва настроим SSH, без этого никуда:

Не забываем указать пароль для root:

Теперь очередь сервера OpenVPN, через который и предполагается организовывать себе доступ:

Опустим этап генерации сертификатов и ключей для OpenVPN. Итоговый конфиг для серверной стороны должен выглядеть так:

Здесь up.sh и down.sh — это скрипты, которые должны добавлять интерфейс VPN в сетевой мост.

/etc/openvpn/up.sh
/etc/openvpn/down.sh

Дополнительно я для себя добавил клиент OpenVPN для подключения к VDS, который поднимется сразу после запуска виртуалки и позволит подключаться откуда угодно.

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

А на случай, если нет интернета, но есть эксфильтрация DNS (что бывает очень часто), прописываем в cron еще такую строку:

И в том и в другом случае, контролируя свою зону DNS через attacker.my_zone.tk и dnscat.my_zone.tk, можно управлять поведением реверс-шеллов.

Теперь осталось очистить базу dpkg, так мы освободим 50 Мбайт места:

И отмонтируем готовую ФС:

Последний штрих — создание образа для VirtualBox. Предварительно сконвертируем его в формат VDI:

Все готово. Теперь импортируем диск в VirtualBox, указываем количество процессоров и оперативки (все по минимуму) и на выходе получаем готовый файл linux.ova, который можно будет импортировать на любом хосте без лишних вопросов.

В итоге весь образ занял у меня 341 Мбайт.

Запуск Evilgrade Framework

После успешной установки запустите Evilgrade Framework, используя следующую команду в терминале.

./evilgrade

Команда переведет Evilgrade в интерактивный режим. Чтобы просмотреть список доступных модулей, выполните следующую команду.

show modules

В настоящее время в структуре доступно около 80 модулей. Выберите любой модуль для настройки и создания поддельных обновлений. Например, мы можем использовать модуль notepadplus для создания фальшивых нот-пакетов + обновлений приложений.

Модуль можно настроить с помощью следующей команды.

configure notepadplus
show options

Существуют различные варианты, включая опцию виртуального хоста. Опция виртуального хоста используется в настройке DNS для захвата обновлений. На следующем шаге нам нужно создать полезную нагрузку, которая будет использоваться в качестве агента в поддельном обновлении. Полезная нагрузка может быть создана с использованием msfvenom или любого другого инструмента Linux. Обратная оболочка используется в полезной нагрузке для соединения с целевой машиной. Как только полезная нагрузка создается, она передается Evilgrade, которая запускает ее как агент, используя следующую команду.

set agent

Загрузите блокнот + setup, который требуется во время взаимодействия с целевым хостом. После настройки Evilgrade Framework следующим шагом является перенаправление трафика DNS с использованием любого из вышеперечисленных методов. Нам также необходимо выяснить, какие хосты будут доступны. Это может быть достигнуто с помощью любого инструмента сканирования. Как только цель идентифицирована, следующим шагом является передача полезной нагрузки цели. Цель получает окно быстрого сообщения, показывающее им доступное обновление для приложения «Блокнот +». Если пользователь продолжает обновление, он обрабатывается через веб-сервер Evilgrade. Агент от веб-сервера Evilgrade переходит к машине жертвы. Поскольку он оснащен обратной оболочкой, на машине жертвы создается оболочка для использования целевого хоста.

Известные реализации MITM-атак

Известная некриптографическая атака «человек посередине» была совершена беспроводным сетевым маршрутизатором Belkin в 2003 году. Периодически новая модель маршрутизатора выбирала случайное HTTP-соединение и перенаправляла его на рекламную страницу своего производителя. Столь бесцеремонное поведение устройства, разумеется, вызвало бурю негодования среди пользователей, после чего эта «функция» была удалена из более поздних версий прошивки маршрутизатора.

В 2011 году нарушение безопасности голландского центра сертификации DigiNotar (англ.) привело к мошеннической выдаче сертификатов. Впоследствии мошеннические сертификаты были использованы для совершения атак «человек посередине».

В 2013 году стало известно, что браузер Xpress Browser (англ.) от Nokia расшифровывает HTTPS-трафик на прокси-серверах Nokia, предоставляя компании четкий текстовый доступ к зашифрованному трафику браузера своих клиентов. На что Nokia заявила, что контент не был сохранен на постоянной основе и что у компании были организационные и технические меры для предотвращения доступа к частной информации.

В 2017 году  (англ.) отозвал свои приложения для мобильных телефонов, опасаясь уязвимости «человек посередине».

Другие значимые реализации MITM-атак:

  • wsniff — инструмент для проведения атак на 802.11 HTTP/HTTPS-протокол
  • Fiddler2 (англ.) — инструмент диагностики HTTP(S)
  • АНБ замаскированное под Google (компания)

Перечисленные программы могут быть использованы для осуществления атак «человек посередине», а также для их обнаружения и тестирования системы на уязвимости.

Для перенаправления потоков трафика могут использоваться ошибки в настройках межсетевой маршрутизации BGP.

MITMf

Начнем с одного из наиболее интересных кандидатов. Это целый фреймворк для проведения man-in-the-middle атак, построенный на базе sergio-proxy. С недавнего времени включен в состав Kali Linux. Для самостоятельной установки достаточно клонироватьрепозиторийи выполнить пару команд:

# setup.sh 
# pip install -r requirements.txt

Имеет расширяемую за счет плагинов архитектуру. Среди основных можно выделить следующие:

  • Spoof — позволяет перенаправлять трафик при помощи ARP/DHCP-спуфинга, ICMP-редиректов и модифицировать DNS-запросы;
  • Sniffer — этот плагин отслеживает попытки логина для различных протоколов;
  • BeEFAutorun — позволяет автоматически запускать модули BeEF, исходя из типа ОС и браузера клиента;
  • AppCachePoison — осуществляет атаку «отравление кеша»;
  • SessionHijacking — угоняет сессии и сохраняет полученные куки в профиле огнелиса;
  • BrowserProfiler — пытается получить список используемых браузером плагинов;
  • FilePwn — позволяет подменять пересылаемые по HTTP файлы с помощью Backdoor Factory и BDFProxy;
  • Inject — внедряет произвольный контент в HTML-страницу;
  • jskeylogger — внедряет JavaScript-кейлоггер в клиентские страницы.

Если данного функционала тебе покажется недостаточно, то ты всегда можешь добавить свой, реализовав соответствующее расширение.

Запуск ARP spoofing атаки в MITMf

Сценарии атаки [ править | править код ]

Атака на системы с открытым ключом

В случае системы с открытым ключом криптоаналитик может перехватить сообщения обмена открытыми ключами между клиентом и сервером и изменить их, как в примере выше. Для того, чтобы оставаться незамеченным, криптоаналитик должен перехватывать все сообщения между клиентом и сервером и шифровать и расшифровывать их соответствующими ключами. Такие действия могут показаться слишком сложными для проведения атаки, однако они представляют реальную угрозу для небезопасных сетей (электронный бизнес, интернет-банкинг, платёжный шлюз) .

Для предотвращения атак «человек с активным криптоаналитиком», который бы подменял открытый ключ получателя во время его передачи будущему отправителю сообщений, используют, как правило, сертификаты открытых ключей.

Внедрение вредоносного кода

Внедрение кода в атаке «человек посередине» главным образом применяется для захвата уже авторизованной сессии, выполнения собственных команд на сервере и отправки ложных ответов клиенту .

Атака «человек посередине» позволяет криптоаналитику вставлять свой код в электронные письма, SQL-выражения и веб-страницы (то есть позволяет осуществлять SQL-инъекции, HTML/script-инъекции или XSS-атаки), и даже модифицировать загружаемые пользователем бинарные файлы для того, чтобы получить доступ к учетной записи пользователя или изменить поведение программы, загруженной пользователем из интернета .

Downgrade Attack

Термином «Downgrade Attack» называют такую атаку, при которой криптоаналитик вынуждает пользователя использовать менее безопасные функции, протоколы, которые всё ещё поддерживаются из соображений совместимости. Такой вид атаки может быть проведён на протоколы SSH, IPsec и PPTP.

Для защиты от Downgrade Attack небезопасные протоколы должны быть отключены как минимум на одной стороне; просто поддержки и использования по умолчанию безопасных протоколов недостаточно!

SSH V1 вместо SSH V2

Атакующий может попытаться изменить параметры соединения между сервером и клиентом при установлении между ними соединения . Согласно докладу, сделанному на конференции Blackhat Conference Europe 2003, криптоаналитик может «заставить» клиента начать сессию SSH1, вместо SSH2 изменив номер версии «1.99» для SSH-сессии на «1.51», что означает использование SSH V1 . Протокол SSH-1 имеет уязвимости, которыми может воспользоваться криптоаналитик.

IPsec

При таком сценарии атаки криптоаналитик вводит свою жертву в заблуждение, заставляя её думать, что IPsec-сессия не может начаться на другом конце (сервере). Это приводит к тому, что сообщения будут пересылаться в явном виде, в случае если хост-машина работает в rollback-режиме .

PPTP

На этапе согласования параметров сессии PPTP атакующий может вынудить жертву использовать менее безопасную PAP-аутентификацию, MSCHAP V1 (то есть «откатиться» с MSCHAP V2 до версии 1), либо не использовать шифрование вообще. Атакующий может вынудить свою жертву повторить этап согласования параметров PPTP-сессии (послать Terminate-Ack-пакет), выкрасть пароль из существующего туннеля и повторить атаку.

Публичные средства коммуникации

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

В отличие от предыдущих сценариев, основанных на технических и технологических аспектах средств коммуникаций, в данном случае атака основана на ментальных аспектах, а именно на укоренении в сознании пользователей концепции игнорирования требований информационной безопасности.

6.0 Kali NetHunter Attacks and Features

####Kali NetHunter Application

  • Home Screen — General information panel, network interfaces and HID device status.
  • Kali Chroot Manager — For managing chroot metapackage installations.
  • Check App Update — For checking Kali NetHunter Android App updates.
  • Kali Services — Start / stop various chrooted services. Enable or disable them at boot time.
  • Custom Commands — Add your own custom commands and functions to the launcher.
  • MAC Changer — Change your Wi-Fi MAC address (only on certain devices)
  • VNC Manager — Set up an instant VNC session with your Kali chroot.
  • HID Attacks — Various HID attacks, Teensy style.
  • DuckHunter HID — Rubber Ducky style HID attacks
  • BadUSB MITM Attack — Nuff said.
  • MANA Wireless Toolkit — Setup a malicious Access Point at the click of a button.
  • MITM Framework — Inject binary backdoors into downloaded executables on the fly.
  • NMap Scan — Quick Nmap scanner interface.
  • Metasploit Payload Generator — Generating Metasploit payloads on the fly.
  • Searchsploit — Easy searching for exploits in the Exploit-DB.

####3rd Party Android Applications (WIP)

  • NetHunter Terminal Application
  • DriveDroid
  • USB Keyboard
  • Shodan
  • Router Keygen
  • cSploit

Ettercap

Ну а эта утилита вообще одно из первых, что должно приходить на ум, как только услышишь
«MITM-атака». Инструмент довольно старый, но продолжает активно обновляться, что не может не радовать. Подробно рассказывать про его возможности смысла нет, за четырнадцать лет существования он не раз освещался в сети. Вот к примеру в руководстве наподобие этого:

На последок..

Как обычно, мы рассмотрели не все утилиты, а лишь наиболее популярные, есть еще немало  малоизвестных проектов, о которых мы, возможно, как-нибудь поговорим. Как видишь, недостатка в инструментах для проведения MITM-атак не наблюдается, причем, что бывает не так уж часто, одна из крутых тулз реализована под винду. Про nix-системы и говорить нечего — целое разнообразие. Так что, думаю, ты всегда сможешь найти подходящий инструмент для угона
чужих credentials. Упс, то есть для проведения тестирований.

Защита от MITM-атак

Надежная защита от MITM-атак возможна при выполнении пользователем нескольких превентивных действий и применении комбинации способов шифрования и аутентификации разработчиками веб-приложений.

Действия пользователей:

Избегать подключения к Wi-Fi-точкам, не имеющим парольной защиты

Отключите функцию автоматического подключения к известным точкам доступа – злоумышленник может замаскировать свой Wi-Fi под легальный.
Обращать внимание на уведомление браузера о переходе на незащищенный сайт. Такое сообщение может указывать о переходе на поддельный сайт злоумышленника или на проблемы с защитой легального сайта.
Завершать сеанс работы с приложением (logout), если оно не используется.
Не использовать общедоступные сети (кафе, парк, гостиница и другие) для проведения конфиденциальных операций (деловая переписка, финансовые операции, покупки в онлайн-магазинах и т. п.).
Используйте на компьютере или ноутбуке антивирус с актуальными базами, он поможет защититься от атак с помощью вредоносного программного обеспечения.

Разработчики веб-приложений и сайтов должны использовать защищенные протоколы TLS и HTTPS, которые в значительной мере усложняют spoofing-атаки, шифруя предаваемые данные. Также их использование предотвращает перехват трафика с целью получения параметров авторизации и ключей доступа.

Хорошей практикой считается защита TLS и HTTPS не только страниц авторизации, но и всех остальных разделов сайта. Это уменьшает шанс злоумышленника на хищение cookies пользователя в тот момент, когда он перемещается по незащищенным страницам после прохождения авторизации.

Защита от MITM-атак – это ответственность пользователя и оператора связи

Для пользователя самое важное – не терять бдительность, использовать только проверенные способы доступа в интернет, а для передачи персональных данных выбирать сайты с HTTPS-шифрованием. Операторам связи можно рекомендовать использовать Deep Packet Inspection (DPI) системы для обнаружения аномалий в сетях передачи данных и предотвращения spoofing-атак

Государственные органы планируют использовать MITM-атаку для защиты граждан, а не для нанесения ущерба, в отличие от злоумышленников. Перехват личных сообщений и остального пользовательского трафика осуществляется в рамках действующего законодательства, выполняется по решению судебных органов для борьбы с терроризмом, незаконным оборотом наркотиков и другими запрещенными видами деятельности. Обычным пользователям «законные» MITM-атаки не представляют опасности.

Как осуществляется MITM-атака

Выполнение MITM-атаки состоит из двух фаз: перехват и дешифровка.

Перехват

Первым этапом атаки является перехват трафика, идущего от пользователя к назначенной цели, и направление его в сеть атакующего.

Наиболее распространенный и самый простой способ совершить перехват – пассивная атака, когда злоумышленник создает Wi-Fi-точки со свободным доступом (без пароля и авторизации). В тот момент, когда пользователь подключается к такой точке, атакующий получает доступ ко всему трафику, проходящему через нее, и может выделить из него любые данные для перехвата.

Второй способ – активный перехват, которой может быть осуществлен одним из следующих вариантов:

IP-spoofing – подмена IP-адреса цели в заголовке пакета на адрес атакующего. В результате пользователи, вместо того чтобы зайти на запрашиваемый URL, попадают на сайт злоумышленника.

ARP-spoofing – подмена настоящего MAC-адреса узла на адрес атакующего в ARP-таблице жертвы. В результате данные, отправленные пользователем на IP-адрес требуемого узла, попадают на адрес атакующего.

DNS-spoofing – заражение кэша DNS, проникновение на сервер DNS и подмена записи соответствия адреса веб-сайта. В результате пользователь пытается получить доступ к запрашиваемому сайту, но получает от DNS-сервера адрес сайта злоумышленника.

Дешифровка

После перехвата двухсторонний SSL-трафик должен быть дешифрован, причем сделать это необходимо так, чтобы пользователь и запрашиваемый им ресурс не заметили вмешательства.

Для этого существует несколько методов:

HTTPS-spoofing – браузеру жертвы отправляется фальшивый сертификат в момент установки соединения с сайтом по протоколу HTTPS. Этот сертификат содержит цифровую подпись скомпрометированного приложения, за счет чего браузер принимает соединение со злоумышленником как надежное. После установки такого соединения атакующий получает доступ к любым данным, введенным жертвой, прежде чем они будут переданы приложению.

SSL BEAST (browser exploit against SSL/TLS) – атака использует уязвимость SSL в TLS версии 1.0 и 1.2. Компьютер жертвы заражается вредоносным JavaScript, который перехватывает зашифрованные cookies, отправляемые веб-приложению. Это компрометирует режим шифрования «сцепления блоков шифротекста» таким образом, что атакующий получает расшифрованные cookies и ключи аутентификации.

SSL-hijacking – передача поддельных ключей аутентификации пользователю и приложению в момент начала TCP-сеанса. Это создает видимость безопасного соединения, когда на самом деле сеансом управляет «человек посередине».

SSL-stripping – понижает соединение с защищенного HTTPS до простого HTTP, перехватывая TLS-аутентификацию, отправленную приложением пользователю. Злоумышленник представляет пользователю незашифрованный доступ к сайту, а сам поддерживает защищенный сеанс с приложением, получая возможность видеть передаваемые данные жертвы.\

Принцип атаки

Атака обычно начинается с прослушивания канала связи и заканчивается тем, что криптоаналитик пытается подменить перехваченное сообщение, извлечь из него полезную информацию, перенаправить его на какой-нибудь внешний ресурс.

Предположим, объект A планирует передать объекту B некую информацию. Объект C обладает знаниями о структуре и свойствах используемого метода передачи данных, а также о факте планируемой передачи собственно информации, которую С планирует перехватить. Для совершения атаки С «представляется» объекту А как В, а объекту В — как А. Объект А, ошибочно полагая, что он направляет информацию В, посылает её объекту С. Объект С, получив информацию и совершив с ней некоторые действия (например, скопировав или модифицировав в своих целях), пересылает данные собственно получателю — В; объект В, в свою очередь, считает, что информация была получена им напрямую от А.

Что такое MITM-атака

Man In The Middle (MITM) переводится как «человек посередине». Этот термин обозначает сетевую атаку, когда злоумышленник находится между интернет-пользователем и приложением, к которому тот обращается. Не в физическом плане, конечно, а с помощью специального программного обеспечения. Он представляется пользователю запрашиваемым приложением (это может быть веб-сайт или интернет-сервис), имитирует работу с ним, делает это так, чтобы сложилось впечатление нормальной работы и обмена информацией.

Информация, которую получает злоумышленник, может быть использована в различных целях, включая незаконные переводы денег, смену учетных записей, перехват личной переписки, покупки за чужой счет, компрометирование и шантаж.

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

MITM-атаку можно сравнить с почтальоном, который во время доставки вашей корреспонденции открывает письмо, переписывает его содержимое для использования в личных целях или даже, подделав почерк, дописывает что-то свое, а потом запечатывает конверт и доставляет адресату как ни в чем не бывало. Причем если вы зашифровали текст письма, а код для дешифровки хотите сообщить лично адресату, почтальон представится адресатом так, что вы даже не заметите подмены.

См. также

  • Aspidistra (англ.) — британский радиопередатчик, использовавшийся во время Второй мировой войны «вторжения», вариант MITM-атаки.
  • Заговор Бабингтона (англ.) — заговор против Елизаветы I, в ходе которого Уолсингем перехватывал корреспонденцию.
Другие атаки:
  • «Человек-в-браузере» (Man in the Browser) — вид атаки, при которой злоумышленник получает возможность мгновенно менять параметры транзакции, менять страницы совершенно прозрачно для жертвы.
  • «Встреча посередине» (Meet-in-the-middle attack) — криптографическая атака, которая так же, как и атака «дней рождения», использует компромисс между временем и памятью.
  • «Потеря посередине» (Miss in the middle attack) — эффективный метод так называемого impossible differential cryptanalysis.
  • Relay attack — вариант MITM-атаки, основанный на пересылке перехваченного сообщения допустимому получателю, но не тому, которому это сообщение предназначалось.
  • Руткит — программа, предназначенная для скрытия следов присутствия злоумышленника.
  • ARP-spoofing
  • TCP hijacking

The Middler

Представленная в рамках конференции DEF CON утилита для проведения MITM-атак на различные протоколы. Альфа-версия поддерживала протокол HTTP и имела в своем арсенале три крутых плагина:

  • plugin-beef.py — внедряет Browser Exploitation Framework (BeEF) в любой HTTP-запрос, приходящий из локальной сети;
  • plugin-metasploit.py — внедряет в незашифрованные (HTTP) запросы IFRAME, который подгружает эксплойты для браузеров из Metasploit;
  • plugin-keylogger.py — встраивает JavaScript обработчик события onKeyPress для всех текстовых полей, которые будут передаваться по HTTPS, заставляя браузер посимвольно отправлять вводимый пользователем пароль на сервер атакующего, до того как произойдет отправка всей формы.

The Middler не только автоматически анализирует сетевой трафик и находит в нем кукисы, но и самостоятельно запрашивает их со стороны клиента, то есть процесс автоматизирован по максимуму. Программа гарантирует сбор всех незащищенных аккаунтов в компьютерной сети (или публичном хотспоте), к трафику которой она имеет доступ. Для корректной работы программы в системе должны быть установлены следующие пакеты: Scapy, libpcap, readline, libdnet, python-netfilter. К сожалению, репозиторий давно не обновляется, поэтому новую функциональность придется добавлять самостоятельно.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *