Windows Vulnerability Assessment - Identificación de Configuraciones Inseguras
Identificar configuraciones inseguras en el sistema Windows que puedan permitir escalada de privilegios, específicamente enfocándonos en:
-
📂 Directorio con permisos de escritura:
C:\ProgramData -
⏰ Tarea programada: ejecuta
backupprep.ps1como Administrator
⚙️ Introducción
Windows Scheduled Tasks permite automatizar tareas ejecutando programas o scripts según un trigger (evento) y una acción (tarea).
Administradores lo usan para mantenimiento o respaldos, pero si se configuran incorrectamente, pueden ser armas para atacantes ⚔️.
Cada tarea tiene dos partes:
| Parte | Descripción |
|---|---|
| Trigger | Cuándo se ejecuta (ej. diario, al iniciar sesión, al arrancar el sistema) |
| Action | Qué ejecuta (ej. un script PowerShell o un binario) |
Los administradores pueden definir:
-
Nivel de importancia
-
Tiempo máximo de ejecución
-
Reintentos al fallar
-
Usuario bajo el cual se ejecuta (❗ crítico)
Si una tarea ejecuta un script como Administrator, y ese script se encuentra en un directorio escribible por usuarios estándar, tenemos un vector de escalada de privilegios directo.
🔍 Enumeración del Directorio Vulnerable
Verificamos los contenidos del directorio C:\ProgramData, al cual el usuario john tiene permisos de escritura:
ls
📋 Resultado:

El directorio CorpBackup destaca porque coincide con el nombre del script de respaldo (backupprep.ps1) mencionado en la tarea programada.
📁 Explorando CorpBackup
ls .\CorpBackup\`
📦 Contenido:

Dentro del subdirectorio Scripts:
ls .\CorpBackup\Scripts\
📜 Resultado:

Y en Logs:
ls .\CorpBackup\Logs\
📘 Resultado:

🧾 Verificación de Permisos con icacls
Para confirmar los permisos del archivo backupprep.ps1, usamos icacls:
icacls "C:\ProgramData\CorpBackup\Scripts\backupprep.ps1
📄 Resultado:

🚨 Análisis del Resultado
El permiso Everyone:(I)(F) significa Full Control para todos los usuarios.
🔓 Cualquier usuario autenticado puede leer, modificar o eliminar este script.
📚 Resumen de Permisos:
| Permiso | Significado |
|---|---|
R |
Read – Leer contenido y atributos |
W |
Write – Modificar o crear archivos |
D |
Delete – Eliminar archivos o carpetas |
F |
Full Control – Todos los permisos (R, W, D, y más) |
M |
Modify – Leer, escribir y borrar (sin cambiar permisos) |
⚔️ Implicación de Seguridad
-
El script
backupprep.ps1se ejecuta como Administrator a través de una tarea programada. -
El usuario
johnpuede editar el contenido del script. -
Al insertar un payload PowerShell malicioso (por ejemplo,
Add-LocalGroupMember -Group "Administrators" -Member "john"), el script otorgaría privilegios administrativos al usuario estándar.
Resultado: Ejecución de código con privilegios de SYSTEM o Administrator 🧨
🧩 Conclusión
-
Se confirma que
C:\ProgramDatatiene permisos de escritura para usuarios comunes. -
El script
backupprep.ps1es ejecutado por el administrador en una tarea programada. -
El archivo es modificable por cualquiera, permitiendo la inyección de comandos maliciosos.
🔥 Este hallazgo representa un riesgo de escalada de privilegios crítica (CVE-0 local).