Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
mitm6 — Explota la configuración predeterminada de IPv6 en Windows para suplantar DNS a través de DHCPv6, redirigiendo el tráfico de la víctima para el relay de credenciales y ataques de intermediario (man-in-the-middle) durante pruebas de penetración. | Kitploit
Herramientas/GitHubGitHub/dirkjanm/mitm6
Recopilación de InformaciónSeguridad de RedesPruebas de PenetraciónAutenticaciónRed TeamingAnálisis de DNS
GitHubdirkjanm/mitm6

mitm6

Explota la configuración predeterminada de IPv6 en Windows para suplantar DNS a través de DHCPv6, redirigiendo el tráfico de la víctima para el relay de credenciales y ataques de intermediario (man-in-the-middle) durante pruebas de penetración.

Ver Repositorio
1.9k2656hace 4 añosRevisado por Kitploit

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

mitm6

Python 2.7 and 3 compatible PyPI version License: GPLv2

mitm6 es una herramienta de pentesting que explota la configuración predeterminada de Windows para tomar el control del servidor DNS predeterminado. Lo hace respondiendo a mensajes DHCPv6, proporcionando a las víctimas una dirección IPv6 de enlace local y estableciendo el host del atacante como servidor DNS predeterminado. Como servidor DNS, mitm6 responderá selectivamente a las consultas DNS que el atacante elija y redirigirá el tráfico de las víctimas a la máquina del atacante en lugar del servidor legítimo. Para una explicación completa del ataque, consulte nuestro blog sobre mitm6. Mitm6 está diseñado para funcionar junto con ntlmrelayx de impacket para la suplantación de WPAD y la retransmisión de credenciales.

Dependencias e instalación

mitm6 es compatible con Python 2.7 y 3.x. Puede instalar los requisitos para su versión con pip install -r requirements.txt. En ambos casos, mitm6 utiliza los siguientes paquetes:

  • Scapy
  • Twisted
  • netifaces

Para python 2.7, utiliza el módulo de backport ipaddress. Puede instalar la última versión desde PyPI con , o la última versión desde el código fuente con después de clonar este repositorio de git.

pip install mitm6
python setup.py install

Uso

Después de la instalación, mitm6 estará disponible como un programa de línea de comandos llamado mitm6. Dado que utiliza captura de paquetes sin procesar con Scapy, debe ejecutarse como root. mitm6 debería detectar su configuración de red por defecto y usar su interfaz principal para su suplantación. La única opción que probablemente necesitará especificar es el domain de AD que está suplantando. Para ajustes avanzados, las siguientes opciones están disponibles:

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.

Puede anular manualmente la mayoría de las opciones de detección automática (aunque anular la dirección MAC romperá cosas). Si la red tiene algún hardware que bloquea o detecta mensajes de Anuncio de Enrutador (Router Advertisement) maliciosos, puede agregar la opción --no-ra para no transmitirlos. Los Anuncios de Enrutador no son necesarios para que mitm6 funcione, ya que depende principalmente de mensajes DHCPv6.

Opciones de filtrado

Hay varias opciones de filtrado disponibles para seleccionar a qué hosts desea atacar y suplantar. Primero están las opciones --host-allowlist y --host-blocklist (o -hw y -hb para abreviar), que toman un dominio (parcial) como argumento. Las solicitudes DHCPv6 entrantes se filtrarán contra esta lista. La propiedad verificada es la opción FQND de DHCPv6, en la cual el cliente proporciona su nombre de host. Lo mismo aplica para las solicitudes DNS, para esto está disponible la opción --domain (o -d), donde puede indicar qué dominio(s) desea suplantar. También es posible bloquear dominios específicos con --blocklist/-b. Ambos parámetros se pueden especificar varias veces para incluir/bloquear múltiples dominios (por ejemplo -d domain.local -d otherdomain.local -b somehost.domain.local -b somehost.otherdomain.local).

Tanto para el filtrado de host como de DNS, se realiza una coincidencia simple de cadenas. Por lo tanto, si elige responder a wpad, también responderá a consultas por wpad.corpdomain.com. Si desea un filtrado más específico, use ambas opciones de lista de permitidos y lista de bloqueados, ya que la lista de bloqueados tiene prioridad sobre la lista de permitidos. Por defecto, el primer dominio especificado se usará como dominio de búsqueda DNS; si desea especificar este dominio explícitamente, use la opción --localdomain.

Acerca del impacto en la red y restauración de la red

mitm6 está diseñado como una herramienta de pruebas de penetración y, por lo tanto, debe impactar lo menos posible en la red. Esta es la razón principal por la que mitm6 no implementa un ataque de intermediario completo actualmente, como vemos por ejemplo en el ataque SLAAC. Para minimizar aún más el impacto, las direcciones IP asignadas tienen valores bajos de tiempo de vida (TTL). La concesión caducará dentro de 5 minutos cuando se detenga mitm6, lo que eliminará el servidor DNS de la configuración de las víctimas. Para evitar que las respuestas DNS se almacenen en caché, todas las respuestas se envían con un TTL de 100 segundos, lo que asegura que la caché se limpie en minutos después de que la herramienta termine.

Uso con ntlmrelayx

mitm6 está diseñado para usarse con ntlmrelayx. Debe ejecutar las herramientas una al lado de la otra; en este escenario, mitm6 suplantará el DNS, haciendo que las víctimas se conecten a ntlmrelayx para conexiones HTTP y SMB. Para esto, debe asegurarse de ejecutar ntlmrelayx con la opción -6, que hará que escuche tanto en IPv4 como en IPv6. Para obtener credenciales para WPAD, especifique el nombre de host WPAD a suplantar con -wh HOSTNAME (cualquier nombre de host inexistente en el dominio local funcionará ya que mitm6 es el servidor DNS). Opcionalmente, también puede usar el parámetro -wa N con un número de intentos para solicitar autenticación para el archivo WPAD en sí, en caso de que sospeche que las víctimas no tienen aplicado el parche MS16-077.

Uso con krbrelayx

También puede usar mitm6 para retransmitir autenticación Kerberos, especialmente a través de DNS. Para hacer esto, use el parámetro --relay y especifique un host al que desee retransmitir. Este host será suplantado, y mitm6 intentará convencer a sus víctimas de que envíen actualizaciones dinámicas autenticadas usando autenticación Kerberos a krbrelayx. Más información sobre este ataque está disponible en el siguiente blog: https://dirkjanm.io/relaying-kerberos-over-dns-with-krbrelayx-and-mitm6/

Detección

El equipo de Fox-IT Security Research Team ha lanzado firmas de Snort y Suricata para detectar tráfico DHCPv6 malicioso y respuestas WPAD sobre IPv6. Las firmas están disponibles aquí: https://gist.github.com/fox-srt/98f29051fe56a1695de8e914c4a2373f

Descargar herramienta