Tema 19

19. Explotación en Windows: privilegios, servicios, credenciales y escalada local

En Windows, la escalada local depende de privilegios, tokens, servicios, permisos NTFS, credenciales, registro y configuración del sistema. El análisis debe validar rutas de impacto sin alterar estabilidad ni exponer secretos innecesarios.

Objetivo Analizar rutas de escalada local en Windows
Enfoque Privilegios, servicios, credenciales y permisos
Resultado Validar impacto local con evidencia controlada

19.1 Introducción

Después de obtener acceso autorizado a un sistema Windows, el siguiente paso es entender el contexto local: usuario actual, privilegios, grupos, servicios, permisos, credenciales y relación con el dominio si existe.

Windows tiene un modelo de seguridad distinto a Linux. Usa tokens de acceso, privilegios específicos, ACL, servicios, UAC, registro, políticas locales y, en entornos corporativos, integración con Active Directory.

Este tema presenta una metodología de análisis local en Windows para pentesting: cómo enumerar, qué riesgos buscar, cómo validar sin dañar y cómo documentar hallazgos.

19.2 Principios de trabajo en Windows

El acceso a un sistema Windows puede disparar registros, alertas de EDR o políticas defensivas. Por eso, cada acción debe tener propósito.

  • Confirmar que el sistema está dentro del alcance.
  • Identificar si es estación, servidor o controlador de dominio.
  • Determinar usuario, grupos y privilegios actuales.
  • Evitar cambios persistentes sin autorización.
  • No desactivar defensas ni borrar logs salvo objetivo explícito.
  • Recolectar evidencia mínima y protegida.
  • Detenerse ante credenciales o datos sensibles fuera de lo esperado.
En Windows, una ruta de escalada puede aparecer por un permiso débil en un servicio, una credencial almacenada o un privilegio de token mal gestionado.

19.3 Enumeración local inicial

La enumeración local busca entender el sistema antes de probar cualquier ruta de escalada.

Pregunta Qué buscar Riesgo asociado
¿Quién soy? Usuario, grupos, privilegios Permisos administrativos o privilegios peligrosos
¿Qué sistema es? Versión, parches, rol, dominio Vulnerabilidades locales o mala configuración
¿Qué servicios corren? Servicios, rutas, cuentas, permisos Servicios modificables o rutas inseguras
¿Qué puedo leer? Archivos, perfiles, configs, backups Secretos o datos sensibles expuestos
¿Qué puedo modificar? ACL en archivos, registro, servicios Escalada por modificación de ejecución privilegiada

19.4 Usuarios, grupos y roles

Los grupos locales y de dominio determinan gran parte del impacto. Un usuario puede parecer limitado, pero pertenecer a grupos con permisos relevantes.

  • Administrators: control local amplio.
  • Remote Desktop Users: acceso interactivo remoto.
  • Backup Operators: acceso a archivos protegidos para respaldo.
  • Event Log Readers: lectura de eventos que pueden contener información sensible.
  • Power Users: legado, aún relevante en algunos entornos.
  • Domain Users: grupo base en Active Directory.

La evidencia debe relacionar pertenencia con impacto real, no solo listar grupos.

19.5 Tokens y privilegios

Windows asigna tokens de acceso que contienen identidad, grupos y privilegios. Algunos privilegios pueden ser muy sensibles si están habilitados o pueden habilitarse.

Privilegio Riesgo Comentario
SeImpersonatePrivilege Abuso de impersonación Puede permitir escalada en ciertos contextos de servicio
SeDebugPrivilege Acceso a procesos de alto privilegio Muy sensible en cuentas administrativas
SeBackupPrivilege Lectura de archivos protegidos Puede exponer bases de credenciales o datos
SeRestorePrivilege Escritura sobre archivos protegidos Puede modificar rutas críticas
SeAssignPrimaryTokenPrivilege Manipulación de tokens Riesgo alto combinado con otros permisos

19.6 UAC y elevación

User Account Control separa sesiones administrativas de operaciones elevadas. No es una frontera de seguridad absoluta, pero sí afecta cómo se ejecutan acciones privilegiadas.

  • Determinar si el usuario pertenece a Administrators.
  • Verificar si la sesión está elevada o limitada.
  • Revisar políticas de UAC.
  • No intentar bypasses de UAC fuera del alcance.
  • Documentar si una acción requiere consentimiento o credenciales.
UAC no debe tratarse como sustituto de mínimo privilegio. Un usuario administrador sigue representando alto riesgo.

19.7 Servicios Windows

