Persistencia en Windows
La persistencia en Windows es una fase crucial en ataques de escalada de privilegios y movimiento lateral. A lo largo del tiempo, algunas de las técnicas asociadas a este proceso han evolucionado; en este artículo revisaremos la técnica de RID Hacking propuesta por Sebastián Castro y Pedro García, aclarando posibles imprecisiones y ampliando la información para incluir versiones recientes de Windows, rutas de registro y métodos de detección más avanzados.
Introducción a la persistencia en Windows
La persistencia es el proceso mediante el cual un atacante mantiene el acceso a un sistema comprometido tras reinicios, cierres de sesión o actualizaciones. En entornos corporativos, la persistencia puede facilitar movimientos laterales y la exfiltración de datos, convirtiéndose en un riesgo crítico.
En sistemas Windows, existen múltiples vectores de persistencia, desde Servicios y Tareas programadas hasta Run Keys en el registro. La técnica de RID Hacking destaca porque no deja artefactos en disco y manipula tokens en memoria, lo que complica su detección.
¿Qué es el RID Hacking?
El RID Hacking se basa en la manipulación del Relative Identifier (RID) dentro del Security Identifier (SID) de Windows. Al interceptar y alterar este RID en la creación de tokens de acceso, un usuario de bajo privilegio puede obtener los derechos de un administrador, sin necesidad de instalar software adicional.
Características clave:
- Totalmente en memoria: no genera ejecutables ni archivos visibles.
- Indetectable por antivirus convencionales: solo herramientas de EDR avanzadas pueden descubrir anomalías en los hooks.
- Registros adulterados: las acciones se atribuyen al usuario objetivo.
Versiones de Windows afectadas
Aunque inicialmente se probó en Windows 2000, XP, 2003, Vista y Server 2008–2012, la técnica es factible en kernels NT posteriores (Windows 7, 8, 10 y 11) siempre que las APIs internas no cambien sustancialmente:
- Windows NT 4.0 – Server 2012: confirmado en laboratorio.
- Windows 7, 8, 10, 11: requiere pruebas para validar cambios en llamadas internas de
NtQueryInformationToken
.
Nota: En versiones recientes, Microsoft ha reforzado la protección de código en memoria (HVCI, Memory Integrity), lo cual podría dificultar la inyección de hooks en kernel-mode.
Funcionamiento técnico
Tokens y SIDs en Windows
- Autenticación: el usuario introduce credenciales y Windows valida en Local Security Authority (LSA).
- Creación de Token: LSA devuelve un token con un SID que incluye Autoridad y RID (ej.
S-1-5-21-...-1001
). - Asignación de Privilegios: el kernel comprueba este token para permitir o denegar operaciones.
APIs interceptadas
Para modificar el RID, el módulo hookea funciones de bajo nivel en user-mode:
NtQueryInformationToken
(ClaseTokenUser
)NtOpenProcessToken
En algunos casos, también se interceptan llamadas en kernel-mode (SeTokenIsAdmin
, SepLookupAccountSid
).
Manipulación del RID
- Inyección de DLL: se utiliza un proceso confiable (explorer.exe o services.exe).
- Hook de API: la DLL reemplaza la implementación de
NtQueryInformationToken
. - Cambio de RID: al solicitar información del usuario, la función devuelve el RID de la cuenta privilegiada (ej.
500
para Administrador local). - Token adulterado: el sistema crea un token con privilegios de admin, aunque el proceso original siga siendo de usuario estándar.
Persistencia y rutas en registro
Para recargar el hook en cada inicio:
- Run Keys:
HKLM\Software\Microsoft\Windows\CurrentVersion\Run
oHKCU
para persistencia por usuario. - Servicios: creación de un servicio con
sc.exe create
apuntando arundll32.exe
cargando la DLL maliciosa.
Consejo: Evitar modificar la clave Winlogon\Shell
, menos común y fácil de auditar.
Peligros y limitaciones
- Suplantación de identidad: las huellas en los registros (
Event ID 4624
) muestran el SID adulterado. - Movimiento lateral: con credenciales elevadas, es sencillo ejecutar comandos remotos o desplegar PsExec, WMIC, WinRM.
- Limitaciones: HVCI y Credential Guard en Windows 10+ pueden bloquear la inyección de código.
Detección y mitigación
Monitoreo de claves de arranque
- Auditar Run Keys: configurar GPO para registrar
Event ID 4657
en modificaciones de registro. - Herramientas: Sysmon con la regla
ImageLoad
para detectar cargado de DLLs inusuales.
Análisis de memoria con Volatility
- Dump de memoria:
procdump
owinpmem
. - Volatility:
dlllist
para procesos críticos ygetsids
para revisar SIDs de procesos.
EDR y herramientas Next-Gen
- CrowdStrike Falcon y SentinelOne pueden detectar anomalías en hooks y comportamientos inusuales en APIs internas.
Buenas prácticas de seguridad
- Principio de menor privilegio: limitar cuentas con derechos de administrador.
- Actualizaciones: aplicar parches de Windows y revisiones de seguridad al firmware.
- Segmentación de red: aislar equipos críticos en VLANs y utilizar controles de acceso basados en identidad.
- Control de cambios: aprobar y revisar todas las modificaciones de registro y servicios.
Preguntas frecuentes (FAQ)
¿Qué versiones de Windows son vulnerables?
Confirmado de NT 4.0 a Server 2012; factible en Windows 7–11, pendiente de pruebas en ambientes con HVCI.
¿Cómo verificar si mi equipo está comprometido?
Usa Sysmon y Volatility para revisar DLLs inyectadas y comparar SIDs de procesos críticos.
¿Puedo parchear esta vulnerabilidad?
No existe parche específico; Emplea actualizaciones de kernel y habilita Memory Integrity.
¿Qué herramientas detectan RID Hacking?
EDR de última generación (CrowdStrike, SentinelOne) y auditorías de registro.
Conclusión y llamada a la acción
El RID Hacking es un ejemplo de técnica avanzada de persistencia en Windows, capaz de eludir antivirus y enmascarar auditorías forenses. Aunque la mitigación total requiere actualizaciones profundas en el kernel, el monitoreo de registro, el uso de EDRs avanzados y las buenas prácticas de ciberseguridad reducen significativamente el riesgo.
Si estás interesado en saber más sobre las últimas tendencias en seguridad informática en habla hispana, te invitamos a registrarte para las próximas versiones del DragonJAR Security Conference, donde anualmente se presentan las últimas investigaciones sobre ciberseguridad en habla hispana.
Mira la charla completa sobre "Persistencia en Windows"