Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
mitm6 — Exploita a configuração padrão do IPv6 do Windows para falsificar DNS via DHCPv6, redirecionando o tráfego da vítima para relay de credenciais e ataques man-in-the-middle durante testes de penetração. | Kitploit
Ferramentas/GitHubGitHub/dirkjanm/mitm6
Coleta de InformaçõesSegurança de RedeTestes de PenetraçãoAutenticaçãoRed TeamingAnálise de DNS
GitHubdirkjanm/mitm6

mitm6

Exploita a configuração padrão do IPv6 do Windows para falsificar DNS via DHCPv6, redirecionando o tráfego da vítima para relay de credenciais e ataques man-in-the-middle durante testes de penetração.

Ver Repositório
1.9k2656há 4 anosRevisado pelo Kitploit

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

mitm6

Python 2.7 and 3 compatible PyPI version License: GPLv2

mitm6 é uma ferramenta de pentest que explora a configuração padrão do Windows para assumir o controle do servidor DNS padrão. Isso é feito respondendo a mensagens DHCPv6, fornecendo às vítimas um endereço IPv6 link-local e definindo o host do invasor como servidor DNS padrão. Como servidor DNS, mitm6 responderá seletivamente a consultas DNS escolhidas pelo invasor e redirecionará o tráfego das vítimas para a máquina do invasor em vez do servidor legítimo. Para uma explicação completa do ataque, veja nosso blog sobre mitm6. Mitm6 é projetado para funcionar em conjunto com ntlmrelayx do impacket para falsificação de WPAD e retransmissão de credenciais.

Dependências e instalação

mitm6 é compatível tanto com Python 2.7 quanto com 3.x. Você pode instalar os requisitos para sua versão com pip install -r requirements.txt. Em ambos os casos, mitm6 usa os seguintes pacotes:

  • Scapy
  • Twisted
  • netifaces

Para python 2.7, ele usa o módulo backport ipaddress. Você pode instalar a versão mais recente do PyPI com , ou a versão mais recente a partir do código fonte com após clonar este repositório git.

pip install mitm6
python setup.py install

Uso

Após a instalação, mitm6 estará disponível como um programa de linha de comando chamado mitm6. Como ele usa captura de pacotes brutos com Scapy, deve ser executado como root. mitm6 deve detectar suas configurações de rede por padrão e usar sua interface primária para sua falsificação. A única opção que você provavelmente precisará especificar é o domínio AD que você está falsificando. Para ajustes avançados, as seguintes opções estão disponíveis:

root@kitploit:~
usage: mitm6 [-h] [-i INTERFACE] [-l LOCALDOMAIN] [-4 ADDRESS] [-6 ADDRESS] [-m ADDRESS] [-a] [-r TARGET] [-v] [--debug]
             [-d DOMAIN] [-b DOMAIN] [-hw DOMAIN] [-hb DOMAIN] [--ignore-nofqdn]

mitm6 - pwning IPv4 via IPv6
For help or reporting issues, visit https://github.com/dirkjanm/mitm6

optional arguments:
  -h, --help            show this help message and exit
  -i INTERFACE, --interface INTERFACE
                        Interface to use (default: autodetect)
  -l LOCALDOMAIN, --localdomain LOCALDOMAIN
                        Domain name to use as DNS search domain (default: use first DNS domain)
  -4 ADDRESS, --ipv4 ADDRESS
                        IPv4 address to send packets from (default: autodetect)
  -6 ADDRESS, --ipv6 ADDRESS
                        IPv6 link-local address to send packets from (default: autodetect)
  -m ADDRESS, --mac ADDRESS
                        Custom mac address - probably breaks stuff (default: mac of selected interface)
  -a, --no-ra           Do not advertise ourselves (useful for networks which detect rogue Router Advertisements)
  -r TARGET, --relay TARGET
                        Authentication relay target, will be used as fake DNS server hostname to trigger Kerberos auth
  -v, --verbose         Show verbose information
  --debug               Show debug information

Filtering options:
  -d DOMAIN, --domain DOMAIN
                        Domain name to filter DNS queries on (Allowlist principle, multiple can be specified.)
  -b DOMAIN, --blocklist DOMAIN, --blacklist DOMAIN
                        Domain name to filter DNS queries on (Blocklist principle, multiple can be specified.)
  -hw DOMAIN, -ha DOMAIN, --host-allowlist DOMAIN, --host-whitelist DOMAIN
                        Hostname (FQDN) to filter DHCPv6 queries on (Allowlist principle, multiple can be specified.)
  -hb DOMAIN, --host-blocklist DOMAIN, --host-blacklist DOMAIN
                        Hostname (FQDN) to filter DHCPv6 queries on (Blocklist principle, multiple can be specified.)
  --ignore-nofqdn       Ignore DHCPv6 queries that do not contain the Fully Qualified Domain Name (FQDN) option.