Los servicios son una fuente frecuente de escalada local. Pueden ejecutarse como LocalSystem, NetworkService, LocalService o cuentas de dominio. Si un usuario puede modificar el binario, la ruta o la configuración de un servicio privilegiado, el impacto puede ser alto.

  • Servicios con rutas no entrecomilladas.
  • Binarios de servicio escribibles.
  • Directorios de servicio con permisos débiles.
  • Permisos para modificar configuración del servicio.
  • Credenciales de cuentas de servicio.
  • Servicios personalizados o de terceros.

19.8 Rutas de servicio no entrecomilladas

Cuando un servicio con espacios en la ruta no usa comillas, Windows puede interpretar partes de la ruta como ejecutables alternativos. El riesgo depende de si el usuario puede escribir en directorios intermedios.

Validación segura:

  • Identificar servicio, ruta y cuenta de ejecución.
  • Verificar si la ruta contiene espacios y no está entrecomillada.
  • Revisar permisos de escritura en directorios intermedios.
  • No colocar binarios de prueba sin autorización.
  • Documentar condición e impacto potencial.

19.9 Permisos NTFS

NTFS usa ACL para controlar lectura, escritura, ejecución, modificación y propiedad. Un permiso débil puede permitir alterar archivos ejecutados por usuarios privilegiados.

Permiso Riesgo Ejemplo
Write Modificar archivo o crear contenido Editar script ejecutado por servicio
Modify Editar y eliminar Reemplazar binario de aplicación
Full Control Control total sobre objeto Cambiar permisos o propietario
WriteOwner Cambiar propietario Tomar control indirecto de archivo
WriteDACL Modificar permisos Concederse acceso adicional

19.10 Registro de Windows

El registro almacena configuración del sistema y aplicaciones. Permisos débiles en claves sensibles pueden permitir modificar comportamiento privilegiado.

  • Claves de servicios.
  • Configuraciones de autoarranque.
  • Parámetros de aplicaciones con privilegios.
  • Credenciales o secretos guardados por aplicaciones.
  • Configuraciones de instalación o despliegue.

No deben modificarse claves de registro para demostrar impacto salvo autorización clara y plan de reversión.

19.11 Tareas programadas

Las tareas programadas pueden ejecutar scripts o binarios con privilegios elevados. Si un usuario puede modificar el archivo llamado por la tarea, existe una posible ruta de escalada.

  • Identificar tarea, usuario de ejecución y trigger.
  • Revisar acción ejecutada.
  • Verificar permisos sobre binario o script.
  • Revisar directorio de trabajo.
  • No modificar la tarea sin autorización.
  • Documentar condición y ruta de impacto.

19.12 Credenciales almacenadas

Windows puede almacenar credenciales en múltiples lugares: Credential Manager, archivos de configuración, scripts, historial de PowerShell, conexiones RDP, navegadores, tareas programadas o aplicaciones.

  • Credenciales guardadas por aplicaciones.
  • Scripts con usuarios y contraseñas.
  • Archivos de despliegue o backups.
  • Historiales de comandos.
  • Conexiones remotas guardadas.
  • Tokens o claves API en perfiles de usuario.
Encontrar una credencial no autoriza automáticamente su uso. Debe validarse alcance y reportarse con evidencia mínima.

19.13 LSASS y credenciales en memoria

LSASS gestiona autenticación y puede contener material sensible en memoria. Acceder a LSASS es una acción altamente sensible, suele ser detectada por defensas y requiere autorización explícita.

En un pentest estándar, normalmente conviene:

  • Revisar políticas de protección como Credential Guard.
  • Verificar si el usuario tiene privilegios peligrosos.
  • No volcar memoria sin autorización específica.
  • Documentar exposición por configuración o privilegios.
  • Coordinar con defensa si el objetivo incluye detección.

19.14 PowerShell

PowerShell es una herramienta legítima de administración. En pentesting sirve para enumeración y validación, pero también es monitoreada por defensas modernas.

  • Usar comandos necesarios y documentados.
  • Evitar scripts ofuscados fuera de ejercicios autorizados.
  • Revisar políticas de ejecución y logging.
  • Proteger salidas con datos sensibles.
  • No deshabilitar defensas o logs salvo alcance específico.

19.15 Windows Defender y EDR

Las soluciones defensivas pueden detectar herramientas, scripts y comportamientos. Esto puede ser parte de la prueba, pero debe estar acordado.

  • Confirmar si el equipo defensivo está informado.
  • Registrar alertas generadas si son parte del ejercicio.
  • No intentar evadir EDR sin autorización.
  • Pausar si una herramienta genera respuesta inesperada.
  • Coordinar limpieza de artefactos detectados.
Evasión de defensas y escalada local son actividades diferentes. No asumas que una autoriza la otra.

