Active Directory (AD) de Microsoft es una piedra angular en la gestión de identidades y accesos en numerosas organizaciones. Su uso extensivo también lo convierte en un objetivo atractivo para los atacantes. Realizar pruebas de penetración (pentesting) en infraestructuras basadas en Windows, especialmente aquellas que utilizan AD, es crucial para identificar y mitigar vulnerabilidades antes de que puedan ser explotadas. Este post aborda las técnicas y tácticas fundamentales para realizar pentesting en Active Directory y otros servicios de infraestructura de Windows.
Preparación del Laboratorio
Antes de comenzar con las pruebas de penetración, es esencial configurar un entorno de laboratorio seguro. Este laboratorio permite practicar ataques sin riesgos para los sistemas reales. Aquí hay algunos pasos esenciales para configurar tu laboratorio:
Herramientas de Virtualización:
Utiliza herramientas como VMware Workstation o Oracle VirtualBox.
Asegúrate de tener al menos 16 GB de RAM y 10 núcleos de CPU disponibles.
Proyectos de Laboratorio:
GOADv2: Un proyecto de Orange Cyberdefense que facilita la creación de un entorno de AD para pruebas.
DetectionLab: Un entorno con herramientas de detección preinstaladas como Sysmon y Velociraptor, ideal para simular ataques y probar la detección de estos.
Cadena de Ataque en Active Directory
La cadena de ataque en Active Directory se basa en el modelo de Cyber Kill Chain de Lockheed Martin. Este modelo divide el ataque en varias etapas clave:
Reconocimiento: Identificar y mapear la infraestructura del AD.
Compromiso: Obtener acceso inicial al entorno.
Movimiento Lateral: Explorar y moverse dentro de la red comprometida.
Escalada de Privilegios: Obtener niveles más altos de acceso.
Persistencia: Mantener el acceso a largo plazo en el sistema.
Evasión de Defensa
Los atacantes deben evadir mecanismos de defensa como AMSI (Antimalware Scan Interface), AppLocker y PowerShell Constrained Language Mode (CLM). Aquí se presentan algunas técnicas para evitar estas defensas:
Forzar Errores: Manipular el código para provocar errores que permitan la ejecución.
Ofuscación: Modificar el código para hacerlo menos reconocible por los escáneres.
Parcheo de Memoria: Alterar directamente la memoria para evitar la detección.
Además, es crucial utilizar técnicas de registro mejoradas de PowerShell y herramientas como Sysmon y ETW (Event Tracing for Windows) para detectar actividades sospechosas.
Reconocimiento del Dominio
El reconocimiento del dominio es un paso crítico para mapear la infraestructura y descubrir usuarios y servicios:
Herramientas Integradas:
Utilizar cmdlets de PowerShell, WMI y net.exe.
Herramientas de Enumeración:
SharpView/PowerView: Herramientas de PowerShell para enumerar datos en AD.
BloodHound: Utiliza grafos para mostrar relaciones y permisos en AD.
Acceso a Credenciales
Obtener credenciales es crucial para moverse dentro del entorno. Algunas técnicas incluyen:
Rociado de Contraseñas: Probar contraseñas comunes contra múltiples cuentas.
Captura de Hashes: Utilizar herramientas como Responder para capturar hashes de contraseñas.
Ataques Kerberoasting y ASREPRoasting: Exploitar la autenticación Kerberos para obtener hashes de contraseñas.
Movimiento Lateral
El movimiento lateral permite a los atacantes extender su compromiso dentro de la red:
PSRemoting y RDP: Utilizar PowerShell Remoting y Remote Desktop Protocol.
Impacket: Herramientas para ejecutar comandos y moverse dentro de la red.
Delegación Kerberos: Abusar de configuraciones de delegación para moverse lateralmente.
Escalada de Privilegios
La escalada de privilegios permite obtener acceso completo al dominio:
Explotación de Vulnerabilidades:
Zerologon (CVE-2020-1472) y PrintNightmare (CVE-2021-1675).
Abuso de ACLs y Políticas de Grupo: Modificar listas de control de acceso y políticas de grupo para obtener privilegios elevados.
Persistencia en el Dominio
Mantener la persistencia es clave para asegurar que los atacantes puedan regresar incluso después de intentos de limpieza:
Falsificación de Tickets: Crear tickets Kerberos falsos para mantener el acceso.
Manipulación de ACLs: Modificar ACLs para crear puertas traseras persistentes.
Instalación de Claves Esqueleto: Insertar claves esqueleto en controladores de dominio.
Abuso de Servicios de Certificados de Active Directory
Los servicios de certificados de Active Directory (ADCS) son un objetivo valioso. Algunas técnicas incluyen:
Robo de Certificados: Exportar certificados usando CryptoAPI.
Escalada de Privilegios con Certificados: Utilizar certificados para obtener privilegios elevados.
Persistencia con Certificados: Mantener acceso utilizando certificados maliciosos.
Comprometiendo Servidores SQL de Microsoft
Los servidores SQL son objetivos críticos. Las técnicas incluyen:
Enumeración y Descubrimiento: Identificar bases de datos y usuarios.
Escalada de Privilegios: Utilizar procedimientos almacenados y extensiones CLR para ejecutar comandos del sistema operativo.
Movimiento Lateral: Explorar enlaces de bases de datos y cuentas de servicio compartidas.
Persistencia: Utilizar procedimientos de inicio y disparadores maliciosos.
Toma de Control de WSUS y SCCM
WSUS y SCCM son servicios de gestión que pueden ser abusados:
Escalada de Privilegios: Abusar de autenticaciones de cliente para obtener privilegios elevados.
Movimiento Lateral: Utilizar ataques de retransmisión de autenticación.
Compromiso del Sitio: Tomar control de la infraestructura de gestión.
La seguridad de Active Directory y las infraestructuras basadas en Windows requiere una comprensión profunda de las tácticas y técnicas de ataque. Realizar pentesting en estos entornos es esencial para identificar y mitigar vulnerabilidades antes de que puedan ser explotadas. Este post ha cubierto las etapas críticas de la cadena de ataque, las técnicas de evasión de defensa, el acceso a credenciales, el movimiento lateral, la escalada de privilegios, y la persistencia, así como el compromiso de servicios críticos como ADCS, SQL Server, WSUS y SCCM.
Para garantizar la seguridad, es vital mantenerse actualizado con las mejores prácticas de seguridad, aplicar parches regularmente y utilizar herramientas de monitoreo avanzadas para detectar actividades sospechosas.
frenify: Thank you for your kind words! We’re glad you enjoyed the post. Stay tuned for more content – we’ve got plenty more coming your way.
frenify: I really enjoyed reading this. The content is informative, and the layout makes it so easy to follow. Looking forward to more posts like this! Keep up the great work!