Active Directory Attacks

Active Directory Attacks

Ataques de Directorio Activo

Las empresas utilizan Active Directory (AD) para ayudar a administrar, autorizar y autenticar usuarios en una red interna. Aproximadamente el 90% de las empresas utilizan AD. Descubre cuales son los ataques más efectivos y comunes contra el Directorio Activo de una organización. ¡Lo que todo buen hacker debe conocer!

Herramientas utilizadas:

  • Impacket
  • Mitm6
  • Responder
  • Crackmapexec
  • Hashcat

Envenenamiento LLMNR

La resolución de nombres de multidifusión local de enlace (LLMNR) es un protocolo de resolución DNS que no requiere un servidor DNS. LLMNR intenta resolver una solicitud de DNS que DNS no pudo cumplir. LLMNR Poisoning proporcionará hash NTLMv2, que se puede utilizar para descifrar utilizando una herramienta de descifrado de hash como Hashcat o John the Ripper.

Primero, desea asegurarse de que todos los servicios estén activados con Responder. Entonces ejecuta el comando:

$ nano /etc/responder/Responder.conf

Ahora asegúrese de que los servicios estén activados y guarde el archivo Responder.conf.

Según Igandx, el creador de Responder: “Responder es un envenenador LLMNR, NBT-NS y MDNS, con un servidor de autenticación fraudulento HTTP/SMB/MSSQL/FTP/LDAP integrado que admite NTLMv1/NTLMv2/LMv2, Extended Security NTLMSSP y Basic. Autenticación HTTP”. Por lo tanto, Responder es una herramienta muy útil con ataques AD para aprovechar las características de Windows AD.

Ahora, ejecute Responder para capturar el hash NTLMv2 del usuario final.

$ responder -I eth0 -dwv

Ahora, cuando se ingrese algo aleatorio en el administrador de archivos (un recurso que no exista), Responder recopilará el hash NTLMv2 del usuario.

Ahora podemos utilizar Hashcat para descifrar el hash, usando «rockyou.txt». Primero, copie el hash NTLMv2 completo y péguelo en un directorio que tenga el archivo rockyou.txt. Asegúrese de que el hash NTLMv2 no tenga espacio antes o después del hash en el archivo, o de lo contrario, no funcionará el crackeo.

$ hashcat -m 5600 <archivo hash ntlmv2> <diccionario/lista de contraseñas>

-m 5600 es la opción de Hashcat para descifrar hashes NTLMv2.

Ataque de SMB Relay

Server Message Block (SMB) es un protocolo utilizado para compartir servicios y archivos en una red. La firma SMB es un mecanismo de seguridad en el protocolo SMB que utiliza el Estándar de cifrado avanzado (AES) para «firmar» una sesión con SMB 3.1.1. Por lo tanto, para evitar el cifrado y para que se produzca el ataque de retransmisión SMB, no se debe requerir la firma SMB, o “Firma de mensajes habilitada pero no requerida”.

El ataque SMB Relay también descarga hashes NTLM locales, que se pueden usar para descifrar o realizar Pass-The -Hash usando crackmapexec (una herramienta de Impacket). Otro tipo de ataque SMB Relay captura el hash NTLMv2 y lo retransmite a un sistema de destino, otorgando así acceso al sistema (SMB Relay Attack: SMB Shell). Sin embargo, la firma SMB debe estar “habilitada pero no requerida” en las máquinas con Windows, como se muestra en la figura anterior.

NOTA: Para que los ataques de retransmisión SMB funcionen, la computadora que transmite (desde la que se envía) deberá ser administrador en el dominio y no se requiere firma SMB.

Antes de iniciar el ataque SMB Relay, los servidores de autenticación SMB y HTTP deben estar desactivados en el archivo «Responder.conf».

$ nano /etc/responder/Responder.conf

Cambie SMB y HTTP a «Off» y guarde el archivo.

Ahora podemos verificar la red para ver qué máquinas no requieren firma SMB.

$ nmap --script=smb2-security-mode.nse -p445 192.168.10/24

Durante el escaneo, para aquellos host que arrojen el mensaje «Message sigin enable but not required», son los vulnerables.

Coloque las direcciones IP a las que desea transmitir el hash y guárdelas.

