# T1053.002 - At (Agendamento de Tarefas via `at`) ## Técnica Pai Esta é uma sub-técnica de [[Job]]. ## Descrição O utilitário `at` é uma ferramenta nativa presente em sistemas Windows, Linux e macOS que permite agendar a execução de comandos em um horário específico. Embora sejá amplamente conhecido como recurso legítimo de administração de sistemas, adversários exploram esse mecanismo para garantir a execução persistente ou pontual de código malicioso sem precisar de um processo interativo ativo. No Windows, o `at` opera como uma interface de linha de comando para o Serviço de Agendador de Tarefas e exige que o usuário sejá membro do grupo local de Administradores. Apesar de técnicamente substituído pelo comando `schtasks` em versões mais recentes do Windows, o `at` ainda funciona em ambientes onde o serviço de agendamento está ativo. Além da execução direta, adversários podem acionar tarefas agendadas via `at` aproveitando a classe WMI `Win32_ScheduledJob`, o que torna a detecção mais difícil por mascarar a origem da chamada. Em sistemas Linux e macOS, o comportamento é controlado pelos arquivos `at.allow` e `at.deny`. Se nenhum dos dois existir - condição comum em instalações padrão - apenas o superusuário pode usar o utilitário. Quando o `at.allow` está presente, somente usuários listados têm acesso; quando o `at.deny` está vazio, qualquer usuário pode agendar tarefas. Essa lógica de controle de acesso, quando mal configurada, abre espaço para escalonamento de privilégios. A técnica é normalmente usada em conjunto com outras táticas do framework MITRE ATT&CK: para [[ta0003-persistence|Persistência]], agendando execuções recorrentes após o reinício do sistema; para [[ta0008-lateral-movement|Movimentação Lateral]], disparando comandos remotos em hosts comprometidos; e para [[ta0004-privilege-escalation|Escalonamento de Privilégios]], especialmente em Linux quando o binário `at` possui permissão de execução como superusuário via `sudo`. **Contexto Brasil/LATAM:** Organizações brasileiras dos setores financeiro e de governo - alvos históricos de grupos como [[g0026-apt18|APT18]] e [[g0027-threat-group-3390|Threat Group-3390]] - frequentemente deixam o serviço de Agendador de Tarefas ativo em estações de trabalho sem monitoramento adequado. A combinação de ambientes Windows com controles de auditoria insuficientes torna o abuso do `at` via [[t1047-windows-management-instrumentation|WMI]] especialmente silencioso e difícil de identificar sem coleta de logs específicos de agendamento. ## Attack Flow ```mermaid graph TB A[Acesso Inicial / Credencial] --> B[Execução via at] B --> C[Persistência Agendada] C --> D[Movimentação Lateral] D --> E[Execução de Payload] ``` ## Como Funciona **1. Preparação** O adversário obtém acesso a uma conta com privilégios de administrador local (Windows) ou root/at.allow (Linux/macOS). Ele prepara o payload - um script, executável ou comando que desejá executar posteriormente. **2. Execução** O atacante agenda a tarefa usando o utilitário `at` diretamente ou, no Windows, via chamada WMI à classe `Win32_ScheduledJob` para dificultar a atribuição. A tarefa é configurada para rodar imediatamente, em horário específico, ou de forma recorrente. **3. Pós-execução** A tarefa é executada automaticamente pelo sistema operacional no horário definido, sem necessidade de interação ativa do atacante. Ferramentas como [[s0488-crackmapexec|CrackMapExec]] e malwares como [[s0233-murkytop|MURKYTOP]] utilizam esse mecanismo para persistência e execução remota. **Exemplo - artefato de detecção:** ```bash # Windows: tarefa agendada criada via linha de comando at 23:00 /every:M,T,W,Th,F C:\Windows\Temp\payload.bat # Windows Event Log: ID 4698 (tarefa criada), ID 4702 (tarefa modificada) # Processo: svchost.exe > taskeng.exe ou taskhostw.exe # Caminho suspeito: %TEMP%, %APPDATA%, pastas de usuário não-admin ``` ## Detecção **Fontes de dados:** Windows Event IDs 4698, 4699, 4702 (Task Scheduler); Sysmon Event ID 1 (Process Creaté); logs de auditoria Linux (`/var/log/syslog`, `/var/spool/at/`); monitoramento de chamadas WMI. ```yaml title: Abuso do Utilitário at para Agendamento Malicioso id: a3f2c1d0-7e84-4b29-9f11-cc2d3a5e8b70 status: experimental description: Detecta uso do utilitário at para agendamento de tarefas fora de contexto administrativo padrão logsource: category: process_creation product: windows detection: selection: Image|endswith: '\at.exe' CommandLine|contains: - 'cmd' - 'powershell' - 'wscript' - 'cscript' - '\Temp\' - '\AppData\' condition: selection falsepositives: - Uso legítimo por administradores de sistemas em jánelas de manutenção - Scripts de automação corporativa que utilizam at para scheduling level: medium tags: - attack.execution - attack.persistence - attack.t1053.002 ``` ## Mitigação | Mitigação | Recomendação Prática | |-----------|---------------------| | [[m1028-operating-system-configuration\|M1028 - Configuração do SO]] | Desabilitar o serviço `Task Scheduler` em estações que não necessitem de agendamento; restringir uso do `at` via GPO em ambientes Windows | | [[m1047-audit\|M1047 - Auditoria]] | Habilitar auditoria de criação e modificação de tarefas agendadas (Event IDs 4698, 4699, 4702); revisar periodicamente tarefas agendadas em todos os hosts | | [[m1018-user-account-management\|M1018 - Gerenciamento de Contas]] | Restringir o grupo local de Administradores; remover usuários desnecessários com permissão de agendar tarefas | | [[m1026-privileged-account-management\|M1026 - Gerenciamento de Contas Privilegiadas]] | Aplicar princípio do menor privilégio; monitorar uso de `sudo at` em Linux e escalonamento via WMI no Windows | ## Threat Actors que Usam - [[g0027-threat-group-3390|Threat Group-3390]] - [[g0026-apt18|APT18]] - [[g0060-bronze-butler|BRONZE BUTLER]] ## Software Associado - [[s0488-crackmapexec|CrackMapExec]] - ferramenta de pós-exploração que automatiza agendamento via `at` - [[s0233-murkytop|MURKYTOP]] - malware associado ao Threat Group-3390 que usa agendamento para persistência --- *Fonte: [MITRE ATT&CK - T1053.002](https://attack.mitre.org/techniques/T1053/002)*