Você pode substituir manualmente a maioria das opções de autodetecção (embora substituir o endereço MAC possa quebrar as coisas). Se a rede possui algum hardware que bloqueia ou detecta mensagens Rogue Router Advertisement, você pode adicionar a flag --no-ra para não transmiti-las. Router Advertisements não são necessários para o funcionamento do mitm6, pois ele depende principalmente de mensagens DHCPv6.

Opções de filtragem

Várias opções de filtragem estão disponíveis para selecionar quais hosts você deseja atacar e falsificar. Primeiro, existem as opções --host-allowlist e --host-blocklist (ou -hw e -hb para abreviar), que aceitam um domínio (parcial) como argumento. As requisições DHCPv6 recebidas serão filtradas contra esta lista. A propriedade verificada é a opção DHCPv6 FQND, na qual o cliente fornece seu nome de host. O mesmo se aplica para requisições DNS, para isso a opção --domain (ou -d) está disponível, onde você pode fornecer qual(is) domínio(s) deseja falsificar. Bloquear domínios específicos também é possível com --blocklist/-b. Ambos os parâmetros podem ser especificados várias vezes para incluir/bloquear múltiplos domínios (por exemplo -d domain.local -d otherdomain.local -b somehost.domain.local -b somehost.otherdomain.local).

Tanto para a filtragem de host quanto de DNS, é realizada uma correspondência simples de string. Portanto, se você escolher responder a wpad, também responderá a consultas para wpad.corpdomain.com. Se você deseja uma filtragem mais específica, use ambas as opções de allowlist e blocklist, pois a blocklist tem precedência sobre a allowlist. Por padrão, o primeiro domínio especificado será usado como domínio de busca DNS. Se você deseja explicitamente especificar este domínio por conta própria, use a opção --localdomain.

Sobre o impacto na rede e restauração da rede

mitm6 é projetado como uma ferramenta de teste de penetração e, portanto, deve impactar a rede o mínimo possível. Esta é a principal razão pela qual o mitm6 atualmente não implementa um ataque completo de homem-no-meio, como vemos, por exemplo, no ataque SLAAC. Para minimizar ainda mais o impacto, os endereços IP atribuídos têm valores baixos de time-to-live (TTL). A concessão expirará em 5 minutos quando o mitm6 for interrompido, o que removerá o servidor DNS da configuração das vítimas. Para evitar que respostas DNS sejam armazenadas em cache, todas as respostas são enviadas com um TTL de 100 segundos, o que garante que o cache seja limpo em minutos após a saída da ferramenta.

Uso com ntlmrelayx

mitm6 é projetado para ser usado com ntlmrelayx. Você deve executar as ferramentas lado a lado. Neste cenário, mitm6 falsificará o DNS, fazendo com que as vítimas se conectem ao ntlmrelayx para conexões HTTP e SMB. Para isso, você deve garantir que o ntlmrelayx seja executado com a opção -6, que fará com que ele escute tanto em IPv4 quanto em IPv6. Para obter credenciais para WPAD, especifique o nome de host WPAD a ser falsificado com -wh HOSTNAME (qualquer nome de host inexistente no domínio local funcionará, pois o mitm6 é o servidor DNS). Opcionalmente, você também pode usar o parâmetro -wa N com um número de tentativas para solicitar autenticação para o próprio arquivo WPAD, caso suspeite que as vítimas não tenham o patch MS16-077 aplicado.

Uso com krbrelayx

Você também pode usar mitm6 para retransmitir autenticação Kerberos, especialmente via DNS. Para fazer isso, use o parâmetro --relay e especifique um host para o qual deseja retransmitir. Este host será personificado, e mitm6 tentará convencer suas vítimas a enviar atualizações dinâmicas autenticadas usando autenticação Kerberos para krbrelayx. Mais informações sobre este ataque estão disponíveis no seguinte blog: https://dirkjanm.io/relaying-kerberos-over-dns-with-krbrelayx-and-mitm6/

Detecção

A equipe Fox-IT Security Research Team team lançou assinaturas Snort e Suricata para detectar tráfego DHCPv6 malicioso e respostas WPAD sobre IPv6. As assinaturas estão disponíveis aqui: https://gist.github.com/fox-srt/98f29051fe56a1695de8e914c4a2373f

Baixar ferramenta