# CaddyWiper > [!danger] Wiper Mais Usado na Guerra Russo-Ucraniana > O CaddyWiper foi a ferramenta destrutiva **mais frequentemente utilizada pelo Sandworm** contra organizacoes ucranianas desde marco de 2022. Identificado pelo ESET em 14 de marco de 2022 contra um banco ucraniano, foi posteriormente usado contra entidades governamentais, no ataque ao provedor de energia com o Industroyer2 (abril 2022) e novamente em outubro 2022 contra uma subestacao eletrica. A Mandiant identificou o CaddyWiper em pelo menos 5 operações distintas do Sandworm entre 2022 e 2023. ## Visão Geral [[s0693-caddywiper|CaddyWiper]] e um wiper destrutivo escrito em C, projetado para tornar dados irrecuperaveis e causar dano máximo em ambientes Windows corporativos. Sua caracteristica definitoria e a implantação via **Group Policy Objects (GPO)** - mecanismo que pressupoe que os atacantes já comprometeram o controlador de dominio Active Directory antes de executar a destruicao. A análise do Morphisec revelou que o CaddyWiper verifica se o sistema e um Domain Controller (DC) antes de executar: se for PDC, inicia a limpeza por `C:\Users` (nao destruindo o OS imediatamente); se nao for DC, apaga todos os drives e particoes com privilegios de administrador. | Campo | Detalhe | |-------|---------| | **Tipo** | Wiper destrutivo para Windows | | **Linguagem** | C | | **Vetor de implantação** | GPO (Group Policy Object) do Active Directory | | **Primeira ocorrência** | 14 de marco de 2022 (banco ucraniano) | | **MITRE ID** | S0693 | | **Operacoes documentadas** | Marco 2022, Abril 2022 (2x), Maio 2022, Outubro 2022, Janeiro 2023 | | **Ferramenta de spreading** | TANKTRAP (PowerShell) + GPO | ## Como Funciona **Evasão de detecção estática:** O CaddyWiper usa resolução dinâmica de API via PEB (Process Environment Block) para ocultar suas importacoes. Apenas `DsRoleGetPrimaryDomainInformation` aparece no IAT; todas as demais APIs sao resolvidas em runtime, eludindo scanners que válidam importacoes. **Lógica de execução:** 1. **Verificação de role de dominio:** `DsRoleGetPrimaryDomainInformation` determina se a maquina e PDC - Se PDC: inicia limpeza em `C:\Users\` (para nao travar o OS e garantir propagação maxima via GPO ainda ativa) - Se nao-DC: procede com destruicao total 2. **Limpeza de arquivos:** Função `wipepath` varre recursivamente `C:\Users\` e todos os drives de `D:\` a `Z:\`, sobrescrevendo dados com NULL 3. **Controle de arquivos protegidos:** Para arquivos bloqueados, tenta adquirir controle via `SeTakeOwnershipPrivilege`, tornando o grupo Administrators local dono do objeto 4. **Limite de tamanho:** Arquivos > 10 MB tem apenas os primeiros 10 MB sobrescritos (otimizacao de performance para garantir cobertura maxima) 5. **Wipe de particao:** Com privilegios de administrador, sobrescreve 0x780 bytes de cada `\\.\PHYSICALDRIVEx` de 9 até 0, destruindo a estrutura de particao **Implantação via TANKTRAP/GPO:** O [[g0034-sandworm|Sandworm]] utiliza o script PowerShell TANKTRAP junto com dois GPOs: - GPO 1: Copia o CaddyWiper de um servidor staged para o disco local como `msserver.exe` - GPO 2: Cria uma Scheduled Task para executar `msserver.exe` em horario predeterminado - Resultado: execução sincronizada em todos os sistemas do dominio simultaneamente **Operação com Industroyer2 (08 de abril 2022):** - 14:58 UTC: CaddyWiper implantado em maquinas Windows da distribuidora de energia - 15:02 UTC: Operador cria Scheduled Task para lancar Industroyer2 - 16:10 UTC: Industroyer2 corta energia em regiao ucraniana - 16:20 UTC: CaddyWiper executa na maquina do Industroyer2 para apagar evidências ## Attack Flow ```mermaid graph TB A["Comprometimento do dominio<br/>Active Directory controlado<br/>Credenciais de admin obtidas"] --> B["Staging do wiper<br/>CaddyWiper em servidor compartilhado<br/>Rebatizado como msserver.exe"] B --> C["TANKTRAP GPO deploy<br/>Politica de grupo criada<br/>Copia para todos os sistemas"] C --> D["Scheduled Task<br/>Execução sincronizada<br/>Horario predefinido T1053.005"] D --> E["Verificação DC<br/>DsRoleGetPrimaryDomainInformation<br/>Se PDC: inicia por Users"] E --> F["Wipe de arquivos<br/>C Users - Drives D a Z<br/>Sobrescrita NULL T1485"] F --> G["Wipe de particao<br/>PhysicalDrive 9 a 0<br/>T1561.002 - Sistema inutilizavel"] G --> H["Cobertura Industroyer2<br/>Evidencias do ataque OT<br/>apagadas pelo wiper"] classDef initial fill:#e74c3c,stroke:#c0392b,color:#fff classDef stage fill:#e67e22,stroke:#d35400,color:#fff classDef gpo fill:#8e44ad,stroke:#7d3c98,color:#fff classDef wipe fill:#2c3e50,stroke:#1a252f,color:#fff class A initial class B,C stage class D,E gpo class F,G,H wipe ``` ## Timeline de Uso ```mermaid timeline title CaddyWiper - Operacoes Sandworm 2022-2023 2022-03-14 : Primeiro uso - banco ucraniano : Implantado via GPO : ESET identifica e nomeia o wiper 2022-04-01 : Segundo uso - entidade governamental : Loader ArguePatch (IDA Pro trojanizado) 2022-04-08 : Terceiro uso - distribuidora de energia : Coordenado com Industroyer2 : Corte de energia + destruicao de evidencias 2022-05-16 : Quarto uso - outro alvo ucraniano : ArguePatch usando binario ESET trojanizado 2022-10 : Quinto uso - subestacao eletrica : Nova variante x64 compilada outubro 2022 : Após ataque OT a substacao com SCADA 2023-01 : Sexto uso - agencia de noticias ucraniana : Combinado com ZeroWipe, SDelete, AwfulShred ``` ## TTPs Mapeados | Tática | Técnica | Uso Específico | |--------|---------|---------------| | Acesso Inicial | Comprometimento de AD | Pre-requisito para deploy via GPO | | Persistência | [[t1053-005-scheduled-task\|T1053.005]] | Scheduled Task criada pelo TANKTRAP para execução sincronizada | | Evasão | [[t1106-native-api\|T1106]] | Resolução dinâmica de API via PEB para ocultar importacoes | | Evasão | [[t1057-process-discovery\|T1057]] | Verificação de role DC antes de execução destrutiva | | Escalonamento | [[t1222-001-windows-file-and-directory-permissions-modification\|T1222.001]] | SeTakeOwnershipPrivilege para acessar arquivos protegidos | | Impacto | [[t1485-data-destruction\|T1485]] | Sobrescrita de arquivos com NULL em Users e todos os drives | | Impacto | [[t1561-002-disk-structure-wipe\|T1561.002]] | Wipe de 0x780 bytes em cada PhysicalDrive | | Lateral movement | [[t1484-001-domain-policy-modification-group-policy\|T1484.001]] | TANKTRAP + dois GPOs para propagação em massa | | Descoberta | [[t1082-system-information-discovery\|T1082]] | Verificação de informações do dominio | ## Relevância LATAM/Brasil A métodologia do CaddyWiper - comprometimento de AD seguido de GPO para propagação em massa de wiper - e replicavel em qualquer ambiente corporativo Windows com Active Directory mal segmentado. No Brasil: - Empresas do setor de energia eletrica (distribuidoras, transmissoras) operam em ambientes Windows com AD extenso - O modelo de ataque CaddyWiper + Industroyer2 (combo destruicao IT + sabotagem OT) e uma ameaça relevante para o setor eletrico brasileiro - O [[ctir-gov|CTIR Gov]] manteve em alerta sobre wipers russas desde a invasao de 2022 - Organizacoes com AD Windows devem auditar suas politicas de GPO e monitorar criação de GPOs anormais > [!tip] Detecção - Event IDs Prioritarios > - **Windows Event ID 4698/4702:** Criação/modificacao de Scheduled Tasks - especialmente por contas de servico ou fora de jánelas de manutenção > - **ID 5136/5141:** Modificacao/exclusao de objetos Active Directory - detecta criação de GPOs por TANKTRAP > - **Sysmon ID 1:** Processo chamando `DsRoleGetPrimaryDomainInformation` fora de contexto administrativo normal > - **EDR:** Chamadas `DeviceIoControl` para `\\.\PhysicalDriveX` sao IOC critico de Disk Structure Wipe ## Detecção e Defesa **YARA:** ``` rule CaddyWiper { strings: $s1 = "DsRoleGetPrimaryDomainInformation" ascii fullword condition: $s1 } ``` **Mitigacoes:** - Monitorar e alertar sobre criação de GPOs por contas nao-autorizadas - Implementar Privileged Access Workstations (PAW) para administracao de AD - Backup offline e testado regularmente - CaddyWiper e irrecuperavel sem backup - Segmentar redes OT de redes IT com Active Directory ## Referências - [1](https://www.welivesecurity.com/2022/04/12/industroyer2-industroyer-reloaded/) ESET - Industroyer2: Industroyer Reloaded (2022) - [2](https://cloud.google.com/blog/topics/threat-intelligence/sandworm-disrupts-power-ukraine-operational-technology) Mandiant/Google - Sandworm Disrupts Power in Ukraine (2022) - [3](https://www.morphisec.com/blog/caddywiper-analysis-new-malware-attacking-ukraine/) Morphisec - CaddyWiper Technical Analysis (2022) - [4](https://attack.mitre.org/software/S0693/) MITRE ATT&CK - S0693 CaddyWiper - [5](https://www.welivesecurity.com/2023/02/24/year-wiper-attacks-ukraine/) ESET - A Year of Wiper Attacks in Ukraine (2023) - [6](https://www.ibm.com/think/x-force/caddywiper-malware-targeting-ukrainian-organizations) IBM X-Force - CaddyWiper: Third Wiper Targeting Ukrainian Organizations (2022)