# 5 - DNS, LDAP, MSRPC

#### **📌La Relación entre Active Directory y DNS**

**¿Por qué AD DS necesita DNS?**

Active Directory Domain Services (AD DS) depende completamente del DNS (Sistema de Nombres de Dominio) para funcionar. Imaginemos al DNS como la **agenda de contactos** de una red corporativa: sin ella, los dispositivos no sabrían cómo encontrarse entre sí.

* **Función principal de DNS en AD:**
  * Convertir nombres fáciles de recordar (como `DC01.empresa.com`) en direcciones IP (como `192.168.1.10`).
  * Permitir que los clientes (computadoras, servidores) localicen servicios críticos, como los **Controladores de Dominio (DCs)**.

**¿Cómo lo hace?**

1. **Registros SRV: El "Mapa" de Servicios**
   * AD guarda en el DNS **registros SRV** (Service Records), que son como "páginas amarillas" que indican:
     * Dónde están los Controladores de Dominio.
     * Qué servicios ofrecen (ej: autenticación, replicación).
2. **DNS Dinámico (DDNS): Actualización Automática**
   * Cuando un Controlador de Dominio o un cliente se une a la red:
     * **Registra automáticamente** su nombre y su IP en el DNS.
     * Esto evita errores humanos y ahorra tiempo.
   * Sin DDNS, tendríamos que actualizar manualmente las direcciones IP cada vez que algo cambie&#x20;
3. **Proceso Paso a Paso: Cómo un Cliente Encuentra un DC**
   * **Paso 1:** Un usuario intenta iniciar sesión en su computadora.
   * **Paso 2:** La computadora pregunta a DNS: _"¿Dónde está un Controlador de Dominio para 'empresa.com'?"_
   * **Paso 3:** DNS responde con un registro SRV que contiene el nombre del DC (ej: `DC01.empresa.com`).
   * **Paso 4:** La computadora pide a DNS la IP de `DC01.empresa.com`.
   * **Paso 5:** ¡Con la IP, la computadora se conecta al DC para autenticarse!

**Detalles Técnicos Clave**

* **Puertos DNS:**
  * **UDP 53:** Para consultas normales (rápidas, pero sin garantía de entrega).
  * **TCP 53:** Se usa si la respuesta es muy grande (ej: listas largas de DCs) o si UDP falla.
* **Espacios de Nombres en AD:**
  * AD usa un **dominio DNS interno** (ej: `empresa.com`) para organizar sus registros.
  * Este dominio puede ser público o privado&#x20;
* **¿Qué pasa si DNS falla?**
  * Los clientes **no podrán encontrar los Controladores de Dominio**.
  * Los usuarios **no iniciarán sesión**.
  * La replicación entre DCs **se detendrá**.

**¿Por qué es Importante?**

* **Sin DNS, AD no funciona.** Es como tener un teléfono sin agenda: sabes que existe el número, pero no cómo marcarlo.
* **DNS dinámico** es esencial para redes grandes. Sin él, los administradores tendrían que actualizar manualmente cientos de direcciones IP.
* Los registros SRV son **la brújula** que guía a los clientes hacia los servicios de AD.

#### **📌LDAP y su Relación con Active Directory**

**1. ¿Qué es LDAP?**

LDAP (_Lightweight Directory Access Protocol_) es un protocolo estándar y multiplataforma diseñado para **consultar y modificar información en servicios de directorio**, como Active Directory. Funciona como un "lenguaje universal" que permite a aplicaciones y sistemas comunicarse con directorios de red.

* **Características clave:**
  * **Ligero:** Consume pocos recursos.
  * **Jerárquico:** Organiza datos en una estructura de árbol (ej: `OU=Usuarios,DC=empresa,DC=com`).
  * **Escalable:** Soporta millones de entradas.
* **Puertos utilizados:**
  * **LDAP estándar:** Puerto **389** (sin cifrado).
  * **LDAPS (LDAP sobre SSL/TLS):** Puerto **636** (cifrado seguro).

**2. LDAP en Active Directory (AD)**

AD es un **servidor de directorio** que implementa LDAP para permitir consultas y autenticación. La relación entre ambos es similar a cómo un servidor web (como Apache) usa HTTP para comunicarse.

* **Funciones principales de LDAP en AD:**
  * **Búsquedas:** Consultar usuarios, grupos, equipos, etc. (ej: "Encontrar todos los usuarios del departamento de TI").
  * **Autenticación:** Verificar credenciales (usuario/contraseña).
  * **Modificaciones:** Actualizar atributos (ej: cambiar el teléfono de un usuario).

**3. Autenticación LDAP en AD**

LDAP soporta dos métodos de autenticación:

**A. Autenticación Simple**

* **Mecanismo:**
  * El cliente envía un **nombre de usuario y contraseña en texto claro** (o cifrado, si se usa LDAPS).
  * AD verifica las credenciales contra su base de datos.
* **Tipos:**
  1. **Anónima:** Sin credenciales (solo para consultas públicas).
  2. **Con credenciales:** Usuario + contraseña (ej: `cn=admin,dc=empresa,dc=com`).
