Windows Privilege Escalation - Técnicas y Herramientas
Escalar privilegios en el sistema Windows aprovechando una tarea programada que ejecuta un script PowerShell (backupprep.ps1) con permisos de Administrador, al cual tenemos acceso de lectura y escritura.
⚙️ Contexto
Durante la fase de vulnerability assessment, confirmamos:
-
📂 El directorio
C:\ProgramData\CorpBackup\Scripts\es escribible por el usuariojohn. -
💻 El script
backupprep.ps1es ejecutado automáticamente por una tarea programada como Administrator.
Esto nos permite inyectar código malicioso en un proceso legítimo de automatización del sistema.
🧩 Opciones de Escalada de Privilegios
-
🧠 Code Injection – Modificar el script para añadir un usuario al grupo de administradores o ejecutar una reverse shell.
-
🔐 Credential Harvesting – Usar el script para recolectar credenciales o registrar teclas.
-
♻️ Persistence – Añadir código que cree una nueva tarea programada que mantenga acceso.
-
🔑 Password Reset – Cambiar la contraseña del administrador y abrir sesión RDP.
Cada enfoque depende de los permisos disponibles y los mecanismos de ejecución del script.
👤 Verificando el Usuario Actual
Antes de realizar cambios, confirmamos los grupos locales del usuario john:
net user john
📄 Resultado:

El usuario john aún no pertenece al grupo Administrators, por lo que cualquier acción que requiera privilegios elevados está restringida.
⏰ Analizando la Tarea Programada
Desde una sesión RDP, abrimos el Task Scheduler con:
[WIN + R] → taskschd.msc

📅 Tarea relevante:
-
Nombre: CorpBackupAgent
-
Acción: Ejecuta
C:\ProgramData\CorpBackup\Scripts\backupprep.ps1 -
Frecuencia: Cada 2 minutos
-
Ejecuta como: Administrator
Esto significa que cada 2 minutos, Windows ejecuta el script con privilegios administrativos.
Si el script está comprometido, cualquier código agregado se ejecutará como Administrator 🧨.
💥 Inyección de Código
Abrimos el script vulnerable con Notepad:
notepad .\backupprep.p
Agregamos la siguiente línea al final del archivo:

Add-LocalGroupMember -Group "Administrators" -Member "WIN01\john"
Esta línea añade el usuario john al grupo Administrators cada vez que el script se ejecuta.
Además, actúa como persistencia, ya que si el usuario es removido, el script lo volverá a añadir en el siguiente ciclo de ejecución.
🕐 Ejecución Automática
Esperamos 2 minutos para permitir que la tarea programada se ejecute.
Luego verificamos nuevamente los grupos del usuario:
PS C:\Users\john> net user john
📋 Nuevo resultado:

El usuario john ahora pertenece al grupo Administrators.
Esto confirma que el script fue ejecutado por la tarea programada y que el código inyectado se corrió con privilegios elevados.
🔓 Verificación de Acceso
Podemos validar el privilegio accediendo a directorios restringidos, como:
PS C:\> cd C:\Users\Administrator
Si el acceso es exitoso, confirmamos que el usuario john posee permisos administrativos efectivos.
🧠 Resumen de la Escalada
| Paso | Descripción |
|---|---|
| 🔍 1 | Identificamos que el script backupprep.ps1 se ejecuta con privilegios de Administrator |
| 🧾 2 | Confirmamos permisos de lectura/escritura sobre el script |
| 🧩 3 | Inyectamos una línea que añade el usuario john al grupo Administrators |
| ⏱️ 4 | Esperamos la ejecución automática de la tarea programada |
| 🧑💻 5 | Verificamos que john ahora pertenece al grupo Administrators |
| 🔐 6 | Confirmamos acceso administrativo al sistema |
⚙️ Alternativa: Ejecución vía Meterpreter
Si contamos con una sesión Meterpreter, podemos realizar los mismos pasos sin RDP:
meterpreter > upload backupprep.ps1 meterpreter > shell C:\> powershell Add-LocalGroupMember -Group "Administrators" -Member "WIN01\john"
Esto logra el mismo resultado, automatizando la escalada directamente desde la shell de post-explotación.
🧾 Conclusión
-
Se explotó una tarea programada insegura que ejecutaba código con privilegios administrativos.
-
El script
backupprep.ps1era modificable por usuarios estándar. -
Se inyectó una instrucción PowerShell que otorgó privilegios de Administrador al usuario
john. -
Se confirmó el éxito mediante verificación de grupo y acceso a rutas protegidas.
🚀 Resultado: Privilegios elevados y control total del sistema Windows.