# T1197 - BITS Jobs ## Descrição **T1197** descreve o abuso do **Background Intelligent Transfer Service (BITS)** do Windows como vetor para download furtivo de ferramentas, execução de payloads e até limpeza de rastros após um ataque. O BITS é um serviço legítimo do Windows projetado para transferências de arquivos em segundo plano com baixo consumo de banda - é o mesmo serviço utilizado pelo Windows Updaté e por muitos softwares corporativos para baixar atualizações sem interromper o usuário. Por operar como um serviço de sistema confiável e geralmente autorizado por firewalls corporativos, o BITS oferece aos adversários um canal de comunicação e execução que passa desapercebido por muitas soluções de segurança. Ao contrário de criar um novo arquivo executável no disco ou de iniciar um processo filho suspeito, as operações BITS ficam registradas em um banco de dados interno próprio (`%ALLUSERSPROFILE%\Microsoft\Network\Downloader\`) e não criam entradas visíveis no registro ou novos arquivos em locais óbvios. A técnica é classificada tanto em **Defense Evasion** quanto em **Persistence**, pois jobs BITS podem ser configurados para persistir através de reinicializações do sistema e para executar comandos arbitrários quando completam, falham ou expiram - mesmo após reboots do sistema. ## Como Funciona O BITS expõe uma interface COM (Component Object Model) que pode ser acessada via PowerShell com o módulo `BitsTransfer`, via linha de comando com a ferramenta `BITSAdmin.exe` (incluída no Windows), ou diretamente via API Win32. Um job BITS é essencialmente uma fila de operações de transferência de arquivo, com parâmetros que controlam comportamento, prioridade e notificações de conclusão. **Abuso para download furtivo:** Adversários criam um job BITS para baixar ferramentas de segundo estágio ou payloads de servidores de comando e controle. O tráfego gerado é legítimo do ponto de vista do firewall (usa HTTP/HTTPS padrão via `svchost.exe`), o job é executado de forma assíncrona e silenciosa, e não cria processos visíveis. O arquivo baixado pode ser salvo em qualquer caminho no disco, inclusive em diretórios temporários ou em caminhos excluídos de varredura pelo antivírus. **Abuso para execução:** Jobs BITS suportam a execução de um programa arbitrário via notificação de conclusão (`SetNotifyCmdLine`). Isso significa que, ao finalizar o download de um arquivo, o BITS pode automaticamente executar um comando específicado pelo adversário - sem que o processo pai da execução sejá o malware original, mas sim o serviço `svchost.exe`. **Abuso para persistência:** O tempo de vida padrão de um job BITS não completado é de 90 dias, extensível via configuração de política. Jobs podem ser suspensos e retomados após reinicializações do sistema. Isso permite que um adversário crie um job que "completa" apenas quando recebe um arquivo específico do C2, mantendo uma tarefa de execução agendada que sobrevive a reboots sem criar entradas no registro ou no Agendador de Tarefas. **Abuso para limpeza de rastros ([[t1070-indicator-removal|T1070]]):** O `BITSAdmin` pode ser usado para cancelar e deletar jobs existentes, e o próprio job pode ser configurado para deletar arquivos do disco após o upload (usado para exfiltração e limpeza simultâneas). **Exfiltração alternativa ([[t1048-exfiltration-alternative-protocol|T1048]]):** A funcionalidade de upload do BITS permite que adversários enviem dados coletados para servidores externos via HTTP/HTTPS usando um canal aparentemente legítimo, sem usar o processo malicioso diretamente como origem do tráfego. ## Attack Flow ```mermaid graph TB A[Acesso inicial estabelecido] --> B[Adversário invoca BITS] B --> C[Via BITSAdmin.exe<br/>ou PowerShell BitsTransfer] C --> D[Job BITS criado<br/>em background] D --> E{Finalidade do job} E --> F[Download de payload<br/>de servidor C2] E --> G[Execução via<br/>SetNotifyCmdLine] E --> H[Upload para exfiltração<br/>via HTTP/HTTPS] E --> I[Persistência - job<br/>sobrevive a reboots] F --> J[Arquivo salvo em<br/>path excluído do AV] G --> K[svchost.exe executa<br/>comando arbitrário] H --> L[Dados exfiltrados via<br/>canal de aparência legítima] I --> M[Job reativado após<br/>reinicialização do sistema] J --> N[Segundo estágio executado] K --> N M --> N N --> O[Movimento lateral<br/>e impacto] D --> P[Job auto-deleta após<br/>conclusão - limpeza de rastros] ``` ## Exemplos de Uso **[[g0096-apt41|APT41]]:** O grupo chinês, com nexo tanto de espionagem estatal quanto de crime financeiro, utiliza BITS Jobs para baixar ferramentas de segundo estágio em redes comprometidas de organizações de saúde e tecnologia. Amostras atribuídas ao APT41 usam BITSAdmin para criar jobs com nomes que imitam processos legítimos de atualização de software. **[[g0102-conti-group|Wizard Spider]]:** Grupo responsável pelo ransomware [[s0534-bazar|Bazar]] e pelo TrickBot, documentado usando BITS para download do Cobalt Strike Beacon após o comprometimento inicial. A técnica permitia que o download do stager C2 passasse por políticas de proxy corporativo sem alertar ferramentas de DLP, já que o tráfego se originava do serviço BITS legítimo. **[[g0065-leviathan|Leviathan]] (APT40):** Grupo de espionagem marítima e naval com nexo chinês que abusa do BITS para exfiltração de documentos sensíveis via jobs de upload HTTPS, tornando a exfiltração indistinguível de tráfego de atualização de software para ferramentas de monitoramento de rede que não inspecionam profundamente o contexto do processo de origem. **[[g0087-apt39|APT39]]:** Grupo iraniano focado em telecomúnicações e viagens utiliza BITSAdmin para persistência - criando jobs de longa duração que reexecutam payloads de acesso remoto após cada reinicialização, sem necessidade de criar chaves de Run no registro ou entradas no Agendador de Tarefas visíveis. **[[g0040-patchwork|Patchwork]]:** APT com nexo indiano que utiliza BITS para download de implantes RAT em campanhas de spear-phishing. O uso do BITS permitia que o payload fosse baixado horas após a abertura do documento malicioso inicial, dificultando a correlação do incidente pelo time de resposta. **[[s0154-cobalt-strike|Cobalt Strike]]:** Framework de C2 amplamente abusado por grupos criminosos e APTs tem suporte nativo para BITS Jobs como mecanismo de download de payloads e de persistência. O módulo `execute-assembly` pode invocar transferências BITS diretamente de memória, sem escrita de binário no disco. ## Detecção ```yaml title: Uso Suspeito do BITSAdmin para Download de Arquivos status: experimental logsource: category: process_creation product: windows detection: selection: Image|endswith: '\bitsadmin.exe' CommandLine|contains: - '/transfer' - '/creaté' - '/addfile' - '/SetNotifyCmdLine' - '/resume' filter_windows_updaté: ParentImage|endswith: - '\svchost.exe' - '\wuauclt.exe' condition: selection and not filter_windows_updaté level: medium tags: - attack.defense_evasion - attack.persistence - attack.t1197 ``` ```yaml title: PowerShell Criando Job BITS com URL Externa status: experimental logsource: category: process_creation product: windows detection: selection: Image|endswith: '\powershell.exe' CommandLine|contains: - 'Start-BitsTransfer' - 'Add-BitsFile' - 'New-BitsTransfer' filter_internal: CommandLine|contains: - 'windowsupdaté.com' - 'microsoft.com' - 'office.com' condition: selection and not filter_internal level: high tags: - attack.defense_evasion - attack.t1197 ``` ```yaml title: Job BITS com Notificação de Execução Configurada status: experimental logsource: category: process_creation product: windows detection: selection: Image|endswith: '\bitsadmin.exe' CommandLine|contains: '/SetNotifyCmdLine' condition: selection level: high tags: - attack.defense_evasion - attack.persistence - attack.t1197 ``` **Estrategias adicionais:** - Monitorar o banco de dados BITS em `%ALLUSERSPROFILE%\Microsoft\Network\Downloader\` para jobs criados por processos não relacionados a atualização de software - Habilitar log detalhado de BITS via `wevtutil` no canal `Microsoft-Windows-Bits-Client/Operational` - Correlacionar downloads BITS com indicadores de comprometimento em feeds de threat intelligence - Monitorar execuções de `svchost.exe` com linha de comando incomum oriundas de notificações de jobs BITS - Implementar análise de tráfego de rede para downloads HTTP/HTTPS iniciados pelo processo `svchost.exe` (host do serviço BITS) ## Mitigação | ID | Mitigação | Descrição | |----|-----------|-----------| | M1018 | [[m1018-user-account-management\|M1018 - User Account Management]] | Restringir permissões para criação de jobs BITS a contas de administrador - usuários padrão não devem precisar criar jobs BITS manuais | | M1037 | [[m1037-filter-network-traffic\|M1037 - Filter Network Traffic]] | Implementar proxy com inspeção de conteúdo que inspecione tráfego HTTP/HTTPS originado pelo serviço BITS e bloqueie downloads de domínios não autorizados | | M1028 | [[m1028-operating-system-configuration\|M1028 - Operating System Configuration]] | Usar Group Policy para limitar o tempo de vida máximo de jobs BITS (`HKLM\Software\Policies\Microsoft\Windows\BITS`) e restringir destinos de download permitidos | | - | Monitoramento BITS | Habilitar o canal de log `Microsoft-Windows-Bits-Client/Operational` e integrar alertas ao SIEM para criação de jobs por processos não esperados | | - | Allowlist de domínios | Manter lista de domínios autorizados para downloads BITS (Windows Updaté, patching corporativo) e alertar para qualquer destino fora dessa lista | ## Contexto Brasil/LATAM O abuso de BITS Jobs é particularmente relevante no contexto brasileiro por dois fatores: a prevalência de ambientes corporativos com políticas de firewall que confiam implicitamente em tráfego do Windows Updaté (passando por BITS), e a alta incidência de grupos de ransomware que operam no Brasil utilizando o [[s0154-cobalt-strike|Cobalt Strike]] como plataforma de C2 - e o Cobalt Strike tem suporte nativo para BITS Jobs como canal de entrega e persistência. Grupos de ransomware como [[g0102-conti-group|Wizard Spider]] (responsável pelo Ryuk e Conti) e seus afiliados têm histórico documentado de ataques a organizações no Brasil, especialmente no setor de saúde e serviços financeiros. Nesses ataques, o uso de BITS Jobs como vetor de persistência e download foi identificado em múltiplos relatórios de resposta a incidentes - o serviço BITS raramente é monitorado por equipes de SOC, que tendem a focar em artefatos mais convencionais como chaves de Run no registro e tarefas agendadas. Para equipes de defesa brasileiras, a mitigação mais eficaz é habilitar logging do BITS (desativado por padrão na maioria das instalações corporativas) e integrar os eventos ao SIEM, além de implementar inspeção de proxy que análise o contexto do processo de origem do tráfego HTTP/HTTPS - não apenas a URL de destino. ## Referências - [[g0096-apt41|APT41]] - [[g0102-conti-group|Wizard Spider]] - [[g0065-leviathan|Leviathan]] - [[g0087-apt39|APT39]] - [[g0040-patchwork|Patchwork]] - [[s0154-cobalt-strike|Cobalt Strike]] - [[s0534-bazar|Bazar]] - [[t1105-ingress-tool-transfer|T1105 - Ingress Tool Transfer]] - [[t1070-indicator-removal|T1070 - Indicator Removal]] - [[t1048-exfiltration-alternative-protocol|T1048 - Exfiltration Over Alternative Protocol]] - [[t1059-001-powershell|T1059.001 - PowerShell]] - [[t1559-001-component-object-model|T1559.001 - Component Object Model]] - [[m1018-user-account-management|M1018 - User Account Management]] - [[m1037-filter-network-traffic|M1037 - Filter Network Traffic]] *Fonte: MITRE ATT&CK - T1197*