> For the complete documentation index, see [llms.txt](https://hacking-notes.jord4n.pro/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://hacking-notes.jord4n.pro/es/windows-vulnerabilities/scheduled-tasks.md).

# Tareas programadas de Windows

Las tareas programadas son objetivos útiles para la escalada de privilegios cuando la automatización se ejecuta como una cuenta privilegiada, pero ejecuta un archivo, script o ruta de comando que un usuario con menos privilegios puede modificar.

## Enumeración

Empieza con la salida del programador de tareas integrado:

```cmd
schtasks /query /fo LIST /v
```

PowerShell facilita la inspección de las acciones de las tareas:

```powershell
Get-ScheduledTask |
  ForEach-Object {
    [PSCustomObject]@{
      TaskName = $_.TaskName
      TaskPath = $_.TaskPath
      State = $_.State
      Author = $_.Author
      Actions = ($_.Actions | ForEach-Object { $_.Execute + " " + $_.Arguments }) -join "; "
    }
  }
```

## Qué hace interesante una tarea

Busca tareas en las que:

* La tarea se ejecuta como `SYSTEM`, un administrador o una cuenta de servicio.
* La acción apunta a un script o ejecutable fuera de las rutas protegidas de Windows.
* El archivo de destino o uno de sus directorios superiores es escribible.
* Los argumentos contienen credenciales, rutas de red, tokens o claves de API.
* La tarea puede activarse manualmente, se ejecuta con frecuencia o se ejecutará al iniciar sesión del usuario.

## Comprueba la ruta de destino

Después de identificar el ejecutable o script que usa la tarea, inspecciona los permisos.

```cmd
icacls "C:\Path\To\task-script.ps1"
icacls "C:\Path\To"
```

```powershell
Get-Acl "C:\Path\To\task-script.ps1" | Format-List
```

Grupos con permisos de escritura como `Users`, `Authenticated Users`o `Everyone` son sospechosos cuando la tarea se ejecuta con privilegios elevados.

## Valida de forma segura

Usa primero un marcador inofensivo para demostrar el contexto de ejecución sin romper el flujo de trabajo programado.

```powershell
'whoami > C:\Windows\Temp\task-check.txt' | Out-File -Encoding ASCII C:\Path\To\task-script.ps1
```

Dispara la tarea si tu usuario tiene permiso:

```cmd
schtasks /run /tn "\Task\Name"
type C:\Windows\Temp\task-check.txt
```

Si no puedes activarla manualmente, anota la próxima hora de ejecución:

```cmd
schtasks /query /tn "\Task\Name" /fo LIST /v
```

## Pistas de credenciales

Las tareas pueden exponer secretos a través de argumentos de comandos o rutas de red asignadas.

```cmd
schtasks /query /fo LIST /v | findstr /i "password user runas /ru /rp \\\\"
```

```powershell
Get-ScheduledTask |
  Select-Object -ExpandProperty Actions |
  Select-String -Pattern 'password|passwd|pwd|token|secret|\\\\'
```

## Limpiar

Restaura el archivo de destino original después de las pruebas y elimina los marcadores temporales.

```cmd
del C:\Windows\Temp\task-check.txt
```

## Puntos clave

* La cuenta de la tarea y los permisos de destino son más importantes que el nombre de la tarea.
* Por lo general, validar un script escribible es más limpio que reemplazar un binario.
* Registra evidencia: nombre de la tarea, cuenta con la que se ejecuta, ruta de la acción, salida de ACL y condición de activación.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://hacking-notes.jord4n.pro/es/windows-vulnerabilities/scheduled-tasks.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
