Сегодня речь пойдет о легендарном сниффере Intercepter. В этой статье вы узнаете о возможностях этого сниффера. Кроме этого вы узнаете о том, как пользоваться Intercepter, и о видах атак, которые можно реализовать с его помощью.
Данный материал предназначен для продвинутых пользователей, так как содержит огромное количество терминологии и для понимания требует большого багажа знаний.
Вас также может заинтересовать статья «Обнаружение хостов сети в Nmap».
Intercepter
Содержание
- Предисловие
- Уникальность Intercepter
- Новые возможности
- Коротко о 0x4553-Intercepter
- Использование Intercepter
- Атака DHCP MITM
- Атака ICMP Redirect MITM и DNS over ICMP MITM
- Атака SSL MITM
- Атака SSL STRIP
- Видео лекции разработчика сниффера Intercepter
Сниффер Intercepter
В чем уникальность Intercepter?
Достойных снифферов с таким огромным багажом реализованных атак под Windows почти нет. На то есть несколько причин. Основная проблема заключается в отсутствии штатных инструментов маршрутизации.
Если в каждом Unix’е есть средства типа iptables, при помощи которых можно без труда добавить необходимые правила перенаправления пакетов, то в Windows, а тем более в ее клиентских версиях, ничего подобного нет. Естественно, писать свой NAT (или упрощенный ip forwarder) ради какого-то единичного примера мало кто станет.
Различные техники под Windows представлены, как правило, в виде простеньких proof of concept и не более. Впрочем, чего таить, и под unix сложно найти что-то похожее на Intercepter. Тот же самый ettercap под unix состоит из различных приложений: одно отвечает за arp-спуфинг, другое — за грабинг паролей, а sslstrip и вовсе самостоятельное приложение. Все это требует ручной настройки из-под консоли. Получается, что и под unix, даже при всей мощи доступных инструментов, нет ни одного достойного GUI-приложения, которое совмещало бы в себе все сразу. Intercepter же является таким инструментом и содержит в себе целый набор оттестированных и законченных техник сетевых атак.
К примеру, недавно реализованные техники SSL MITM и SSL Strip для перехвата паролей, которые должны бы передаваться по защищенному соединению, могут использоваться с любым из имеющихся MITM’ов: ARP, ICMP, DNS over ICMP, DHCP. Во всех случаях используется скрытная маршрутизация через не существующие в сети IP и MAC-адреса, таким образом, жертвы не смогут определить источник нападения.
Сегодня мы не будем останавливаться на базовом функционале сниффера, а коснемся самого сочного — новых техник, которые недавно появились в 0x4553-Intercepter.
Новые возможности Intercepter
Последний раз Intercepter обновлялся чуть больше года назад. Тогда-то и было создано основное подспорье для различных MITM-атак.
С версии 0.8 в состав Intercepter добавился так называемый 0x4553-NAT. Это полноценный NAT, не требующий установки и занимающий пару сотен килобайт, которым можно раздавать интернет в небольших локальных сетях или дома. Он поддерживает трансляцию пакетов из ethernet в PPPoE-соединение ADSL-модема и трансляцию FTP-сеансов.
Помимо этого была реализована давно задуманная атака на сети с DHCP — DHCP MITM. И вот сейчас, спустя долгое время, вышло еще несколько довольно крупных обновлений, реализующих новые интересные техники атак:
- ICMP Redirect MITM. Эта малораспространенная техника перехвата трафика имеет довольно узкое применение, позволяя перехватывать данные между единичными хостами.
- DNS over ICMP MITM. Совершенно новая техника, раскрывающая весь потенциал ICMP Redirect. Перехватывая клиентский DNS-сервер, мы можем перехватить все соединения с хостами, которые были отрезольвены через DNS.
- SSL MITM. Классическая техника подмены сертификатов, позволяет перехватывать данные любых протоколов, защищенных при помощи SSL (поддерживаются SSLv2, SSLv3, TLSv1).
- SSL Strip. Практически не встречающаяся техника под Windows. Аналог известного sslstrip под unix.
Каждая из этих техник заслуживает внимания, но начать я хочу с описания атаки DHCP MITM, которая появилась еще год назад.
Коротко о 0x4553-Intercepter
- Перехватывает пароли и хэш-суммы для огромного количества сервисов: ICQ/IRC/AIM/FTP/IMAP/POP3/SMTP/LDAP/BNC/SOCKS/HTTP/WWW/NNTP/CVS/TELNET/MRA/DC++/VNC/MYSQL/ORACLE.
- Реконструирует SMTP/POP3 сообщения.
- Сканирует локалку на наличие живых узлов с помощью широковещательной рассылки ARP-запросов (ARP SCAN).
- Ищет в сети DHCP-серверы (DHCP DISCOVERY).
- Находит в локалке другие сниферы (PROMISCUOUS SCAN).
- Поддерживает подмену MAC-адреса для LAN-адаптеров.
- Может работать в режиме «экстремального» сканирования (eXtreme mode), при котором сниферу достаточно указать целевой протокол без специфицирования порта. 0x4553-Intercepter будет просматривать весь трафик, автоматически «вылавливая» пакеты, относящиеся к данному протоколу путем анализа их содержимого.
- Поддерживает RAW-режим.
- Выполняет удаленный снифинг трафика через RPCAP-демона, устанавливаемого на Linux/xBSD или Windows-узлах (предпочтительнее всего — на шлюзе).
- Включает в себя собственную реализацию NAT.
- Реализует несколько MITM-атак: ARP MITM, DNS over ICMP MiTM, DHCP MiTM.
- Перехватывает SSL-пароли через SSL MiTM + SSL Strip.
Атака DHCP MITM
Суть атаки проста как пять копеек. Существуют различные схемы поведения DHCP-клиентов. Мы рассмотрим классический вариант. Когда компьютер входит в сеть, он шлет сообщение DHCP Discovery, требуя выдать IP-адрес и выслать действующую конфигурацию сети, включая шлюз по умолчанию. Наша задача — выдать поддельный ответ DHCP Offer, в котором будет указана наша конфигурация с нашим шлюзом. Так трафик пойдет через наш NAT и мы сможем беспрепятственно его слушать. Данная атака вскользь описана в теории, реализована в ettercap, улучшена и автоматизирована в 0x4553-Intercepter. Для проведения атаки пришлось решить ряд сложных вопросов:
1. Неизвестность количества существующих компьютеров в сети и их привязка к IP-адресам. Может привести к проблемам в сети и истощению DHCP-пула.
2. Борьба за первенство с легитимным DHCP-сервером.
3. Возврат контроля над жертвой, уведенной легитимным сервером.
Вся магия кроется в решении этих проблем.
1. Чтобы не порождать проблемы в действующей сети, мы перенаправляем всех клиентов в виртуальную сеть, отделенную от действующей. Для поддержания связи с реальной сетью и внешними ресурсами во всей красе раскрывается 0x4553-NAT, регулирующий маршрутизацию.
2. Благодаря ряду тестов было выявлено, что DHCP-сервер в Intercepter с использованием WinPcap работает быстрее других. Он оказался быстрее DHCP-службы Windows Server 2003, быстрее популярного приложения tftpd32 и быстрее DHCP-серверов, встроенных в ADSL-модемы. Помимо этого, DHCP в Intercepter пропускает целый шаг согласования параметров во время передачи конфигурации клиенту, что существенно повышает скорость реагирования и выдачи ложной информации.
3. Возможна ситуация, что легитимный DHCP-сервер все-таки ответит быстрее нас. Такая ситуация была искусственно создана. И для ее решения предприняты дополнительные действия. После принятия конфигурации клиент должен еще раз перепроверить, не занял ли он чей-то адрес в сети, чтобы избежать конфликта IP-адресов. Для этого он отсылает в сеть специальный пакет gratuitous arp. Если в сети уже имеется компьютер с таким адресом, клиент вновь пошлет DHCP Discovery с просьбой выделить другой адрес. Если же никаких ответов на запрос не пришло, значит, данный IP свободен. При потере клиента, Intercepter следит за пакетами gratuitous arp и отвечает клиенту, говоря, что запрошенный адрес занят, для того чтобы вновь вызвать голосование и попытаться успеть выдать ложную конфигурацию. Данная атака детально рассмотрена в видео Sniffing dhcp based network.
Атака ICMP Redirect MITM и DNS over ICMP MITM
Следующие две техники используют для атаки особенности ICMP-протокола. Не вдаваясь в технические подробности сути и назначения сообщений ICMP Redirect, отмечу, что эти ICMP-сообщения позволяют добавить запись в таблицу маршрутизации удаленного узла. В записи должен содержаться IP-адрес хоста и IP-адрес шлюза, через который следует слать пакеты к указанному ресурсу.
Например, зная, что некий site.com имеет адрес 1.2.3.4, мы можем послать жертве сообщение, в котором будет указано, что до 1.2.3.4 нужно идти через наш шлюз, где запущены Intercepter и NAT. Это и есть техника ICMP Redirect MITM. К сожалению, мы не можем перенаправить разом все хосты, поэтому данную атаку можно использовать для целевого перехвата конкретного узла. Однако в Intercepter реализована техника, которая позволяет сильно расширить область применения перехвата с помощью сообщений ICMP Redirect. Это DNS over ICMP Redirect.
Вместо site.com мы будем перенаправлять трафик от клиентского DNS-сервера. Цепная реакция запускается всего одним пакетом. Сначала мы шлем жертве сообщение, что до его DNS-сервера нужно идти через наш шлюз, затем в бой вступает 0x4553-NAT, который начинает обрабатывать DNS-ответы. Например, жертва хочет отрезольвить site1.com, — NAT перенаправляет запрос к серверу, принимает ответ и вытаскивает все IP-адреса, отвечающие за site1.com, после чего посылает жертве новые сообщения ICMP Redirect, говоря, что ко всем отрезольвенным IP-адресам нужно идти через наш шлюз. Если жертва посылает запрос к site2.com, ситуация повторяется. Таким образом, весь интернет-трафик начинает идти через Intercepter и NAT.
Правда, тут есть одно важное условие. Чтобы показать его, рассмотрим пример сетевой конфигурации жертвы:
IP-адрес жертвы - 192.168.1.10 IP-адрес шлюза - 192.168.1.1 IP-адрес DNS - 192.168.1.2 маска - 255.255.255.0
При такой конфигурации перенаправить DNS-сервер мы не сможем. Он обязательно должен находиться за рамками данной подсети, — это обусловлено самим протоколом ICMP. А вот если используется напрямую внешний сервер (например, гугловский 8.8.8.8), то препятствий для атаки нет.
Атака SSL MITM
Эта атака описана множество раз, поэтому останавливаться подробно на ее описании мы не будем, а расскажем, как она реализована конкретно в Intercepter. Ядром всех MITM-атак в Intercepter, как мы уже говорили, является NAT. Именно он отвечает за маршрутизацию пакетов и дополнительные действия для реализации каждой из атак. Стандартно в него зашит перехват таких протоколов:
- HTTPS — 443;
- POP3S — 995;
- SMTPS — 465;
- IMAPS — 993.
После запуска 0x4553-NAT он открывает указанные порты на локальном интерфейсе и ждет входящих соединений. Весь трафик жертвы по указанным протоколам перенаправляется на ранее открытые нами порты. На этом этапе происходит следующее:
- В случае HTTPS NAT принимает входящее tcp-соединение, делает запрос к запрашиваемому ресурсу и получает его сертификат. Затем он подменяет ключ шифрования на свой и устанавливает соединение с жертвой, выдавая себя за оригинальный сервер. После этого происходит проксирование данных между двумя соединениями.
- Для других протоколов шаг запроса оригинального сертификата опущен, — вместо этого мы посылаем ранее сгенерированный статичный сертификат. Так как наши сертификаты не являются подписанными доверенными центрами, у пользователя будет выскакивать предупреждение. В этом и заключается основной минус данной техники.
Кроме приведенных выше протоколов, пользователь может добавить любой другой порт. О том, как это сделать, написано в руководстве к сниферу. Так как сама атака проводится при помощи NAT, то непосредственно Intercepter не видит зашифрованных данных. Чтобы он их увидел, NAT делает следующую хитрость: весь исходящий SSL-трафик дублируется в сеть в открытом виде, после чего пароли появляются в окне снифера.
Атака SSL STRIP
О технике SSL Strip мы уже подробно писали в с этой статье. Собственно говоря, непосредственно с перехватом SSL эта техника не связана. Перехватывать необходимо обычный HTTP-трафик, анализируя его на https-ссылки. Возможно вы помните, сколько возни было, чтобы заставить эту схему работать под Unix, используя разработанную Мокси Марлинспайком утилиту sslstrip.
Все что нужно сделать в Intercepter для выполнения атак SSL Strip или SSL MITM, — это поставить соответствующую галочку и перенаправить трафик жертвы любым доступным способом. В данном случае весь веб-трафик перенаправляется на локальный 80-й порт, откуда и происходит дальнейшее проксирование соединений. Выполняя данную атаку, мы опять же сталкиваемся с рядом сложностей, которые необходимо преодолеть.
Чтобы сбить бдительность пользователя, Intercepter подменяет favicon, выдавая иконку с замочком, который имитирует безопасное соединение.
На данный момент Intercepter не убивает сессии для принудительной повторной авторизации, как это может делать оригинальный sslstrip, но такая опция будет, возможно, добавлена в будущем.
Еще можно выделить одно отличие данной реализации SSL Strip от ее unix-аналога. Оригинальный sslstrip работает как прокси, определяя куда производится соединение из заголовка web-запроса. Это вынуждает разрешать имя сервера через dns и хранить свой собственный dns-кеш. В нашем случае в этом нет необходимости, так как адрес назначения известен,— это 0x4553-NAT, который и осуществляет маршрутизацию трафика жертвы.
Вам может быть интересна статья «Скрытое сканирование хостов».
Скачать Intercepter
В архиве 2 версии обычная и консольная. Также в архиве красивые обои на рабочий стол от Ares, ну и конечно обалденный трэк от James Holden.
Язык интерфейса: English Пароль на архив: www.spy-soft.net Разработчик: Ares
Скачать бесплатноIntercepter-NG v0.9.3 + Intercepter-NG [Console Edition] 0.4Intercepter-NG v0.9.5 + Intercepter-NG [Console Edition] 0.4Intercepter-NG v0.9.8
Источники: wikipedia.com, xaker.ru, sniff.su
После 10 лет разработки (именно столько стукнуло проекту) наконец-то индекс версии Intercepter-NG дошел до 1.0. По сложившейся традиции выход обновлений под Windows происходит раз в году, и юбилейный релиз действительно удался. Хочется поблагодарить всех людей, которые за все эти годы оказывали помощь в тестировании, давали обстоятельный фидбек и идейно вдохновляли. Начнем обзор с мелочей и в конце рассмотрим наиболее вкусную фичу Intercepter-NG 1.0. 1. В RAW Mode появилась возможность экспортировать выбранные пакеты в .pcap файл. При включенном Autosave, пакеты содержащие авторизационные данные будут писаться в отдельный .pcap.2. В поле Extra SSL Ports, которое относится к SSL MiTM, теперь можно вбивать несколько портов через запятую. 3. При атаке LDAP Relay на контроллер домена с языком, отличным от английского, в экспертных настройках можно указать необходимую группу для добавления пользователя, например вместо Domain Admins указать русский аналог Администраторы домена. 4. Исправлена ошибка в обработчике NTLMv2SSP хешей, не позволявшая корректно подбирать пароль.5. Множественные улучшения в Bruteforce Mode. Добавлено: поддержка SSL для HTTP, поддержка UTF8 при брутфорсе LDAP, протоколы VNC, Vmware Auth Daemon и RDP. Перебор RDP работает на Windows 7/8/2008/2012. Поддерживается NLA и логиныпароли на любом языке. RDP Security Layer не поддерживается.6. В HTTP Injections добавлена опция «Inject Reverse Shell». Это Forced Download с бекконнект пейлоадом на встроенный shell интерцептера.7. Множественные улучшения и изменения в целом. Теперь по-умолчанию спуфинг отключен.
FATE
Режим FATE совмещает в себе две новые функции: FAke siTE и FAke updaTE. Ключевой целью FAke siTE служит получение авторизационных данных с любого веб ресурса, в обход SSL и других механизмов защиты. Достигается это клонированием страницы авторизации и созданием шаблона, который будет размещаться на встроенном псевдо-веб сервере. Как это работает продемонстрировано в видео в конце поста. По-умолчанию в состав интерцептера входит один шаблон для accounts.google.com, т.к. оригинальная страница требует заполнить поочередно поле с логином, а затем с паролем. В данном шаблоне внесены небольшие изменения, чтобы оба поля были активны одновременно. Перед атакой необходимо указать домен, на котором будет размещаться шаблон. После начала атаки, в трафик цели инжектится редирект на выбранный домен и впоследствии интерцептер автоматически будет проводить DNS спуфинг на требуемые адреса. В итоге в браузере откроется выбранная страница авторизации. Процесс клонирования сайта так же продемонстрирован в видео на примере mail.yandex.ru. Любителям linux хорошо знаком инструмент под названием Evilgrade, который позволяет эксплуатировать механизм автоматического обновления и внедрять произвольный пейлоад. На самом деле данный вектор сильно переоценен, во-первых, внушительный список поддерживаемых приложений в Evilgrade в основной массе устарел, а во-вторых, большинство самых популярных приложений проверяют обновления безопасным путем. Тем не менее, все слышали о громких упущениях в механизмах обновления крупных вендоров и наверняка это будет происходит и в будущем, поэтому аналог Evilgrade появился в Intercepter-NG, но список поддерживаемого софта весьма скромен. При желании можно добавлять свои шаблоны, их структуру можно посмотреть в miscFATEupdates. Присылайте софт, который обновляется открыто, будем пополнять базу.
X-Scan
Много лет назад мне очень нравился сетевой сканер безопасности от китайской команды Xfocus под названием X-Scan. Небольшой вес, удобный дизайн, хороший функционал. В середине нулевых он позволял творить очень многое, но в дальнейшем его разработка остановилась и в нынешних реалиях он мало полезен. По этой причине мне хотелось создать его современный аналог, но все как-то не получалось… до недавних пор. По старой любви именно под этим названием в Intercepter-NG появился свой сетевой сканер, который пришел на замену примитивному сканеру портов из прошлых версией. Итак, что же он умеет.1. Сканировать открытые порты и эвристически определять следующие протоколы: SSH, Telnet, HTTPProxy, Socks45, VNC, RDP.2. Определять наличие SSL на открытом порту, читать баннеры и различные web заголовки.3. При обнаружении прокси или сокса, проверять их открытость наружу.4. Проверять беспарольный доступ к VNC серверам, проверять SSL на HeartBleed. Читать version.bind у DNS.5. Проверять по базе наличие скриптов на веб-сервере, потенциально уязвимых к ShellShock. Проверять по базе список директорий и файлов на 200 OK, а так же список директорий из robots.txt.6. Определять версию ОС через SMB. При наличии анонимного доступа получать локальное время, uptime, список общих ресурсов и локальных пользователей. Для найденных пользователей запускается автоматический перебор паролей.7. Определять по встроенному списку пользователей SSH через замер времени отклика. Для найденных пользователей запускается автоматический перебор паролей. Если энумерация не дала результата (работает не на всех версиях), перебор запускается только для root.8. Автоматический брутфорс для HTTP Basic и Telnet. Учитывая особенности telnet протокола возможны ложные срабатывания. Сканировать можно любые цели, как в локальной сети так и в интернете. Можно указывать список портов для скана: 192.168.1.1:80,443 или диапазон 192.168.1.1:100-200. Можно указывать диапазон адресов для скана: 192.168.1.1-192.168.3.255. Для более точного результата, одновременно можно сканировать только 3 хоста. Буквально в последний момент были добавлены проверки на данные из SSL сертификатов, например если встречается слово Ubiquiti и при этом открыт 22 порт, то автоматически запускается брутфорс SSH пользователя ubnt. Тоже самое для пары Zyxel железок с пользователем admin. Для первого релиза сканера функционала достаточно и он неплохо отлажен. Присылайте свои идеи и пожелания. ps: в ближайшее время появится первая версия мануала на русском языке.
Привет всем кто читает статью.
Пишется она по просьбе людей которые изучили статью перехват паролей по Wi Fi и перехват куки по Wi Fi .
Там было описано как перехватить пароли и куки внутри сети используя программу Intercepter-ng.
Некоторые попросили рассказать больше о функционале, другие просили показать больше возможностей, кто то просил рассмотреть последнюю версию (на данный момент актуальна версия 0.9.10.
Пришлось поднять свой ленивый зад, и начать изучать весь найденный материал по крупицам.
Начав писать черновик я понял что одной статьёй не обойтись. Поэтому сегодня будет лишь теория, описание некоторых функций и режимов Intercepter-ng. В течении двух-трех дней напишу уже о работе с программой на практике, а затем будет и несколько видео ( для тех кому так проще усвоить ).
Говорю сразу — у меня нет глубоких технических познаний, поэтому пишу простыми словами, и чтобы было понятно простым людям . Если заметили неточность в моих описаниях, или есть чего дополнить пишите в комментариях.
Каждую функцию я не смогу описать, только то что сам смог найти.
Приступим к осмотру пациента.
Intercepter-ng. Инструмент хакера пентестера.
Функционал ( лишь малая часть всех возможностей) .
Intro С большим удовольствием хочу представить новую версию Intercepter-NG 0.9.10, которая, на мой взгляд, в значительной степени расширяет область применения инструмента. Данный обзор будет представлен не в виде сухого перечисления нововведений, а скорее как описание новых векторов атак вместе с рядом технических подробностей и элементами hack-story. Приступим…Network Scan Как всегда было сделано немало исправлений и мелких улучшений, которые нет смысла перечислять. Кто часто пользуется инструментом знает, что одним из основных режимов является режим сканирования сети и в частности функция Smart Scan. К уже привычной информации об IP и MAC адресах, производителе сетевой карты и операционной системе, добавился вывод имени компьютера. За тот же промежуток времени теперь дополнительно можно узнать Netbios имя или название устройства под управлением iOS. Для резольва последнего используется протокол MDNS, на основе которого работает Apple’овский протокол Bonjour. Все полученные имена теперь сохраняются в кеш-файл и если при последующих сканированиях по какой-либо причине информация об имени хоста не была получена динамически, то она будет взята из кеша. Здесь же можно упомянуть о появлении функции Auto ARP Poison, которая включается в экспертных настройках. В режиме автоматического пойзона достаточно внести только 1 хост в список целей, а Intercepter будет сам сканировать сеть с определенным интервалом и автоматически добавлять новые цели.Bruteforce Mode В этом режиме добавилась поддержка TLS для протоколов SMTP и POP3, а так же перебор TELNET авторизации. Теперь при возникновении таймаута, активный тред перезапускается с того же самого места и процесс перебора продолжается. Появился Single Mode, который указывает на то, что каждую новую пару LP следует проверять с установкой нового соединения, для некоторых протоколов это позволяет увеличить скорость работы. Лог работы сохраняется в brute.txt.Traffic Changer Не раз были запросы реализовать функцию подмены трафика и они не остались без внимания, но не стоит радоваться прежде времени. На встречный вопрос: «а зачем конкретно вам нужна эта возможность?» некоторые пользователи затруднялись ответить или говорили, что ради шутки менять слова в web-трафике. И чтобы не объяснять каждому шутнику, почему результат не всегда оправдывает ожидания, подменять можно данные только равного размера, не изменяя длину пакетов. Ограничение вовсе не связано с проблемами технической реализации, нет никаких сложностей дробить ethernet фреймы с пересчетом соответствующих tcp полей. Все упирается в прикладные протоколы. Рассмотрим пример с HTTP. Допустим браузер открывает site.com/file.txt, в котором содержится строка «12345». В ответ на GET запрос сервер вернет HTTP заголовок, в котором будет указана длина передаваемых данных — Content-length: 5. Что будет если мы заменим «12345» на «12356»? Браузер скачает только 5 байт, отбросив добавленную «6», а если мы уменьшим размер данных, заменив «12345» на «1234», браузер получит только 4 байта и будет ждать от сервера еще 1 байт до тех пор, пока соединение не разорвется по таймауту. Именно поэтому сделано данное ограничение на размер. Менять можно как текстовые данные так и бинарные, синтаксис для бинарных паттернов как в Си — «x01x02x03». Если требуется подмена в HTTP трафике, то в настройках необходимо включить опцию «Disable HTTP gzip encoding».HSTS Spoofing Как и было обещано, появился обход HSTS при проведении SSL Strip. Техника обхода относительно простая, но именно в реализации присутствуют определенные сложности, поэтому не стоит ждать каких-то особых результатов. Рассмотрим пример на Яндекс Почта с использованием браузера Chrome. Если зайти на ya.ru, то в правом верхнем углу будет https ссылка «Войти в почту», с которой SSL Strip легко справляется. Далее откроется форма авторизации, где методом POST передаются данные на passport.yandex.ru. Даже «стрипнув» https авторизация произойдет по SSL, т.к. хост passport.yandex.ru внесен в preloaded список хрома. Для того чтобы все таки перехватить данные нам необходимо заменить имя хоста passport.yandex.ru на какое-то другое, чтобы браузер не обнаружил, что этот ресурс следует посещать строго по безопасному соединению. Для примера можно заменить passport.yandex.ru на paszport.yandex.ru, в этом случае данные будут отправлены в открытом виде на измененное имя домена. Но т.к. такого домена — paszport.yandex.ru не существует, то дополнительно требуется сделать DNS Spoofing, т.е. клиент при резольве paszport.yandex.ru должен получить в ответ оригинальный ip адрес от passport.yandex.ru. Эта процедура автоматизирована и не требует дополнительного вмешательства пользователя при проведении атаки. Единственное, что требуется так это предварительно составить список замен в mischsts.txt. По умолчанию там присутствует несколько записей для yandex, gmail, facebook, yahoo. Важно понимать, что данная техника обхода не позволит перехватить сессию или авторизацию если пользователь введет в браузере facebook.com, т.к. браузер сразу откроет безопасную версию сайта. В этом случае атака возможна только если ссылка на facebook.com будет взята с другого ресурса, например при вводе facebook на google.com. Из основных проблем в реализации атаки можно отметить непредсказуемую логику работы сайтов со своими субдоменами и особенности web-кода, которые могут свести на нет любые попытки обхода HSTS. Именно поэтому не стоит добавлять в список любые сайты, даже домены, присутствующие в Intercepter-NG по умолчанию имеют свои особенности и работают корректно далеко не всегда. Городить костыли под каждый ресурс совсем не хочется, возможно в будущем будут внесены некоторые универсальные улучшения, а пока, как говорится, as is. Еще один нюанс, в текущей реализации для проведения DNS Spoofing’а необходимо чтобы DNS сервер находился не в локальной сети, чтобы была возможность видеть dns запросы до шлюза и отвечать на них нужным образом. Важно отметить, что в новой версии заметно улучшена работа самого SSL Strip.Forced Download and JS Inject Оба нововведения относятся к режиму HTTP Injection. По-русски Forced Download можно перевести как «принудительная закачка», ведь именно это и происходит на стороне цели во время web-серфинга. При заходе на сайт предлагается скачать заданный атакующим файл, в зависимости от настроек браузера он может самостоятельно скачаться, а пользователь уже выберет, запустить его или нет. Как вы понимаете, в форсированную загрузку можно добавить и .exe файл с произвольным содержимым, причем источником этого файла будет сайт, который в данный момент посещает пользователь. Зная, что цель собирается открыть adobe.com, вы можете выдать flashplayer.exe, и в качестве источника этого файла будет указан adobe.com или один из его субдоменов. После разовой выдачи форсирование отключается, для повторного инжекта нужно снова нажать на соответствующую галку. JS Inject в явном виде не присутствует среди элементов управления, т.к. по сути это самый обычный http inject, но с одним отличием. При подмене одного файла другим, например картинок .jpg на заданную, происходит именно замена одного содержимого другим. Замена .js скрипта с большой вероятностью может нарушить работу ресурса, поэтому в новой версии js inject не заменяет один скрипт другим, а дописывает его в существующий, добавляя возможность внедрить дополнительный код, не затрагивая оригинальный.SSL MiTM Плавно подходим к наиболее интересным новинкам. В новой версии был полностью переписан код для SSL MiTM. Теперь он работает быстро и стабильно. Также изменился алгоритм генерации сертификатов, в них стали добавляться дополнительные dns записи и все сертификаты подписываются единым ключом (miscserver). Это означает, что добавив данный самоподписанный сертификат в список доверенных на компьютере цели, можно будет прослушивать SSL трафик до любого ресурса (где нет SSL Pinning). Функция Cookie Killer теперь работает и для SSL соединений. Появились черные (miscssl_bl.txt) и белые списки (miscssl_wl.txt). В них можно исключить или напротив жестко указать IP адреса или домены, к которым следует или не следует применять SSL MiTM. При указании extra ssl port больше нет необходимости указывать тип readwrite, достаточно указать номер порта. Весь трафик пишется в ssl_log.txt.Group Policy Hijacking Очередная killer-feature в Intercepter-NG. Несмотря на то, что техника открыта вовсе не мной, это первая публичная и полностью функциональная реализация данной атаки. Подробное описание имеется здесь и здесь. В очередной раз SMB подложил свинью Microsoft, ведь благодаря данной уязвимости примерно за полтора часа можно получить доступ к любому компьютеру в домене (кроме домен-контроллера). В чем же суть. Каждые 90 + случайное количество от 0 до 30 минут мембер домена запрашивает групповые политики с DC. Происходит это по SMB, путем открытия сетевого адреса \DCSYSVOLdomain.namePoliciesUUIDgpt.ini. Содержимое данного файла следующее: [General] Version=12345 Данное число является относительной версией текущих групповых политик. Если с последнего обновления версия не изменилась, то процесс получения групповых политик прекращается, но если версия другая — значит требуется их обновить. На этом этапе клиент запрашивает у домена активные CSE (client-side extensions), к которым относятся различные logon скрипты, задачи для планировщика и так далее. Естественно, атакующий, встав посередине, может подменить одну из задач, которая генерируется контроллером в виде файла. При таком раскладе эксплуатация была бы совсем простой, но все эти CSE по умолчанию отключены и единственное, что можно сделать — модифицировать реестр, ведь при обновлении групповых политик клиент запрашивает еще один файл — GptTmpl.inf, через который можно добавить или удалить запись. Авторы обеих статей для демонстрации выполнение кода решили воспользоваться хорошо известным методом — AppInit_Dll. Прописали в нужный ключ реестра загрузку своей dll с сетевого пути, после чего вновь созданный процесс в системе выполнял произвольный код. Но этот метод годится только в качестве proof of concept, ведь AppInit_Dll по умолчанию отключен уже много лет. В связи с этим была поставлена задача найти иной способ удаленного выполнения кода, причем без необходимости ждать перезагрузки, как в случае с добавлением автозапуска в ключ Run. Безрезультатно было проделано много попыток тем или иным образом достичь желаемого, пока один хороший человек (thx man) не подсказал весьма любопытный ключ реестра о котором я раньше ничего не знал. В ключ [HKEY_LOCAL_MACHINESoftwareMicrosoftWindows NTcurrentversionimage file execution options] можно прописать дебагер для любого .exe файла. Например указать, что calc.exe необходимо открывать через c:pathdebuger.exe и как только будет запущен калькулятор — первым делом откроется дебагер, в командной строке которого будет путь до calc’а. Это уже казалось почти готовым решением, ведь удалось выполнить код без перезагрузки, хоть и при определенных условиях. На тот момент меня устроило ограничение на неизбежность участия пользователя в процессе получения доступа, т.е. вместо калькулятора можно было выполнить код через вызов IE или Chrome или любого другого приложения, но появилась новая проблема. Если атакуемый пользователь не имел административных прав, то даже получив шелл отсутствовала возможность удалить ранее добавленный в реестр дебагер, а это значит, что после прекращения атаки или при перезагрузке — эксплуатируемое приложение переставало работать, ведь заспуфленный сетевой адрес с debuger.exe больше не существовал. Требовалось найти способ получить не просто шелл доступ, а обязательно с правами администратора. Опуская все последующие трудности опишу итог. После получения групповых политик система их должна применить, для этого вызывается svchost и создает новый процесс taskhost.exe с правами SYSTEM. Встав в качестве дебагера для taskhost.exe было убито сразу два зайца — мы не просто получали шелл с правами SYSTEM, но и получали его сразу же, без любого ручного вмешательства со стороны пользователя. Атака полностью автоматизирована, можно выбрать разом группу целей и в течение полутора-двух часов получить целый набор активных шелл-сессий с максимальными правами. Для этого даже не обязательно быть самому членом домена. Единственное, что необходимо — включить Network access: Let Everyone permissions apply to anonymous users. При тестировании, чтобы не ждать полтора часа, достаточно с консоли запустить gpupdate. Проверено на патченых Windows 78.1 в доменах с серверами 2008R22012R2. Какие меры защиты? Microsoft выпустили патч для MS15-011, вводя так называемый UNC Hardened Access, который требует ручной настройки. Интересная фраза присутствует в бюллетене: «Users whose accounts are configured to have fewer user rights on the system could be less affected than users who operate with administrative user rights.» Как уже стало ясно, угроза одинаково высока для любого пользователя. Несмотря на весь потенциал GP Hijacking, как мне кажется, особого внимания заслуживает другое новшество данного релиза…Десерт То, о чем пойдет речь в завершении нельзя назвать новой функцией. Скорее это вектор атаки, который открывается при совместном использовании целого ряда уже существующих решений в Intercepter-NG. Упор в данном случае делается на беспроводные сети и мобильные устройства, в частности под управлением iOS — Iphone’ы и Ipad’ы. Все знают, что элементарный arp poison этих устройств практически ничего не дает. Перехват cookie от открытых сайтов в браузере пожалуй единственное на что можно расcчитывать, т.к. в большинстве случаев пользователь работает через фирменные приложения от различных сервисов, где общение с сервером происходит по SSL. Даже если попытаться провести SSL MiTM, то ничего не выйдет, приложения просто перестанут работать с недоверенным сертификатом. Поэтому считается, что от сетевого перехвата телефоны и планшеты достаточно неплохо защищены по умолчанию. Но представьте следующую ситуацию, среднестатистический пользователь сидит в приложении Instagram и просматривает ленту. Вдруг приложение перестает работать, сетуя на отсутствие подключения и пользователь открывает в браузере instagram.com, где всплывает alert с текстом «Для продолжения работы на instagram.com установите новый сертификат безопасности» и после закрытия сообщения на экране появляется запрос на установку нового сертификата. Дальнейшее развитие событий конечно зависит от пользователя, но вероятность того, что он все таки установит предлагаемый сертификат достаточно высока, ведь ситуация вполне правдоподобная: перестало работать приложение, зашел на сайт, увидел предупреждение о необходимом обновлении, обновился — все заработало, хотя на самом деле атакующий подставил свой сертификат и теперь читает весь SSL трафик. Внедрение Forced Download, JS Inject и стабильно работающий SSL MiTM позволяют в два счета реализовать подобный сценарий: 1. Делаем .js inject с внедрением alert(‘Please install new certificate for %domain%.’); В шаблон %domain% будет подставлено имя сайта, на котором призошел инжект. 2. Форсируем закачку miscserver.crt — корневого сертификата в Intercepter-NG. 3. Включаем SSL MiTM (а так же ssl strip для работы инжектов). 4. После запуска атаки на устройстве цели перестанут работать SSL подключения, а в браузере будет выдан alert с сертификатом. Возникает закономерный вопрос, что делать с SSL трафиком, кроме пассивного перехвата уже установленных сессий. На помощь приходит Cookie Killer, который исправно работает, например, на приложении Facebook. Есть на iOS и свой святой грааль — iCloud, но обнуление cookie не поможет сбросить его сессию. Именно для iCloud, а так же Instagram и VK, была добавлена функция iOS Killer, которая сбрасывает сессии указанных приложений и позволяет перехватить повторную авторизацию. Такой фокус нельзя проделать с AppStore, т.к. там, по всей видимости, используется SSL Pinning. Данный вектор опробован на IOS 56 и 8.4. Outro В планах было добавить возможность самостоятельно создавать обработчики на LUA или через DLL плагин, но судя по реакции пользователей реального интереса ни у кого нет. Новая версия будет скорее всего уже в следующем году, возможно осенью выйдет функциональное обновление Intercepter-NG под Android. Вопросы, отзывы, feature-реквесты всегда приветствуются. На этом все. Демонстрация новых функций представлена на видео. Контакты проекта: Сайт: sniff.su Почта: intercepter.mail@gmail.com Блог: intercepter-ng.blogspot.ru Twitter: twitter.com/IntercepterNG Информация предоставлена в ознакомительных целях, автор не несет ответственности за последствия применения данного материала. 257 128,3k 257
- http://www.spy-soft.net/intercepter-ng-0-9-3/
- https://habr.com/post/309406/
- https://teralex.ru/obzory/intercepter-ng-funkcii-i-opisanie.html
- https://m.habr.com/ru/post/263789/