# 🧠 Introducción a Active Directory para Pentesters

#### ¿Qué es Active Directory?

**Active Directory** es un servicio de directorio desarrollado por Microsoft que se utiliza para **gestionar identidades y controlar el acceso** a recursos en redes corporativas. Permite autenticar y autorizar usuarios, equipos y otros recursos dentro de un **entorno de dominio**.

***

#### 🔐 ¿Por qué es tan importante para los atacantes?

Porque centraliza la autenticación, lo que significa que si **controlas el AD, controlas toda la red**. Desde una cuenta normal se puede escalar privilegios hasta un **Domain Admin**, acceder a información sensible, distribuir malware o incluso **tomar el control completo del dominio**.

***

### 🧱 Componentes principales de Active Directory

| Componente                      | Descripción                                                                |
| ------------------------------- | -------------------------------------------------------------------------- |
| **Domain Controller (DC)**      | Servidor que ejecuta AD y almacena toda la información del dominio.        |
| **Domain**                      | Conjunto lógico de usuarios, equipos y recursos.                           |
| **Organizational Units (OUs)**  | Contenedores para organizar objetos dentro del dominio.                    |
| **Group Policy Objects (GPOs)** | Reglas que definen el comportamiento del sistema y políticas de seguridad. |
| **Kerberos**                    | Protocolo de autenticación utilizado por defecto.                          |
| **LDAP**                        | Protocolo para leer/modificar información en el AD.                        |
| **SAM/NTDS.dit**                | Bases de datos que almacenan credenciales y objetos del AD.                |

***

### 🔍 Técnicas comunes de Hacking en Active Directory

#### 1. **Enumeración**

Descubrir usuarios, grupos, políticas y equipos del dominio.

* 🔧 Herramientas: `rpcclient`, `ldapsearch`, `BloodHound`, `ADExplorer`, `SharpHound`

#### 2. **Pass-the-Hash / Pass-the-Ticket**

Uso de hashes o tickets para autenticarse sin conocer la contraseña en texto claro.

* Requiere acceso al equipo víctima.
* Muy útil cuando se roba un `NTLM` hash o ticket Kerberos (`.kirbi`).

#### 3. **Kerberoasting**

Extracción de hashes de servicios Kerberos para crackearlos offline y obtener contraseñas.

* Requiere ser usuario autenticado.
* 💣 Ataques con: `Rubeus`, `Impacket`

#### 4. **AS-REP Roasting**

Se aplica cuando una cuenta no requiere pre-autenticación.

* Se obtiene un hash crackeable usando herramientas como `GetNPUsers.py`.

#### 5. **Overpass-the-Hash**

Permite obtener tickets Kerberos a partir de NTLM hashes y usarlos.

#### 6. **Abuso de GPOs o ACLs**

Modificar GPOs o permisos para ejecutar código o escalar privilegios.

#### 7. **DCSync Attack**

Extrae todos los hashes del dominio **sin necesidad de acceso físico**.

* Requiere privilegios elevados.
* Herramientas: `mimikatz`, `secretsdump.py`

***

### 🔧 Herramientas Clave

| Herramienta    | Uso principal                                                                 |
| -------------- | ----------------------------------------------------------------------------- |
| `BloodHound`   | Mapear relaciones entre usuarios y privilegios.                               |
| `Mimikatz`     | Extraer credenciales, tickets, hashes.                                        |
| `Impacket`     | Suite con scripts como `secretsdump`, `smbexec`, `wmiexec`, `GetUserSPNs.py`. |
| `CrackMapExec` | Enumerar, atacar y automatizar ataques sobre AD.                              |
| `Rubeus`       | Ataques Kerberos (roasting, ticket harvesting, etc).                          |
| `Responder`    | Ataques LLMNR/NBT-NS para obtener hashes.                                     |
| `Evil-WinRM`   | Shell remota en Windows para pentesting.                                      |

***

### 🚩 Buenas Prácticas para Hacking Ético en AD

* Siempre realiza pruebas en un entorno controlado (laboratorio).
* Obtén permiso formal antes de atacar una red real.
* Documenta cada paso y resultado.
* Mantén logs para demostrar tu metodología.

***

### 🧪 Laboratorios Recomendados para Practicar

* **Hack The Box** – Máquinas como *Forest*, *Active*, *Blackfield*.
* **TryHackMe** – Rooms: *Attacking AD*, *AD Basics*, *Wreath Network*.
* **VulnHub / HackMyVM** – Máquinas con vulnerabilidades AD reales.
* **Create your own lab** – Con máquinas Windows Server + clientes.
