Tienda Wifi

Tienda Wifi
CiudadWireless es la tienda Wifi recomendada por elhacker.NET

Entradas Mensuales

Síguenos en:

Canal Oficial Telegram de elhacker.NET Grupo Facebook elhacker.NET Twitter elhacker.NET Canal Youtube elhacker.NET Comunidad Steam: Grupo elhacker.NET Mastodon

Suscripción

¿Quieres recibir las últimas novedades del blog en tu correo?

¡Suscríbete al feed!

Entradas populares

PostHeaderIcon Top 10 de ataques al Directorio Activo de Windows


 El pentesting del Directorio Activo es una mina de oro para un Red Team ya que es un sistema crítico en la mayoría de las organizaciones. Cualquier compromiso de credenciales puede ayudar a un atacante a obtener acceso al dominio de la organización. De hecho, los ataques al DA son tan populares que hasta las certificaciones profesionales ya los incluyen en sus planes de estudios.




Harpreet Singh en artículo de Pentest Magazine hablaba del top 10 de los ataques más comunes al Directorio Activo, algo que todo "hijo de vecino" prueba una vez que ha conseguido traspasar el perímetro y posicionarse en algún segmento de la red interna. 

  Los escenarios de ataque 1 a 4 no requieren ninguna credencial, mientras que los escenarios de ataque 5 a 10 requieren un conjunto de credenciales con privilegios bajos. Después de obtener las credenciales de los ataques 1 a 4, el atacante puede cambiar a los ataques mencionados en 5 a 10.

Escenarios de Ataques

  • 1: Envenenamiento LLMNR

 Envenenamiento LLMNR

LLMNR es el acrónimo de Link Local Multicast Name Resolution y se utiliza para identificar hosts cuando el DNS interno falla. El ataque consiste en levantar un listener y esperar a que un usuario en la red inicie sesión en una unidad compartida o en cualquier otra red objetivo.

Paso 1: iniciar el sniffer cuando está conectado a la red

responder.py -I eth0


Si el usuario escribe mal el nombre, el DNS no podrá resolver el objetivo. En este caso, el atacante quien está escuchando en la red enviará una respuesta falsa y recopilará el nombre de usuario y el hash NTLMv2 para luego intentar crackearlo offline.
 
Paso 2: usar hashcat para intentar crackear los hashes

hashcat -m 5600 hashes.txt rockyou.txt 

  • 2: Ataque de relay SMB

Ataque de relay SMB

En lugar de obtener los hashes y crackearlos offline como el ataque anterior, en este caso se reenvía el hash en la red para acceder a los dispositivos de destino. Si el usuario de dicho hash tiene acceso al objetivo, el atacante que envía las credenciales obtendrá una shell y podrá realizar las acciones post-explotación pertinentes como extraer los hashes de la SAM.

El requisito para que este ataque funcione es que la firma SMB debe estar deshabilitada en la red.

Paso 1: cambiar la configuración del responder para escuchar y no responder.

SMB=Off & HTTP = Off


Paso 2: Iniciar el responder como en el ataque anterior 

responder.py -I eth0


Paso 3: Iniciar el relay SMB

ntlmrelayx.py -tf targets.txt -smb2support

  • 3: DNS Takeover

DNS Takeover

En este ataque usaremos una herramienta llamada mitm6 para configurar un Man-in-the-Middle. mitm6 está diseñado para usarse con ntlmrelayx y debe ejecutarse paralelamente. mitm6 falsificará el DNS, causando que los usuarios objetivo se conecten a ntlmrelayx para conexiones HTTP y SMB.

PD: hay que asegurarse de ejecutar ntlmrelayx con la opción -6, lo que hará que escuche tanto en IPv4 como en IPv6.

En caso de que un administrador inicie sesión mientras se ejecuta, creará un usuario de dominio junto con un punto de restauración.

Paso 1: lanzar el MiTM usando la herramienta mitm6 y ejecutar ntlmrelay en paralelo

mitm6 -d <Dominio>
ntlmrelayx.py -6 -t ldaps://DC_IP -wh fakewpad.<Dominio> -l lootme

  • 4: Buscar credenciales en Internet
  • 5 y 6: Pass-the-Hash y Pass-the-Password

Pass-the-Hash y Pass-the-Password

Cuando ya tenemos un conjunto de credenciales, podemos "pasar la contraseña" por la red si tenemos acceso a todos los objetivos. Esto se puede verificar por ejemplo con la herramienta crackmapexec y podemos usar la misma herramienta para volcar los hashes en el servidor para usarlos más tarde. 

Paso 1: Identificación de los servidores a los que se puede acceder utilizando estas cuentas. En caso de que la salida muestre (Pwned), tenemos acceso administrativo en ese servidor. Podemos usar lo mismo para extraer hashes de ese servidor.

crackmapexec smb 10.0.0.0/24 -u <usuario> -d <Dominio> -p <Contraseña>


Paso 2: Obtener los hashes SAM de los servidores donde el usuario tiene acceso

crackmapexec smb 10.0.0.0/24 -u <usuario> -d <Dominio> -p <Contraseña> --sam

Los hashes recopilados se pueden crackear offline usando hashcat. En caso de que solo tengamos el hash NTLM y no la contraseña de texto claro, también podemos intentar usarla en la red para a ver si eso funciona en alguna parte.

Paso 1: reenviar el hash para verificar los servidores donde el usuario tiene acceso

