mitm6 - KolMitE

mitm6

mitm6

diciembre 14, 2022 Software en General 0

mitm6

Compatible con Python 2.7 y 3
Versión PyPI
Licencia: GPLv2

mitm6 es una herramienta de pentesting que explota la configuración predeterminada de Windows para hacerse cargo del servidor DNS predeterminado. Lo hace respondiendo a los mensajes de DHCPv6, proporcionando a las víctimas una dirección IPv6 de enlace local y configurando el host de los atacantes como servidor DNS predeterminado. Como servidor DNS, mitm6 responderá selectivamente a las consultas DNS de los atacantes que eligen y redirigirá el tráfico de las víctimas a la máquina atacante en lugar del servidor legítimo. Para obtener 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 identidad de WPAD y la transmisió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:

  • espantoso
  • Retorcido
  • netifaces

Para python 2.7, utiliza el ipaddress módulo de respaldo. Puede instalar la última versión de PyPI con pip install mitm6o la última versión de la fuente con python setup.py install después de clonar este repositorio de git.

Uso

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

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á las cosas). Si la red tiene algún hardware que bloquea o detecta mensajes publicitarios de enrutador no autorizados, puede agregar el --no-ra marcar para no transmitirlos. Los anuncios de enrutador no son necesarios para que mitm6 funcione, ya que se basa principalmente en mensajes DHCPv6.

Opciones de filtrado

Hay varias opciones de filtrado disponibles para seleccionar qué hosts desea atacar y falsificar. Primero están los --host-allowlist y --host-blocklist opciones (o -hw y -hb para abreviar), que toman un dominio (parcial) como argumento. Las solicitudes de DHCPv6 entrantes se filtrarán en esta lista. La propiedad marcada es la opción DHCPv6 FQND, en la que el cliente proporciona su nombre de host. Lo mismo se aplica a las solicitudes de DNS, para esto el --domain opción (o -d) está disponible, donde puede proporcionar qué dominio(s) desea falsificar. El bloqueo de dominios específicos también es posible con --blocklist/-b. Ambos parámetros se pueden especificar varias veces para incluir/bloquear varios 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 de cadena simple. Entonces, si elige responder a wpadtambién responderá a las consultas de wpad.corpdomain.com. Si desea un filtrado más específico, use las opciones de lista de permitidos y lista de bloqueados, ya que la lista de bloqueados tiene prioridad sobre la lista de permitidos. De forma predeterminada, el primer dominio especificado se usará como el dominio de búsqueda de DNS, si desea especificar explícitamente este dominio usted mismo, use el --localdomain opción.

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

mitm6 está diseñado como una herramienta de prueba de penetración y, por lo tanto, debería afectar la red lo menos posible. Esta es la razón principal por la que mitm6 no implementa un ataque completo de máquina en el medio actualmente, como vemos, por ejemplo, en el ataque SLAAC. Para minimizar aún más el impacto, las direcciones IP asignadas tienen valores de tiempo de vida (TTL) bajos. La concesión caducará en 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 de DNS se almacenen en caché, todas las respuestas se envían con un TTL de 100 segundos, lo que garantiza que el caché se borre minutos después de que se cierre la herramienta.

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 falsificará el DNS, lo que hará que las víctimas se conecten a ntlmrelayx para conexiones HTTP y SMB. Para esto, debe asegurarse de ejecutar ntlmrelayx con el -6 opción, que hará que escuche tanto en IPv4 como en IPv6. Para obtener credenciales para WPAD, especifique el nombre de host de WPAD para falsificar con -wh HOSTNAME (cualquier nombre de host no existente en el dominio local funcionará ya que mitm6 es el servidor DNS). Opcionalmente también puede utilizar el -wa N parámetro con una serie de intentos para solicitar la autenticación del propio archivo WPAD 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 transmitir la autenticación Kerberos, especialmente a través de DNS. Para hacer esto, use el --relay parámetro y especifique un host al que desea retransmitir. Este host se suplantará y mitm6 intentará convencer a sus víctimas de que envíen actualizaciones dinámicas autenticadas mediante la 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 del equipo de investigación de seguridad de Fox-IT ha lanzado las firmas Snort y Suricata para detectar tráfico DHCPv6 no autorizado y respuestas WPAD a través de IPv6. Las firmas están disponibles aquí: https://gist.github.com/fox-srt/98f29051fe56a1695de8e914c4a2373f

Idiomas



  • Pitón
    100,0%

Por favor Comparte y Síguenos:
RSS
Follow by Email
Facebook
Twitter

Deja una respuesta