19.16 Vulnerabilidades locales de Windows

Las vulnerabilidades locales de Windows pueden permitir escalada, pero ejecutar exploits de kernel o componentes del sistema puede afectar estabilidad. La validación en producción debe ser conservadora.

  • Identificar versión y parches instalados.
  • Consultar advisories oficiales.
  • Verificar requisitos de explotación.
  • Considerar mitigaciones activas.
  • Probar exploits solo en laboratorio o con autorización explícita.
  • Reportar evidencia indirecta cuando sea suficiente.

19.17 Aplicaciones instaladas

Las aplicaciones de terceros pueden introducir servicios, permisos débiles, actualizadores inseguros, archivos escribibles o credenciales.

  • Programas instalados y versiones.
  • Directorios de instalación escribibles.
  • Servicios asociados a aplicaciones.
  • Actualizadores automáticos.
  • Archivos de configuración con secretos.
  • Componentes sin soporte o desactualizados.

19.18 Recursos compartidos y red

Desde una máquina Windows, la enumeración local puede revelar recursos compartidos, unidades mapeadas, impresoras, conexiones previas y rutas de red.

Elemento Riesgo Cuidado
Unidades mapeadas Acceso a recursos internos No explorar fuera de alcance
Shares locales Archivos expuestos Revisar permisos y sensibilidad
Sesiones SMB Usuarios conectados Evitar afectar sesiones reales
RDP habilitado Acceso interactivo remoto Validar autorización antes de usar

19.19 Evidencia en escalada Windows

La evidencia debe demostrar la ruta de impacto sin modificar innecesariamente el sistema.

  • Usuario, grupos y privilegios relevantes.
  • Servicio vulnerable, ruta y cuenta de ejecución.
  • Permisos NTFS o ACL que permiten modificación.
  • Clave de registro afectada y permisos.
  • Tarea programada, acción y permisos del archivo.
  • Ruta de secreto expuesto con valor enmascarado.
  • Versión y parche faltante, si aplica.

19.20 Remediación típica

Las correcciones deben reducir privilegios y eliminar rutas de abuso.

  • Aplicar mínimo privilegio a usuarios y grupos.
  • Corregir permisos NTFS en rutas de servicios y aplicaciones.
  • Entrecomillar rutas de servicios con espacios.
  • Restringir modificación de servicios y tareas programadas.
  • Eliminar credenciales en archivos y scripts.
  • Habilitar protecciones como Credential Guard cuando aplique.
  • Actualizar sistema y aplicaciones de terceros.
  • Monitorear cambios de servicios, registro y privilegios.

19.21 Errores frecuentes

  • Ejecutar herramientas ruidosas sin entender su impacto defensivo.
  • Volcar memoria de LSASS sin autorización explícita.
  • Modificar servicios para demostrar escalada cuando bastaba con permisos.
  • Reportar rutas no entrecomilladas sin verificar permisos de escritura.
  • Ignorar tareas programadas y aplicaciones de terceros.
  • Copiar credenciales completas como evidencia.
  • Intentar bypass de UAC fuera de alcance.
  • No diferenciar equipo local, servidor y controlador de dominio.

19.22 Flujo práctico de escalada local

Un flujo responsable puede ser:

  1. Confirmar alcance y rol del sistema.
  2. Identificar usuario, grupos, privilegios y dominio.
  3. Revisar versión, parches y defensas activas.
  4. Enumerar servicios, rutas y cuentas de ejecución.
  5. Analizar permisos NTFS y ACL de registro.
  6. Revisar tareas programadas y aplicaciones instaladas.
  7. Buscar credenciales con evidencia mínima.
  8. Evaluar vulnerabilidades locales con cautela.
  9. Validar rutas sin cambios destructivos.
  10. Documentar remediación y limpiar artefactos.

19.23 Qué debes recordar de este tema

  • Windows usa tokens, privilegios, grupos, ACL, servicios y registro como piezas clave de seguridad.
  • Los servicios mal configurados son una ruta común de escalada local.
  • Una ruta no entrecomillada solo es relevante si existe permiso de escritura aprovechable.
  • Las credenciales locales deben tratarse como evidencia sensible.
  • Volcar memoria o evadir defensas requiere autorización explícita.
  • La validación debe demostrar impacto con el menor cambio posible.

19.24 Conclusión

La escalada local en Windows exige comprender privilegios, servicios, permisos y credenciales. Muchas rutas críticas no dependen de exploits complejos, sino de configuraciones débiles o secretos mal protegidos.

En el próximo tema veremos post-explotación: recolección de información, persistencia controlada y limpieza, siempre dentro del alcance autorizado y con criterios de mínima intrusión.