El Active Directory (AD) es usado aproximadamente por el 90% de las 1000 compañías de fortuna global. Si el estado de una organización usa Microsoft Windows, casi garantizado tiene un AD. El Microsoft AD es la suite dominante usada para gestionar redes de dominios Windows. Sin embargo, como AD es usado para gestión de identidad y acceso del estado entero, tiene la llave del reino, haciéndolo un objetivo muy común para los atacantes.
Rompiendo el Directorio Activo
Antes de que podamos explotar las malas configuraciones para la escalada de privilegios, movimiento latera y ejecución de objetivos, necesitamos acceso inicial primero. Necesitas adquirir un set inicial de credenciales AD válidas. Debido al número de servicios y funcionalidades de AD, la superficie de ataque para ganar un set inicial de credenciales AD suele ser significativa. En esta unidad vamos a ver varias formas.
Cuando buscamos el set inicial de credenciales, no nos enfocamos en permisos asociados a la cuenta, por lo que un nivel bajo de privilegios es suficiente. Sólo buscamos una forma de autentificarnos en el AD para poder realizar posterior enumeración del mismo.
Objetivos de Aprendizaje
En esta red, cubriremos varios métodos que pueden ser usados para romper AD. Esto no es una lista completa de métodos y técnicas, ya que se descubren nuevas constantemente. Sin embargo, cubriremos las siguientes técnicas:
- Servicios NTLM Autentificados
- Credenciales Ligadas LDAP
- Relays de Autentificación
- Herramientas de Despliegue de Microsoft
- Archivos de Configuración
Podemos usar estas técnicas en una evaluación de seguridad.
Conectarse a la Red
Usando AttackBox
Si usas el AttackBox desde la propia web de TryHackMe, la conexión a la red se realiza automáticamente al iniciarlo desde la página de la sala.
Para comprobar que estás conectado, puedes hacer ping a la IP del Domain Controller o al dominio:
ping THMDCIP
o, cuando el DNS esté configurado:
ping thmdc.za.tryhackme.com
Aunque el AttackBox se conecta automáticamente a la red, todavía tienes que configurar el DNS para que los nombres del dominio de AD se resuelvan correctamente.
Para configurar el DNS, tienes que sustituir THMDCIP por la IP real del Domain Controller que aparece en el diagrama de red y ejecutar:
sed -i '1s|^|nameserver THMDCIP\n|' /etc/resolv-dnsmasq
Después reinicia el servicio DNS:
systemctl restart dnsmasq
Y comprueba que funciona con:
nslookup thmdc.za.tryhackme.com
Si todo está bien, el dominio debería resolver a la IP del Domain Controller.
Apuntar mi IP de VPN
Una vez conectado, debes comprobar cuál es tu IP dentro de la red de TryHackMe. Para eso puedes usar:
ifconfig
o:
ip a
Tienes que fijarte en la interfaz relacionada con la red breachingad, porque esa será tu IP interna para realizar los ataques y pruebas de la sala.
Usando tu Máquina con OpenVPN
Si usas tu propia máquina virtual, por ejemplo Kali Linux, tienes que conectarte manualmente con OpenVPN.
Primero ve a la página de acceso de TryHackMe. Después entro en la pestaña Networks.
Selecciono el servidor VPN llamado:
breachingad
Y descarga el archivo de configuración de OpenVPN.

Necesitas un archivo de OpenVPN diferente al normal.
Luego, desde tu máquina virtual, ejecuta OpenVPN con el archivo descargado:
sudo openvpn breachingad.ovpn
Si la conexión se realiza correctamente, al final del terminal debería aparecer:
Initialization Sequence Completed
Eso significa que ya estás conectado a la red.
Después vuelve a la página de acceso de TryHackMe, refresca la página y debería aparecer como Connected, junto con mi IP interna de VPN.

Configurar DNS en mi Propia Máquina Virtual
Aunque OpenVPN esté conectado, todavía tienes que configurar el DNS para que los dominios internos de Active Directory funcionen.
En Kali Linux, normalmente se puede hacer desde el Network Manager:
Ruta aproximada:
Network Manager -> Advanced Network Configuration -> Tu conexión -> IPv4 Settings
Ahí debes poner como DNS principal la IP del Domain Controller.
También puedes añadir un DNS secundario externo, por ejemplo:
1.1.1.1
Esto permite seguir teniendo acceso a Internet.
Después reinicia Network Manager:
sudo systemctl restart NetworkManager
Y prueba que el DNS funciona:
nslookup thmdc.za.tryhackme.com
o:
nslookup za.tryhackme.com THMDCIP
Si esto no te funciona, abre el archivo /etc/resolv.conf. Si no has tocado nunca el DNS, normalmente será así:
search home nameserver 192.168.1.1
El apartado nameserver es el que nos interesa. Como hemos dicho, si no has tocado nada, este normalmente apuntará a tu gateway (router) por defecto como servidor DNS. Para que funcione, deja el archivo de la siguiente manera:
search home nameserver THMDC_IP namesever IP_DE_ANTES
Pongo IP_DE_ANTES porque en caso de que hubieras tocado el DNS, deberás poner el servidor previamente configurado.
No hagas sudo systemctl restart NetworkManager, pues podría borrarse la configuración. Además es probable que al reiniciar tu máquina tengas que volver a configurarlo.
Problemas Comunes con DNS
En Active Directory el DNS es muy importante, porque protocolos como Kerberos dependen de él. Si el DNS no funciona, muchas herramientas fallarán aunque la VPN esté conectada.
Si algo no funciona, lo primero que debes comprobar es el DNS.
Pasos para depurar:
ping THMDCIP
Esto comprueba si tienes conexión con el Domain Controller.
Después:
nslookup za.tryhackme.com THMDCIP
Esto comprueba si el Domain Controller está resolviendo nombres DNS.
Finalmente:
nslookup tryhackme.com
Esto comprueba si sigo teniendo DNS normal hacia Internet.
Si el DNS de TryHackMe no funciona, puede que la configuración se haya perdido o que el DNS interno no esté como primera entrada.
En Kali puede pasar que la entrada DNS correcta quede en segundo lugar dentro de:
/etc/resolv.conf
Si ocurre, hay que poner el DNS del Domain Controller como primera entrada.
[!DANGER] El DNS del AttackBox puede reiniciarse aproximadamente cada 3 horas. Si deja de funcionar, hay que repetir la configuración del DNS. Si se cierra el AttackBox y se vuelve más tarde a la sala, también habrá que repetir los pasos de DNS.