Ejecute Responder nuevamente.

$ responder -I eth0 -dwv

Ahora ejecute impacket-ntlmrelayx para transmitir el hash.

$ impacket-ntlmrelayx -tf <archivo con direcciones IP de destino> -smb2support

NOTA: Impacket 0.9.19 es la versión que funciona muy bien.

Ataque de retransmisión SMB: SMB Shell

Otro ataque SMB es obtener un shell SMB usando Netcat. Con el shell SMB, se puede cambiar la contraseña del usuario, se pueden colocar o tomar archivos (archivo malicioso), se pueden crear y eliminar directorios, y más.

Primero, ejecute el respondedor como antes.

$ responder -I eth0 -dwv

Ahora realice el ataque SMB Relay como antes, pero agregue una «i» que creará un shell SMB interactivo en lugar de volcar los hashes SAM:

$ impacket-ntlmrelayx -tf <archivo con direcciones IP de destino> -smb2support -i

Como se muestra arriba, ahora tenemos un shell de cliente SMB que usa TCP en 127.0.0.1 y el puerto 11001. Utilizamos Netcat para escuchar el shell SMB establecido:

$ nc 127.0.0.1 11001

La dirección IP, 127.0.0.1, se considera la dirección de host local o loopback y se utiliza para conectar la computadora objetivo nuevamente a la máquina atacante (Kali). El puerto lo decidió ntlmrelayx.

Ataque Pass The Hash

Pasar el hash es un gran ataque para realizar después de descubrir los hashes NTLM del primer ataque de retransmisión SMB. Los hashes NTLM se pueden utilizar para recorrer la red y ver qué máquinas tienen las mismas credenciales.

Crackmapexec se puede ejecutar con nombres de cuentas SAM usando el siguiente comando.

$ crackmapexec smb <dirección IP IPv4 del dominio>/24 -u <nombre de cuenta SAM> -d <nombre de dominio>.local -H <hash NTLM>

Para descubrir a qué computadoras se puede pasar el hash usando una cuenta local del sistema, puede usar el siguiente comando.

$ crackmapexec smb <dirección IPv4 local>/24 -u <nombre de usuario> -H <hash NTLM> --autenticación local

Ataque IPv6

IPv6 está infrautilizado en las empresas, pero su presencia es muy frecuente. IPv6 se ha habilitado en los sistemas operativos Windows desde Windows Vista, incluidas las variantes de servidor.

El ataque IPv6 aprovecha la configuración IPv6 predeterminada en las redes de Windows falsificando las respuestas DNS. El ataque asimila un servidor DNS con uno malicioso y redirige el tráfico a un punto final especificado por el atacante. La segunda parte del ataque transmite credenciales y se autentica en varios servicios dentro de la red.

Mitm6 se ejecutó primero para falsificar DNS.

$ mitm6 -d <dominio.local>

Ahora ejecute impacket-ntlmrelayx para transmitir las credenciales, volcar la información del dominio y crear un nuevo usuario del dominio.

$ impacket-ntlmrelayx -6 -t ldaps://<dirección IPv4 del controlador de dominio> -wh fakewpad.<nombre de dominio>.local -l <ruta para volcado de información del dominio>

Mitm6 vuelca la información del dominio en un nombre de carpeta específico.

Este directorio se encuentra donde se ejecutó impacket-ntlmrelayx (directorio). Este directorio contiene mucha información útil sobre el dominio, como usuarios del dominio, administradores, cantidad de usuarios, política del dominio y, a veces, incluso contraseñas en la columna «descripción» (colocada por los creadores de la cuenta).

Ahora se no tienen los usuarios del dominio así como el nuevo usuario del dominio creado en el dominio.

Ahora podemos usar el nuevo usuario para volcar todos los hashes SAM del dominio usando secretsdump.py.

$ secretsdump.py <nombre de dominio>/<usuario agregado mitm6>@<dirección IPv4 del controlador de dominio>

Con esto, los hashes SAM han sido descartados. El volcado contiene hashes NTLM que pueden tomarse y transmitirse mediante el ataque hash o descifrarse usando una lista de contraseñas (como rockyou.txt) con Hashcat.