crackmapexec smb 10.0.0.0/24 -u <usuario> -d <Dominio> -H <Hash>


Paso 2: usar el siguiente comando para obtener la shell interactiva en los servidores donde tenemos acceso
(confirmado a partir de los comandos anteriores)


psexec.py <dominio>/<usuario>:<Contraseña>@<IP del servidor> 


  • 7: Kerberoasting
Kerberoasting es un conocido ataque que apunta a cuentas de servicio en el dominio. Su belleza radica en que puede ser ejecutado por cualquier persona en la red con un conjunto de credenciales y es solo un ataque de dos pasos: básicamente consiste en tratar de usar los TGS para realizar cracking de las contraseñas de los usuarios offline.

Paso 1: generar tickets de Kerberos con el siguiente comando

GetUsersSPNs.py <Dominio>/<Usuario>:<Contraseña> -dc-ip <IP del controlador de dominio> -request


Paso 2: fuerza bruta en las contraseñas de la cuenta de servicio usando hashcat

hashcat -m 13100 hashes.txt rockyou.txt 

  • 8: BloodHound

La relación entre computadoras, usuarios, privilegios y todos los demás objetos es compleja. Hay formas manuales para extraer la información como usuarios, grupos, sesiones, etc., pero dado el tamaño y la complejidad de la red, se vuelve difícil recopilar y correlacionar toda la información. Bloodhound es una herramienta que puede hacer toda la correlación y ayudar a un atacante a identificar las rutas de ataque.

El requisito para ejecutarlo es acceder a un sistema y ejecutar una herramienta de recopilación de PowerShell llamada sharphound. La salida generada se puede extraer y cargar en Bloodhound, que el atacante puede analizar mientras se toma un café. La herramienta ofrece varias consultas preconstruidas que el atacante puede usar para identificar información, como:

  • Información de la base de datos como Usuarios, Computadoras, Grupos, Sesiones, Relaciones, etc.
  • ¿Qué usuario está conectado dónde?
  • ¿Qué usuario tiene acceso de administrador?

Ruta más corta para llegar al controlador de dominio

Paso 1: recopilación de datos con sharphound.ps1

PS>PowerShell -ep bypass
PS>. .\SharpHound.ps1
PS>Invoke-BloodHound -CollectionMethod -All -Domain <Nombre del dominio> -ZipFileName file.zip


Paso 2: subir a bloodhound

Necesitamos analizar los resultados y normalmente apuntar a los objetivos donde el administrador del dominio ha iniciado sesión y luego intentar llegar allí y extraer los hashes. 

  • 9: Ataque MS14-025
MS14-025 también se denomina ataque GPP, que se aprovecha de una vieja forma de guardar las contraseñas. Las GPP permiten a los administradores crear políticas utilizando las credenciales embebidas. La forma en que se almacenan estas credenciales utiliza una clave que puede verse comprometida y que se puede utilizar para extraer la contraseña independientemente de su complejidad.

El archivo en el que se almacena la contraseña se llama Groups.xml. La idea es buscarlo a través de SYSVOL (findstr /S /I cpassword \\<FQDN>\sysvol\<FQDN>\policies\*.xml) y, una vez localizado, usar la herramienta gppdecrypt para extraer la contraseña. 
  • 10. Ataque Golden Ticket
n este ataque podemos explotar la funcionalidad de Kerberos para generar un ticket que nos permitirá acceder a todos los recursos de la red. Este ataque está estrechamente relacionado con Mimikatz (una herramienta utilizada para extraer las credenciales de la memoria entre otros).

En definitiva usaremos Mimikatz para generar un ticket dorado y luego pasarlo para acceder a cualquier recurso en la red.

Paso 1: abrir Mimikatz y ejecute el siguiente comando para extraer el hash "SID" y "NTLM"

lsadump::lsa /inject /name:krbtgt

Paso 2: generar el golden ticket

kerberos::golden /User:Administrator /domain:<Domain> /<sid> /krbtgt:<NTLM> /id:500 /ptt

Paso 3: obtener acceso

misc::cmd

Mitigaciones

  • Mantener parcheados los sistemas y los controladores de dominio.
  • Establecer políticas de contraseñas seguras (complejidad, historial, caducidad), incluso para cuentas de servicio y cuentas de invitados
  • Asegurarse de no proporcionar la contraseña predeterminada a ningún usuario; la contraseña predeterminada también debe cambiarla
  • administradores al aprovisionar cuentas.
  • Educar a los usuarios y administradores para que sigan la política de seguridad de contraseñas.
  • No utilizar cuentas administrativas para actividades no privilegiadas.
  • No utilizar cuentas de administrador de dominio para iniciar sesión en sistemas que no sean de confianza.
  • Deshabilitar el uso de LLMNR, NBT-NS y GPP.
  • Habilitar la firma SMB, siempre que sea posible.
Fuentes:

0 comentarios :

Publicar un comentario

Los comentarios pueden ser revisados en cualquier momento por los moderadores.

Serán publicados aquellos que cumplan las siguientes condiciones:
- Comentario acorde al contenido del post.
- Prohibido mensajes de tipo SPAM.
- Evite incluir links innecesarios en su comentario.
- Contenidos ofensivos, amenazas e insultos no serán permitidos.

Debe saber que los comentarios de los lectores no reflejan necesariamente la opinión del STAFF.