> For the complete documentation index, see [llms.txt](https://g4b0.gitbook.io/g4b0-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://g4b0.gitbook.io/g4b0-docs/documentation/active-directory/miscellaneous-misconfigurations.md).

# Miscellaneous Misconfigurations

Una instalación por defecto de Microsoft Exchange en un entorno de Active Directory (AD) genera múltiples vectores de ataque debido a los altos privilegios que se le otorgan en el dominio.

Aquí están los puntos clave:

Grupo "Exchange Windows Permissions": Aunque no está clasificado como un grupo protegido, sus miembros pueden escribir listas de control de acceso discrecional (DACL) en el objeto del dominio. Los atacantes pueden explotar esto para obtener privilegios de DCSync.

* *Cómo se explota:* Un atacante puede añadir cuentas a este grupo aprovechando una mala configuración de DACL o comprometiendo una cuenta que pertenezca al grupo de "Account Operators" (donde a menudo se incluye a personal de soporte técnico).

Grupo "Organization Management": Es un grupo extremadamente poderoso, considerado el equivalente a los "Administradores de Dominio" dentro de Exchange.

* *Riesgos:* Puede acceder a los buzones de todos los usuarios del dominio y tiene control total sobre la unidad organizativa (OU) llamada *Microsoft Exchange Security Groups*, la cual contiene precisamente al grupo "Exchange Windows Permissions".

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

Una instalación predeterminada de Microsoft Exchange en un entorno de Active Directory facilita enormemente la escalada a Domain Admin debido a los excesivos privilegios otorgados al sistema. Los atacantes pueden explotar grupos clave como *Exchange Windows Permissions* o *Organization Management* para modificar listas de control de acceso (DACL) y obtener capacidades de DCSync. Además, comprometer el servidor permite realizar un volcado de memoria para extraer cientos de credenciales en texto claro y hashes NTLM, las cuales quedan almacenadas en la caché debido a los inicios de sesión de los usuarios a través de Outlook Web Access (OWA).

## PrivExchange

Este ataque es el resultado de un defecto en el servidor Exchange llamado "PushSubscription". Esto permite a cualquier usuario de dominio con un buzón de correo forzar al servidor Exchange a autenticarse en cualquier host proporcionado por el cliente a través de HTTP.

## PrinterBug

El Printer Bug es una vulnerabilidad en el protocolo de impresión de Windows (MS-RPRN) que permite a cualquier usuario del dominio forzar a un servidor a autenticarse contra un equipo controlado por el atacante mediante SMB. Dado que este servicio de impresión opera con los máximos privilegios del sistema (*SYSTEM*), un atacante puede interceptar y retransmitir esta autenticación hacia LDAP para obtener permisos críticos en la red. Esto le permite ejecutar ataques como DCSync (para extraer todas las contraseñas de Active Directory) o adquirir privilegios de delegación restringida basada en recursos (RBCD), lo que facilita suplantar a cualquier usuario en el equipo víctima.&#x20;

Además, esta falla puede explotarse para comprometer infraestructuras más grandes, permitiendo a los atacantes saltar entre dominios o bosques de confianza y tomar el control de otros controladores de dominio.

### Enumeracion de Printerbug

```powershell
Import-Module .\SecurityAssessment.ps1
```

```powershell
Get-SpoolStatus -ComputerName ACADEMY-EA-DC01.INLANEFREIGHT.LOCAL
```

### MS14-068

Esta vulnerabilidad crítica en el protocolo Kerberos permite a un usuario estándar escalar sus privilegios hasta convertirse en Administrador del Dominio. El fallo se aprovecha de la forma en que se valida el PAC (Certificado de Atributos de Privilegios), la sección del ticket que contiene la información y los grupos del usuario. Debido a esta falla, el servidor KDC acepta un PAC falsificado como legítimo, lo que permite a un atacante manipular el ticket para otorgarse a sí mismo la membresía en grupos de alto nivel. Este ataque, cuya única defensa es la actualización del sistema mediante parches, se explota típicamente con herramientas como PyKEK o la suite Impacket, y puede practicarse en laboratorios como la máquina "Mantis" de Hack The Box.

### Sniffing de credenciales LDAP

Muchas aplicaciones e impresoras almacenan credenciales LDAP en sus consolas de administración web, las cuales suelen ser vulnerables por el uso de contraseñas débiles o por defecto. En ocasiones, estas credenciales se exponen directamente en texto claro, mientras que en otros escenarios es posible interceptarlas abusando de la función de "prueba de conexión" (*test connection*). Al modificar la dirección IP del servidor LDAP hacia la máquina atacante y poner a la escucha el puerto 389 con *netcat* (o desplegando un servidor LDAP completo, si la herramienta lo requiere), se fuerza al dispositivo a enviarnos su información de autenticación de forma legible. Dado que estas cuentas de servicio frecuentemente poseen altos privilegios, este método resulta sumamente efectivo para conseguir un acceso inicial (*foothold*) dentro del dominio.

### Enumeracion de records DNS

La herramienta adidnsdump permite a cualquier usuario válido del dominio enumerar de forma exhaustiva los registros DNS en entornos Active Directory. Esta técnica es clave durante la fase de reconocimiento, ya que permite descubrir alias descriptivos (como *JENKINS*) asociados a nombres de servidores genéricos o poco claros (como *SRV01934*), ayudando a identificar servicios críticos y planificar mejor el ataque. Su funcionamiento se basa en abusar de los permisos por defecto del dominio, que permiten a cualquier usuario listar los objetos hijos de una zona DNS a través de consultas LDAP, extrayendo así una lista completa de registros que el servidor no devolvería mediante una consulta DNS estándar. Al ejecutar la herramienta, es normal que en un primer escaneo algunos registros se muestren en blanco o con información parcial, por ejemplo: ?,LOGISTICS,?

### Usando ADIDNSDUMP

```bash
adidnsdump -u inlanefreight\\forend ldap://172.16.5.5 
```

### Viendo el contenido del archivo records.csv

```bash
head records.csv

type,name,value
?,LOGISTICS,?
AAAA,ForestDnsZones,dead:beef::7442:c49d:e1d7:2691
AAAA,ForestDnsZones,dead:beef::231
A,ForestDnsZones,10.129.202.29
A,ForestDnsZones,172.16.5.240
A,ForestDnsZones,172.16.5.5
AAAA,DomainDnsZones,dead:beef::7442:c49d:e1d7:2691
AAAA,DomainDnsZones,dead:beef::231
A,DomainDnsZones,10.129.202.29
```

Al ejecutar la herramienta nuevamente con el parámetro `-r`, esta intentará resolver los registros desconocidos realizando una consulta DNS de tipo `A`. Como resultado, en este caso práctico se logra revelar la dirección IP asociada a un registro que antes aparecía en blanco (como *LOGISTICS*). Aunque este sea un ejemplo a pequeña escala, aplicar esta técnica en infraestructuras corporativas más grandes es sumamente valioso, ya que nos permite desenterrar registros "ocultos" que pueden guiarnos hacia servidores u objetivos (*hosts*) de gran interés para nuestra auditoría.

### Usando la opcion -r  para resolver los records desconocidos

```bash
adidnsdump -u inlanefreight\\forend ldap://172.16.5.5 -r
```

### Revisando nuevamente el records.csv

```bash
head records.csv

type,name,value
A,LOGISTICS,172.16.5.240
AAAA,ForestDnsZones,dead:beef::7442:c49d:e1d7:2691
AAAA,ForestDnsZones,dead:beef::231
A,ForestDnsZones,10.129.202.29
A,ForestDnsZones,172.16.5.240
A,ForestDnsZones,172.16.5.5
AAAA,DomainDnsZones,dead:beef::7442:c49d:e1d7:2691
AAAA,DomainDnsZones,dead:beef::231
A,DomainDnsZones,10.129.202.29

```

## Otras configuraciones incorrectas

### Password likeado en el campo descripcion

```powershell
Get-DomainUser * | Select-Object samaccountname,description |Where-Object {$_.Description -ne $null}

samaccountname description
-------------- -----------
administrator  Built-in account for administering the computer/domain
guest          Built-in account for guest access to the computer/domain
krbtgt         Key Distribution Center Service Account
ldap.agent     *** DO NOT CHANGE ***  3/12/2012: Sunsh1ne4All!
```

### Campo PASSWD\_NOTREQD

En entornos Active Directory, es posible encontrar cuentas con el flag `passwd_notreqd` activado en el atributo `userAccountControl`, lo que las exime de las políticas de longitud y permite que tengan contraseñas muy cortas o incluso completamente en blanco. Esta configuración puede originarse por malas prácticas administrativas, errores humanos al cambiar credenciales por consola, o instalaciones de software de terceros que nunca revirtieron este ajuste. Aunque la presencia de esta bandera no garantiza que la cuenta carezca de contraseña, durante un *pentesting* es fundamental enumerar estos usuarios y verificar manualmente si permiten la autenticación en blanco. Además, debido al riesgo de acceso no autorizado que representan, es un hallazgo que siempre debe documentarse en el reporte final para entregarle al cliente una auditoría de seguridad verdaderamente exhaustiva.

```powershell
Get-DomainUser -UACFilter PASSWD_NOTREQD | Select-Object samaccountname,useraccountcontrol

samaccountname                                                         useraccountcontrol
--------------                                                         ------------------
guest                ACCOUNTDISABLE, PASSWD_NOTREQD, NORMAL_ACCOUNT, DONT_EXPIRE_PASSWORD
mlowe                                PASSWD_NOTREQD, NORMAL_ACCOUNT, DONT_EXPIRE_PASSWORD
ehamilton                            PASSWD_NOTREQD, NORMAL_ACCOUNT, DONT_EXPIRE_PASSWORD
$725000-9jb50uejje9f                       ACCOUNTDISABLE, PASSWD_NOTREQD, NORMAL_ACCOUNT
nagiosagent                                                PASSWD_NOTREQD, NORMAL_ACCOUNT

```

### Credenciales en recursos compartidos SMB y scripts SYSVOL

El recurso compartido SYSVOL representa una valiosa fuente de información, especialmente en grandes organizaciones, dado que su directorio de scripts permite la lectura a cualquier usuario autenticado del dominio. Al explorar esta ruta, es frecuente encontrar archivos en formatos como Batch, VBScript o PowerShell que contienen contraseñas almacenadas directamente en el código (*hardcodeadas*). Aunque muchas veces estas credenciales pueden pertenecer a cuentas antiguas o deshabilitadas, la inspección exhaustiva de este directorio es una tarea obligatoria durante un *pentesting*, ya que ocasionalmente permite extraer información crítica para el compromiso del sistema, como lo demuestra el hallazgo de scripts reveladores del tipo `reset_local_admin_pass.vbs`.

```powershell
PS C:\htb> ls \\academy-ea-dc01\SYSVOL\INLANEFREIGHT.LOCAL\scripts

    Directory: \\academy-ea-dc01\SYSVOL\INLANEFREIGHT.LOCAL\scripts


Mode                LastWriteTime         Length Name                                                                 
----                -------------         ------ ----                                                                 
-a----       11/18/2021  10:44 AM            174 daily-runs.zip                                                       
-a----        2/28/2022   9:11 PM            203 disable-nbtns.ps1                                                    
-a----         3/7/2022   9:41 AM         144138 Logon Banner.htm                                                     
-a----         3/8/2022   2:56 PM            979 reset_local_admin_pass.vbs

```

Al inspeccionar el contenido del script, es posible extraer contraseñas *hardcodeadas*, como la del administrador local por defecto de los sistemas Windows. Una vez obtenida esta credencial, el siguiente paso táctico es verificar si sigue activa en otras máquinas de la red corporativa. Para automatizar esta comprobación, podemos ejecutar un ataque de *password spraying* utilizando herramientas como CrackMapExec con el parámetro `--local-auth`, lo que nos permitirá validar rápidamente si dicha contraseña nos otorga acceso administrativo local en los distintos *hosts* del dominio.

#### Buscando passwords en el script

```powershell
PS C:\htb> cat \\academy-ea-dc01\SYSVOL\INLANEFREIGHT.LOCAL\scripts\reset_local_admin_pass.vbs

On Error Resume Next
strComputer = "."
 
Set oShell = CreateObject("WScript.Shell") 
sUser = "Administrator"
sPwd = "!ILFREIGHT_L0cALADmin!"
 
Set Arg = WScript.Arguments
If  Arg.Count > 0 Then
sPwd = Arg(0) 'Pass the password as parameter to the script
End if
 
'Get the administrator name
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")

<SNIP>

```

### Contraseñas de GPP (Group Policy Preferences)

Las Group Policy Preferences (GPP) de Windows generaban archivos `.xml` (utilizados para mapear discos, configurar impresoras, servicios, tareas programadas o contraseñas de administrador local) que se almacenaban en la carpeta compartida SYSVOL y se guardaban en la caché de los equipos afectados. En estos archivos, las credenciales se alojaban en el atributo `cpassword` empleando cifrado AES-256; sin embargo, Microsoft publicó por error la clave privada, permitiendo a cualquier usuario autenticado del dominio acceder a SYSVOL y descifrar las contraseñas para obtenerlas en texto claro. Aunque esta vulnerabilidad se mitigó en 2014 con el parche MS14-025 (que impide establecer nuevas contraseñas por esta vía), sigue siendo un vector de ataque muy relevante en auditorías, ya que la actualización no elimina los archivos `.xml` heredados de SYSVOL y las copias en caché pueden persistir en las máquinas locales si las políticas antiguas simplemente se desvincularon en lugar de borrarse por completo.

#### Revisando Groups.xml

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

Y usamos gpp-decrypt para descifrar la cpassword

#### Descifrando la cpassword

```bash
gpp-decrypt VPe/o9YRyz2cksnYRbNeQj35w9KxQ5ttbvtRaAVqxaE
```

Para localizar contraseñas GPP en el recurso SYSVOL, puedes explorar los directorios manualmente o automatizar la extracción y el descifrado del atributo `cpassword` utilizando scripts como `Get-GPPPassword.ps1`, módulos de Metasploit o las funciones específicas de herramientas como CrackMapExec. Un consejo táctico clave para aplicar en tus laboratorios y auditorías reales es no descartar estas credenciales, incluso si notas que pertenecen a cuentas antiguas, bloqueadas o eliminadas. Dado que la reutilización de contraseñas es una vulnerabilidad humana extremadamente común, aprovechar esa clave descubierta para lanzar un ataque interno de *password spraying* puede ser el movimiento decisivo para obtener nuevos accesos y seguir escalando posiciones dentro del dominio.

#### Localizando y recuperando passwords GPP con crackmapexec

```bash
crackmapexec smb -L | grep gpp

[*] gpp_autologin             Searches the domain controller for registry.xml to find autologon information and returns the username and password.
[*] gpp_password              Retrieves the plaintext password and other information for accounts pushed through Group Policy Preferences.
```

Además de las contraseñas GPP, otro vector excelente que debes tener en el radar durante tus prácticas y laboratorios para la CPTS es la búsqueda de credenciales en archivos como `Registry.xml`, generados cuando el inicio de sesión automático (*autologon*) se configura mediante Políticas de Grupo (GPO). A diferencia de la vulnerabilidad GPP, Microsoft nunca parcheó esta funcionalidad, por lo que estas contraseñas se guardan directamente en texto claro dentro de la carpeta compartida SYSVOL, quedando totalmente expuestas a cualquier usuario autenticado del dominio. Para automatizar la caza de estas credenciales durante tus auditorías, puedes apoyarte en el módulo `gpp_autologin` de CrackMapExec o utilizar el script `Get-GPPAutologon.ps1` de la suite PowerSploit, agilizando enormemente tus fases de movimiento lateral o escalada de privilegios.

#### Usando el modulo gpp\_autologin de crackmapexec

```bash
crackmapexec smb 172.16.5.5 -u forend -p Klmcargo2 -M gpp_autologin

GPP_AUTO... 172.16.5.5      445    ACADEMY-EA-DC01  Usernames: ['guarddesk']
GPP_AUTO... 172.16.5.5      445    ACADEMY-EA-DC01  Domains: ['INLANEFREIGHT.LOCAL']
GPP_AUTO... 172.16.5.5      445    ACADEMY-EA-DC01  Passwords: ['ILFreightguardadmin!']
```

Como hemos visto en el texto, recuperar credenciales como las de la cuenta `guarddesk` (usadas frecuentemente para el inicio de sesión automático en equipos compartidos) es un hallazgo clave. De cara a tu entrenamiento para la CPTS, ten en cuenta que estas cuentas suelen tener privilegios de administrador local, lo que las hace ideales para acceder a otras máquinas y seguir recolectando información. Aunque a veces te topes con credenciales caducadas o deshabilitadas, el concepto estrella que debes llevarte de aquí es la reutilización de contraseñas.&#x20;

Como las malas prácticas corporativas son tan comunes, siempre que obtengas una nueva contraseña debes exprimirla al máximo: verifica si te da acceso a otros *hosts*, revisa si te otorga permisos interesantes en las listas de control de acceso (ACLs), explora recursos compartidos o utilízala directamente en ataques de *password spraying* para descubrir si esa misma clave te abre nuevas puertas hacia el compromiso total del dominio.

### ASREPRoasting

Un concepto fundamental que debes dominar en tu entrenamiento para la CPTS es el ataque de AS-REP Roasting. Esta técnica se aprovecha de aquellas cuentas de Active Directory que tienen la mala configuración de "No requerir preautenticación de Kerberos" (*Do not require Kerberos pre-authentication*), una vulnerabilidad muy común introducida por seguir a ciegas las guías de instalación de ciertos proveedores.&#x20;

En un escenario seguro, Kerberos exige cifrar una marca de tiempo con tu contraseña para validar tu identidad antes de darte acceso; pero, al estar desactivada esta defensa, el Controlador de Dominio le entregará la respuesta de autenticación (AS\_REP) con el ticket cifrado a cualquier usuario que la solicite. Esto te da una ventaja táctica enorme: puedes pedir ese ticket, llevártelo a tu entorno de ataque y crackearlo *offline* usando herramientas como Hashcat o John the Ripper para revelar la contraseña en texto claro, todo esto sin interactuar más con el servidor ni generar alertas de intentos fallidos.

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

Debes tener muy claro que el AS-REP Roasting es bastante similar al Kerberoasting, pero con la ventaja táctica de que ataca la fase AS-REP del protocolo y no requiere que la cuenta víctima tenga un SPN configurado. Para identificar tus objetivos (usuarios con el flag `DONT_REQ_PREAUTH` activado), puedes apoyarte en la enumeración con PowerView o el módulo nativo de AD de PowerShell, y luego capturar el ticket utilizando herramientas como Rubeus. Un vector de ataque avanzado que te será muy útil en tus laboratorios: si descubres que tienes permisos `GenericWrite` o `GenericAll` sobre una cuenta, puedes forzar esta vulnerabilidad habilitando el atributo tú mismo, extraer el ticket para crackearlo *offline* (confiando en que usen una contraseña débil) y luego volver a desactivarlo rápidamente para no dejar rastros en el dominio.

#### Enumeración del valor DONT\_REQ\_PREAUTH mediante Get-DomainUser

```powershell
Get-DomainUser -PreauthNotRequired | select samaccountname,userprincipalname,useraccountcontrol | fl

samaccountname     : mmorgan
userprincipalname  : mmorgan@inlanefreight.local
useraccountcontrol : NORMAL_ACCOUNT, DONT_EXPIRE_PASSWORD, DONT_REQ_PREAUTH
```

Una vez que identificas al objetivo durante tu entrenamiento para la CPTS, puedes usar la herramienta Rubeus para extraer el AS-REP listo para crackearse *offline*. Lo genial de este vector de ataque es que no necesitas tener credenciales válidas en el dominio; basta con conocer el nombre de usuario (SAM name) que tiene la preautenticación deshabilitada para solicitar el ticket. Un detalle técnico fundamental para cuando estés dándole a los laboratorios o en tu examen: recuerda siempre añadir el parámetro `/nowrap` al ejecutar Rubeus. Esto evitará que el texto del hash se divida en varias líneas, entregándote una cadena limpia y en el formato exacto que Hashcat necesita para intentar romper la contraseña sin darte errores de sintaxis.

#### Recuperar AS-REP con el formato correcto usando Rubeus

```powershell
.\Rubeus.exe asreproast /user:mmorgan /nowrap /format:hashcat
```

#### Crackeando el hash obtenido con el modo 18200

```bash
hashcat -m 18200 ilfreight_asrep /usr/share/wordlists/rockyou.txt 
```

#### Recuperando AS-REP con Kerbrute

```bash
kerbrute userenum -d inlanefreight.local --dc 172.16.5.5
```

Una técnica clave es utilizar el script `Get-NPUsers.py` de la suite Impacket una vez que ya cuentas con una lista de usuarios válidos. Esta herramienta automatiza la cacería de cuentas que tienen la preautenticación de Kerberos deshabilitada y extrae directamente el AS-REP en el formato ideal para crackearlo *offline* con Hashcat. Un truco muy útil en tus auditorías es alimentarla con un diccionario de posibles nombres de usuario: aunque arrojará errores para las cuentas que no existan, capturará los tickets de los válidos, dándote una vía excelente para conseguir un acceso inicial (*foothold*) o avanzar en tu intrusión. Como buen profesional, recuerda que incluso si la contraseña resiste tus ataques de cracking, siempre debes incluir este hallazgo en tu reporte para que el cliente pueda evaluar el riesgo y corregir la configuración.

```bash
GetNPUsers.py INLANEFREIGHT.LOCAL/ -dc-ip 172.16.5.5 -no-pass -usersfile valid_ad_users
```

#### Abuso de GPO (Group Policy Objects)

Aquí tienes el resumen estructurado y directo de los conceptos clave sobre el abuso de Políticas de Grupo (GPO), ideal para tenerlo a mano mientras te preparas para la CPTS:

El doble filo de las GPO

Las Políticas de Grupo son fundamentales para fortificar (*hardenizar*) un entorno de Active Directory mediante la configuración de usuarios, sistemas operativos y aplicaciones. Sin embargo, si un atacante logra aprovechar una mala configuración en las listas de control de acceso (ACLs) y obtiene derechos sobre una GPO, esta se convierte en una herramienta crítica para:

* Realizar movimientos laterales.
* Escalar privilegios.
* Comprometer totalmente el dominio.
* Establecer mecanismos de persistencia dentro de la red.

Principales vectores de ataque

Entender cómo manipular estas políticas te da una ventaja táctica enorme, especialmente en entornos muy restrictivos. Al controlar una GPO, puedes ejecutar ataques como:

* Asignar privilegios críticos: Otorgar derechos sensibles (como `SeDebugPrivilege`, `SeTakeOwnershipPrivilege` o `SeImpersonatePrivilege`) a usuarios estándar.
* Crear puertas traseras: Añadir un usuario bajo tu control al grupo de administradores locales en uno o múltiples *hosts*.
* Ejecutar código: Crear tareas programadas inmediatas para desencadenar cualquier tipo de acción maliciosa en las máquinas afectadas.

Herramientas para enumeración y auditoría

Para mapear estas vulnerabilidades e identificar qué auditar o atacar, cuentas con un arsenal especializado:

* PowerView: Ideal para enumerar información directamente desde la consola, usando comandos como `Get-DomainGPO` para listar las políticas por su nombre.
* BloodHound: Perfecto para visualizar las relaciones y permisos abusables sobre los objetos GPO.
* Auditoría de seguridad: Herramientas de análisis profundo como group3r, ADRecon y PingCastle, que te ayudarán a evaluar la postura de seguridad de las políticas implementadas en el dominio.

#### Enumerando nombres de GPO con Poweriew

```powershell
Get-DomainGPO | select displayname
```

Analizar los nombres y detalles de las Políticas de Grupo (GPO) es un paso crucial en tu fase de reconocimiento, ya que te revela las defensas implementadas en el entorno (como restricciones de acceso a `cmd.exe` o políticas de contraseñas específicas para cuentas de servicio). Además, esta enumeración te permite identificar oportunidades de oro: configuraciones de Autologon (que podrían indicar la presencia de contraseñas en texto claro dentro de la GPO) o la existencia de infraestructura de Active Directory Certificate Services (AD CS), un vector de ataque de altísimo valor. Como ventaja táctica, si la máquina desde la que operas tiene instaladas las herramientas nativas de administración, puedes prescindir de herramientas de terceros y utilizar directamente *cmdlets* de PowerShell como `Get-GPO` para realizar este mapeo de forma más sigilosa.

```powershell
Get-GPO -All | Select DisplayName
```

Identificación de permisos abusables sobre GPOs

El siguiente paso estratégico en tu auditoría es determinar si la cuenta que has comprometido (o cualquier usuario bajo tu control) tiene derechos de administración sobre alguna Política de Grupo.

* Delegación de permisos: Es común en entornos corporativos que se otorguen derechos de gestión de GPOs a usuarios o grupos específicos. Si logras comprometer una de estas cuentas, heredarás automáticamente su capacidad para modificar la política.
* El chequeo inicial clave: Una táctica obligatoria y rápida es revisar si el grupo genérico Domain Users (Usuarios del Dominio) posee algún tipo de permiso sobre una o más GPOs. Si encuentras esta mala configuración, significa que *cualquier* usuario válido de la red podría alterar la política y comprometer los sistemas donde se aplique, dándote una vía directa para avanzar en tu ataque.

#### Enumeración de los derechos de GPO de los usuarios de dominio

```powershell
$sid=Convert-NameToSid "Domain Users"
Get-DomainGPO | Get-ObjectAcl | ?{$_.SecurityIdentifier -eq $sid}
```

Al analizar los resultados de tu enumeración, podrías descubrir fallos graves donde un grupo base como Domain Users (al que pertenece cualquier empleado) posee permisos altamente privilegiados sobre una política, tales como `WriteProperty` o `WriteDacl`.

* Impacto y alcance: Esta mala configuración es una mina de oro. Te permite manipular los permisos para otorgarte control total sobre la GPO. Al hacerlo, cualquier carga útil o configuración maliciosa que inyectes se desplegará automáticamente hacia todos los usuarios y equipos que formen parte de las Unidades Organizativas (OUs) a las que aplica dicha política.
* Identificación del objetivo: Los resultados suelen arrojar el identificador único (GUID) de la política. Para saber exactamente a qué te enfrentas y planificar mejor tu movimiento, puedes combinar ese GUID con el *cmdlet* nativo `Get-GPO` para revelar el nombre legible (*display name*) de la política comprometida.

#### Conversión de GUID de GPO a nombre

```powershell
Get-GPO -Guid 7CA9C789-14CE-46E3-A722-83F4097AF532
```

Una vez que confirmas que tienes control sobre una Política de Grupo, puedes emplear herramientas como SharpGPOAbuse para materializar la intrusión. Los vectores de ataque más efectivos incluyen:

* Escalada de privilegios: Añadir un usuario bajo tu control directamente al grupo de administradores locales de las máquinas afectadas.
* Ejecución de Código Remoto (RCE): Crear tareas programadas inmediatas o inyectar scripts de inicio maliciosos que te devuelvan una *reverse shell*.

⚠️ Consideración Crítica de OPSEC: En tus laboratorios y futuras auditorías, debes ser extremadamente cuidadoso con el "radio de explosión" (*blast radius*). Al modificar una GPO, tu ataque afectará a todos los equipos dentro de la Unidad Organizativa (OU) vinculada. Si aplicas el ataque a ciegas en una OU con 1,000 computadoras, generarás un ruido masivo y alertarás a los equipos defensivos (Blue Team).

Para operar con sigilo, aprovecha las opciones avanzadas de la herramienta que te permiten especificar un *host* o usuario objetivo, limitando la ejecución de tu carga útil únicamente a la máquina que realmente deseas comprometer.

Aunque ya hemos explorado múltiples vulnerabilidades comunes que te encontrarás durante una auditoría, el ecosistema de AD es inmenso. Para estar completamente preparado para los laboratorios avanzados de la CPTS, es vital que empieces a investigar y familiarizarte con estos vectores de ataque de alto nivel:

* Ataques a AD CS (*Active Directory Certificate Services*).
* Delegación de Kerberos: En sus tres variantes principales: No Restringida (*Unconstrained*), Restringida (*Constrained*) y Restringida Basada en Recursos (*RBCD*).

Próximo objetivo: Relaciones de Confianza A continuación, el material hará una breve introducción a los ataques contra las relaciones de confianza de AD (*AD Trusts*). Debes tener en cuenta que este es un tema sumamente extenso y técnico que requerirá un estudio mucho más profundo y dedicado en módulos futuros.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://g4b0.gitbook.io/g4b0-docs/documentation/active-directory/miscellaneous-misconfigurations.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
