E-SCH
schtasks
Lista las tareas programadas de Windows, sus disparadores y los comandos que ejecutan.
Sitio oficialVolver al catálogo
RESUMEN
schtasks es la CLI integrada de Windows para el Programador de tareas (learn.microsoft.com). `schtasks /query /fo LIST /v` vuelca el horario, la cuenta y la línea de comando de cada tarea — incluidas las que viven en carpetas profundas y no salen en un vistazo casual a la GUI. ACLs débiles en una tarea o un binario escribible que lanza son un hallazgo habitual de escalada.
Consultar es enumeración. `/create`, `/change` y `/run` persisten o ejecutan código como otro usuario y quedan registrados. Úsalos solo cuando la post-explotación en ese host esté en las reglas de engagement. Prefiere una consulta verbose y una copia de la salida en la carpeta de loot.
CASOS DE USO
Casos de uso en un engagement
- 01
Volcar todas las tareas programadas y el comando que corre cada una.
- 02
Encontrar tareas que corren como SYSTEM o una cuenta de servicio privilegiada.
- 03
Detectar un script o binario escribible referenciado por una tarea repetitiva.
- 04
Registrar nombres y disparadores de tareas como evidencia para el informe.
PRIMEROS PASOS
En un host Windows en alcance, para ver qué tareas programadas existen, con qué usuario corren y qué línea de comando disparan — antes de tratar alguna como pista de escalada.
- Confirma que el host Windows está en alcance para enumeración local.
- Corre una consulta verbose y guarda la salida.
- Filtra cuentas de alto privilegio y líneas de comando inesperadas.
- No crees ni lances una tarea salvo que ese host esté aprobado para post-explotación.
schtasks /query /fo LIST /vANTES DE USARLA
Qué revisar antes de lanzarla
schtasks /create y /change son eventos de clase persistencia; necesitan la misma autorización que cualquier otro implante y aparecen en el Programador de tareas y en el registro Security.
Una tarea que apunta a una ruta ausente o escribible es una pista, no una prueba — verifica el ACL en disco antes de reportarla como explotable.
Consultar un host remoto con /s usa RPC y es visible en ese host; confirma que el nombre remoto está en alcance.