* **Vulnerabilidad:**
  * Sin cifrado (LDAP estándar), las credenciales pueden ser interceptadas.

**B. Autenticación SASL**

* **Mecanismo:**
  * Usa protocolos externos como **Kerberos** para autenticar.
  * Más seguro: Implementa desafíos/respuestas cifradas.
* **Ventajas:**
  * No transmite contraseñas directamente.
  * Soporta autenticación multifactor (MFA).

**4. Flujo de una Sesión LDAP**

1. **Conexión al servidor LDAP (Controlador de Dominio):**
   * El cliente se conecta al puerto 389 (LDAP) o 636 (LDAPS).
2. **Operación BIND:**
   * El cliente envía credenciales para autenticarse.
3. **Búsqueda/Modificación:**
   * Una vez autenticado, el cliente puede:
     * Consultar objetos (`SEARCH`).
     * Añadir/modificar/eliminar entradas (`ADD`, `MODIFY`, `DELETE`).
4. **Desconexión:**
   * El cliente cierra la sesión (`UNBIND`).

**📌MSRPC en Active Directory: Explicación Ampliada y Detallada**

MSRPC (_Microsoft Remote Procedure Call_) es el corazón de la comunicación entre sistemas Windows y servicios críticos de Active Directory (AD). Es un protocolo que permite a aplicaciones cliente solicitar servicios a servidores remotos, como controladores de dominio, de manera transparente, como si fueran funciones locales. En AD, MSRPC se utiliza para gestionar políticas de seguridad, autenticación, replicación y administración de cuentas.

**1. ¿Qué es MSRPC y por qué es importante en AD?**

MSRPC es la implementación de Microsoft del estándar **RPC** (Llamada a Procedimiento Remoto), adaptado para entornos Windows. En AD, es esencial porque:

* **Centraliza la gestión**: Permite administrar usuarios, grupos, políticas y replicación desde cualquier punto de la red.
* **Facilita la comunicación cliente-servidor**: Los sistemas miembros (workstations, servidores) interactúan con los controladores de dominio (DCs) mediante estas interfaces.
* **Es el "lenguaje oculto" de AD**: Muchas herramientas administrativas (como `Active Directory Users and Computers`) usan MSRPC en segundo plano.

**2. Las 4 Interfaces Clave de MSRPC en Active Directory**

#### **A. `lsarpc` (Interfaz LSA)**

**Función principal:**\
Gestionar políticas de seguridad y autenticación en el dominio.

**Detalles técnicos:**

* **LSA** (_Local Security Authority_) es el componente de Windows que maneja:
  * Políticas de contraseñas.
  * Derechos de usuario (ej: "Iniciar sesión localmente").
  * Auditoría de eventos de seguridad.
* **Uso en AD:**
  * Cuando un usuario inicia sesión, el cliente consulta al DC via `lsarpc` para validar credenciales.
  * Herramientas como `secpol.msc` usan esta interfaz para configurar políticas.

**Ejemplo de ataque:**

* Un atacante puede usar `lsarpc` para enumerar políticas de dominio y encontrar configuraciones débiles (ej: contraseñas nunca expiran).

**B. `netlogon`**

**Función principal:**\
Autenticar usuarios y equipos en el dominio.

**Detalles técnicos:**

* **Proceso `Netlogon`**:
  * Verifica credenciales durante el inicio de sesión.
  * Mantiene el "canal seguro" (_secure channel_) entre equipos y DCs.
* **Protocolo asociado**: Autenticación mediante **Netlogon Secure Channel** (usando cifrado RC4 o AES).

**Ejemplo de ataque (ZeroLogon):**

* Vulnerabilidad crítica (CVE-2020-1472) permitía falsificar el canal seguro y comprometer DCs.

**C. `samr` (SAM Remoto)**

**Función principal:**\
Administrar usuarios, grupos y equipos en la base de datos SAM (_Security Account Manager_) de AD.

**Detalles técnicos:**

* **SAMR permite:**
  * Crear/modificar/eliminar cuentas.
  * Listar usuarios y grupos del dominio.
* **Uso legítimo:**
  * Herramientas como `net user` o scripts de PowerShell usan `samr`.
* **Uso malicioso:**
  * Ataques de enumeración (ej: con `BloodHound` para mapear relaciones de confianza).

**Protección recomendada:**

* Restringir consultas SAMR solo a admins (clave de registro `RestrictRemoteSAM`).

**D. `drsuapi` (API de Replicación)**

**Función principal:**\
Sincronizar datos entre controladores de dominio (replicación de AD).

**Detalles técnicos:**

* **DRS** (_Directory Replication Service_):
  * Garantiza que cambios en un DC se repliquen a otros.
  * Usa protocolos como **DFS-R** o **RPC over TCP/IP**.
*   **Uso malicioso:**

    * **Ataque DCSync**: Simula ser un DC y solicita replicación para robar hashes de contraseñas (`NTDS.dit`).
    * Herramientas como `Mimikatz` explotan esta interfaz.



