Muchas personas me están preguntando sobre métodos de prevención de ataque del Active Directory y una buena forma para un escaneo de vulnerabilidades críticas, lo que luego me lleva a obtener el administrador del dominio en quince minutos simplemente explotando las malas configuraciones en AD.
Requerimientos:
- Domain Controler – Un dominio para realizar las pruebas
- Kali Linux – Una maquina Kali Linux
Resposabilidad:
En este tutorías utilizaremos técnicas de hacking, con el único fin de aprendizaje. No promovemos su utilización ni con fines lucrativos o incorrectos. No nos hacemos responsables de cualquier daño o menoscabo que pueda generar en los sistemas utilizados. La responsabilidad es absoluta del usuario de este tutorial.
Conocimientos:
- Linux – Alto
- Programación – Bajo
- Kali Linux – Alto
- Windows – Muy alto
- Redes – Medio
Nivel general del Tutorial: Muy Alto
Ideal para: Ingenieros sistemas, Ingenieros de seguridad, Pentesters
Empecemos por establecer el objetivo: El objetivo de una prueba de penetración es identificar cualquier posible vector de ataque que un adversario utilizaría para comprometer una red. No es conseguir un administrador de dominio, y luego darlo por terminado.
Ahora que tenemos un objetivo, hay varios pasos a seguir para lograrlo. A continuación se muestra una guía visual (aproximada) sobre el ciclo de pentesting.

Sinopsis: Un cliente le ha contratado para realizar una prueba de penetración en su red, que utiliza Active Directory. No te han dado nada. No tienes credenciales, no tienes alcance, no tienes una placa para entrar por la puerta principal, sin embargo, te las arreglas para pasar por una puerta y encontrar una habitación aislada con un teléfono IP. Desconectas el teléfono IP, conectas tu portátil y te encuentras en la red. ¿Qué es lo siguiente? Conseguir un punto de apoyo.
Fase I | Cómo afianzarse
Sin credenciales, hay una cantidad limitada de reconocimiento que podemos hacer, y el reconocimiento se producirá a lo largo de casi todos los pasos del ciclo, sin embargo hay algunas cosas que podemos hacer desde el principio para conseguir un punto de apoyo en la red. Lo primero, ya que tenemos acceso a la red, es simplemente comprobar en qué subred estamos mediante ifconfig o ipconfig. Una vez que tengas tu IP, haz un barrido de ping en nmap para ver si otros dispositivos son accesibles
nmap -sn 192.168.1.1/24
Si los dispositivos vuelven, entonces estás en el negocio. Si no obtienes nada, es posible que el ICMP esté deshabilitado, que no haya otros dispositivos en la red o que, al no estar autenticado, no puedas comunicarte con otros dispositivos y posiblemente estés siendo bloqueado por una solución de seguridad de identidad (por ejemplo, Cisco ISE). Por el bien del artículo, vamos a suponer que recibes algunas máquinas y puedes hacer ping con éxito.
Herramienta: Responder
A continuación, utilizaremos una herramienta llamada Responder, o si eres partidario de Windows, Inveigh. Lo que hacen estas dos herramientas es buscar una desconfiguración muy común dentro de AD, que resulta en la capacidad de realizar envenenamiento WPAD y NBT-NS. Por defecto, Windows está configurado para buscar un archivo de configuración automática de proxy (PAC), a través del descubrimiento automático de proxy web (WPAD). Es importante tener en cuenta que WPAD no es el protocolo que realiza la búsqueda, es sólo el conjunto de procedimientos sobre cómo el dispositivo encuentra el archivo PAC. El descubrimiento automático del archivo PAC es útil en una organización porque el dispositivo enviará un broadcast pidiendo el archivo proxy y lo recibirá. Sin embargo, naturalmente no se autentifica quién está enviando el archivo proxy, lo que permite a un atacante enviar una respuesta falsa que luego pide las credenciales.
En Kali, responder está instalado por defecto.
responder -I eth0 --wpad
En mi máquina Windows, abro Internet Explorer y voy a Google, que luego inicia una búsqueda de un archivo WPAD. En Responder, veo que la solicitud llega, que Responder entonces responde automáticamente a la solicitud con un desafío, lo que resulta en la víctima el envío de su nombre de usuario y contraseña con hash (en formato NTLMv2).

Con este hash, hay algunas cosas que podemos hacer. Podemos intentar crackearlo, o podemos retransmitirlo usando una herramienta como ntlmrelay.py. Ya he hablado de cómo retransmitir los hashes de ntlm en mi artículo, así que voy a hablar de cómo descifrarlo, ya que eso es lo que suelo hacer en un compromiso de todos modos.
Si soy honesto, rara vez crackeo contraseñas en Linux/Kali. Uso una GPU nvidia, que nunca se instala correctamente en Kali, además Windows tiene HashcatGUI, que lo hace mucho más fácil y lo que voy a usar. Tomo el hash que reuní, lo pongo en un archivo llamado ‘hash.txt’ y ejecuto algunas listas de palabras/reglas en él, pero en este caso sólo lo ejecuté contra rockyou.txt y se crackeó en un segundo.

Mi configuración para HashcatGUI.

La contraseña descifrada es ‘¡Contraseña!
Ahora que hemos descifrado la contraseña con éxito, tenemos las credenciales Alice:¡Contraseña!
Espero que les sirva de ayuda, recuerden usar estas técnicas solo como medida educativa y en ningún caso para un fin malicioso.
Un saludo.