> For the complete documentation index, see [llms.txt](https://4lec4st.gitbook.io/4lec4st/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://4lec4st.gitbook.io/4lec4st/active-directory/introduccion-a-active-directory/protocolos-de-active-directory/kerberos-dns-ldap-msrpc.md).

# Kerberos, DNS, LDAP, MSRPC

Active Directory (AD) utiliza varios protocolos clave para autenticación y comunicación en entornos Windows:

* **Kerberos** (puerto 88 TCP/UDP): Protocolo principal de autenticación.
* **DNS** (puerto 53 TCP/UDP): Resolución de nombres y localización de servicios.
* **LDAP** (puerto 389 y 636 para LDAPS): Acceso a servicios de directorio.
* **MSRPC**: Implementación de Microsoft de Remote Procedure Call, para comunicaciones cliente-servidor.

***

## Kerberos

### Descripción

Kerberos es el protocolo de autenticación por defecto desde Windows 2000. Se basa en tickets, no transmite contraseñas por red y permite autenticación mutua entre cliente y servidor. Utiliza un **Key Distribution Center (KDC)** ubicado en los Domain Controllers (DC).

### Proceso de Autenticación Kerberos

1. El usuario inicia sesión: se encripta una marca de tiempo con su contraseña y se envía al KDC.
2. El KDC valida el AS-REQ y entrega un **Ticket Granting Ticket (TGT)** cifrado con la clave del usuario `krbtgt`.
3. El usuario solicita un **Ticket Granting Service (TGS)** presentando el TGT.
4. El DC entrega el TGS cifrado con el hash NTLM del servicio.
5. El usuario presenta el TGS al servicio y se le otorga acceso.

### Puertos

* **88 TCP/UDP**

<figure><img src="/files/NM8E1gXPeSILZeztNcEU" alt=""><figcaption></figcaption></figure>

***

## DNS

### Función

AD usa DNS para:

* Localizar Domain Controllers.
* Resolver nombres de host a direcciones IP mediante **registros SRV**.
* Comunicarse entre servicios y sistemas dentro del dominio.

### Características

* **DNS Dinámico**: actualiza automáticamente los registros si cambia una IP.
* Si no hay IP correcta, los clientes no podrán localizar el host.
* Usa **TCP/UDP puerto 53** (UDP por defecto, TCP si el mensaje supera 512 bytes).

<figure><img src="/files/snzNGy6Xn4pqbmnet6lJ" alt=""><figcaption></figcaption></figure>

### Comandos útiles (en PowerShell)

```powershell
# Obtener IP de un dominio
nslookup INLANEFREIGHT.LOCAL

# Resolver IP a nombre DNS (reverse lookup)
nslookup 172.16.6.5

# Resolver nombre de host a IP
nslookup ACADEMY-EA-DC01
```

***

## LDAP

### ¿Qué es?

Protocolo abierto y multiplataforma utilizado para realizar consultas y autenticación contra servicios de directorio como AD.

<figure><img src="/files/7L9r7matiAJbPseO65yf" alt=""><figcaption></figcaption></figure>

### Versiones y Puertos

* **Versión actual**: LDAPv3 (RFC 4511)
* **Puerto sin cifrado**: 389
* **Puerto cifrado (LDAPS)**: 636

### Función en AD

LDAP permite a las aplicaciones consultar y autenticar usuarios contra AD. Los Domain Controllers escuchan solicitudes LDAP y responden con la información solicitada.

### Autenticación LDAP

* **Simple**: usuario/contraseña, anónimo o sin autenticar.
* **SASL**: utiliza servicios externos (ej. Kerberos) para autenticación más segura.

***

## MSRPC (Microsoft Remote Procedure Call)

### Descripción

Protocolo de comunicación entre procesos utilizado por Windows. AD lo utiliza mediante varias interfaces para tareas de administración, autenticación y replicación.

### Interfaces importantes

| Interfaz   | Descripción                                                                                                                                                     |
| ---------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `lsarpc`   | Gestión de políticas de seguridad locales (LSA).                                                                                                                |
| `netlogon` | Proceso continuo de autenticación de usuarios.                                                                                                                  |
| `samr`     | Gestión de la base de datos de cuentas del dominio (usuarios, grupos, etc.). Usado por herramientas como **BloodHound** para enumerar y mapear rutas de ataque. |
| `drsuapi`  | Usado para replicación entre Domain Controllers. Puede ser explotado para extraer la base de datos `NTDS.dit` con los hashes de contraseñas.                    |
