# SUNSPOT > [!info] Identidade do Malware > **Tipo:** implante de build server · **MITRE:** [S0562](https://attack.mitre.org/software/S0562) · **Grupo:** [[g0016-apt29|APT29]] (Cozy Bear / SVR) > **Plataformas:** Windows · **Período ativo:** fevereiro 2020 - dezembro 2020 > **Campanha:** [[solarwinds-supply-chain|SolarWinds Supply Chain Attack]] - um dos maiores ataques de supply chain da historia ## Visão Geral [[s0562-sunspot|SUNSPOT]] e o componente mais insidioso do ataque SolarWinds de 2020 operado pelo [[g0016-apt29|APT29]] - um implante que nao ataca vitimas diretamente, mas compromete o PROCESSO DE BUILD do software SolarWinds Orion para injetar o backdoor [[s0559-sunburst|SUNBURST]] no código-fonte durante a compilacao. Esta técnica de supply chain ([[t1195-002-compromise-software-supply-chain|T1195.002]]) garantiu que updates legitimos e assinados digitalmente do Orion distribuissem automaticamente o [[s0559-sunburst|SUNBURST]] para ~18.000 organizacoes clientes. O SUNSPOT ficou ativo no ambiente de build da SolarWinds por pelo menos 10 meses (outubro 2019 a dezembro 2020) sem detecção - uma demonstracao de paciencia operacional excepcional caracteristica do [[g0016-apt29|APT29]]. Quando o processo `MsBuild.exe` era detectado compilando o Orion, o SUNSPOT substituia temporiamente um arquivo de código-fonte por uma versao com o [[s0559-sunburst|SUNBURST]] embutido - depois restaurava o original, sem rastros na base de código. ## Como Funciona O SUNSPOT monitorava continuamente o servidor de build da SolarWinds aguardando o processo de compilacao do Orion: 1. **Monitoramento de processos** - usa CreateToolhelp32Snapshot/Process32First para monitorar continuamente todos os processos em execução ([[t1057-process-discovery|T1057]]), aguardando `MsBuild.exe` com argumentos específicos do Orion 2. **Substituicao de código-fonte** - quando o processo correto e detectado, substitui o arquivo `InventoryManager.cs` por uma versao maliciosa contendo o código do [[s0559-sunburst|SUNBURST]] ([[t1565-001-stored-data-manipulation|T1565.001]]) 3. **Aguarda conclusao do build** - monitora o build usando mutex ([[t1480-002-mutual-exclusion|T1480.002]]) para saber quando a compilacao terminou 4. **Restauracao e limpeza** - restaura o arquivo original e remove evidências ([[t1070-004-file-deletion|T1070.004]]), deixando a base de código aparentemente intacta 5. **Guardrails de execução** - verifica condicoes específicas antes de agir ([[t1480-execution-guardrails|T1480]]) para evitar ativacao em ambientes de análise ou fora do contexto correto 6. **Ofuscacao** - o código do SUNSPOT e obfuscado ([[t1027-obfuscated-files-or-information|T1027]]) e nomeado para parecer um componente legitimo do sistema ([[t1036-005-match-legitimate-resource-name-or-location|T1036.005]]) Esta técnica e fundamentalmente diferente de outros ataques de supply chain: o SUNSPOT nao compromete repositorios de código, mas o PROCESSO de build em tempo real - tornando-o invisivel para code review, git diff e comparacoes de hash de código-fonte. ## Attack Flow ```mermaid graph TB A["Comprometimento do ambiente SolarWinds<br/>Acesso ao servidor de build Orion<br/>APT29 - acesso inicial pre-2020"] --> B["SUNSPOT implantado<br/>no servidor de build<br/>Monitoramento continuo T1057"] B --> C["MsBuild.exe detectado<br/>Compilando SolarWinds.Orion.Core.BusinessLayer<br/>Condicao ativada"] C --> D["Substituicao InventoryManager.cs<br/>Versao maliciosa com SUNBURST<br/>T1565.001 stored data manipulation"] D --> E["Build completado normalmente<br/>Binario assinado digitalmente SolarWinds<br/>SUNBURST embutido com legitim"] E --> F["Arquivo original restaurado<br/>Remoção de evidencias T1070.004<br/>Base de código aparentemente intacta"] F --> G["Updaté Orion distribuido<br/>18.000 organizacoes infectadas<br/>T1195.002 supply chain"] classDef access fill:#e74c3c,color:#fff classDef implant fill:#e67e22,color:#fff classDef trigger fill:#f39c12,color:#fff classDef inject fill:#27ae60,color:#fff classDef build fill:#3498db,color:#fff classDef cleanup fill:#9b59b6,color:#fff classDef distribute fill:#2c3e50,color:#fff class A access class B implant class C trigger class D inject class E build class F cleanup class G distribute ``` **Legenda:** [[g0016-apt29|APT29]] - [[t1195-002-compromise-software-supply-chain|T1195.002]] - [[s0559-sunburst|SUNBURST]] - [[solarwinds-supply-chain|SolarWinds Supply Chain]] ## Timeline do Ataque SolarWinds ```mermaid timeline title SUNSPOT e SolarWinds Supply Chain - 2019-2021 Out 2019 : APT29 compromete rede SolarWinds : Testes iniciais de SUNSPOT Fev 2020 : SUNSPOT plenamente operacional : Injeta SUNBURST no Orion 2019.4 Mar 2020 : Primeiro update Orion malicioso : SolarWinds Orion 2019.4.5200.9083 Jun 2020 : Updates maliciosos continuados : Versao 2020.2.1 infectada Dez 2020 : FireEye detecta SUNBURST : Investigação SolarWinds iniciada : CrowdStrike identifica SUNSPOT Ján 2021 : Microsoft, CISA, NSA emitem avisos : 100+ organizacoes confirmadas comprometidas Mar 2021 : Relatorio completo Mandiant/FireEye : 9 agencias US federais afetadas ``` ## Técnicas Utilizadas (MITRE ATT&CK) | Técnica | ID | Descrição | |---------|-----|-----------| | Supply Chain Compromise | [[t1195-002-compromise-software-supply-chain\|T1195.002]] | Injecao de backdoor no processo de build | | Stored Data Manipulation | [[t1565-001-stored-data-manipulation\|T1565.001]] | Substituicao de arquivo de código-fonte | | Process Discovery | [[t1057-process-discovery\|T1057]] | Monitoramento de MsBuild.exe | | Execution Guardrails | [[t1480-execution-guardrails\|T1480]] | Ativacao apenas em condicoes específicas | | Mutual Exclusion | [[t1480-002-mutual-exclusion\|T1480.002]] | Mutex para controle de timing do build | | File Deletion | [[t1070-004-file-deletion\|T1070.004]] | Remoção de evidências após injecao | | Obfuscation | [[t1027-obfuscated-files-or-information\|T1027]] | Código SUNSPOT ofuscado | | Masquerading | [[t1036-005-match-legitimate-resource-name-or-location\|T1036.005]] | Disfarce como componente legitimo | | File Discovery | [[t1083-file-and-directory-discovery\|T1083]] | Busca de arquivos de build para substituir | | Token Manipulation | [[t1134-access-token-manipulation\|T1134]] | Elevação de privilegios no servidor | ## Relevância LATAM/Brasil O [[s0562-sunspot|SUNSPOT]] representa o templaté mais sofisticado de ataque a cadeia de suprimentos de software registrado. Para o Brasil: - **Fornecedores de software governamental** - empresas brasileiras como TOTVS, SENIOR, Linx e outras que fornecem software para governo federal, estados e municipios sao alvos analogos ao SolarWinds - um comprometimento de build server poderia distribuir malware para milhares de clientes - **Integradores de TI** - empresas que distribuem updates de sistemas criticos (energia, saúde, financeiro) via pipelines automatizados sao vulneraveis ao mesmo modelo - **Ambiente de build da Petrobras, Embraer e bancos** - organizacoes que desenvolvem software proprietario critico devem avaliar a segurança de seus pipelines CI/CD como vetores de ataque - **Dependências de software importado** - o Brasil usa amplamente softwares de gestao e monitoramento importados; um ataque de supply chain equivalente ao SolarWinds afetaria diretamente organizacoes brasileiras A técnica do SUNSPOT ensina que CODE REVIEW e HASH VERIFICATION do código-fonte NAO sao suficientes - o comprometimento ocorreu no processo de build, DEPOIS do código-fonte mas ANTES do binario final. ## Detecção **Fontes de dados recomendadas:** - **Build server monitoring:** processos acessando arquivos de código-fonte (`.cs`, `.cpp`, `.java`) DURANTE execução de `MSBuild.exe` ou equivalente - substituicao em tempo real - **File integrity monitoring:** hashes de arquivos de código-fonte verificados antes E após execução de builds - inconsistencias indicam manipulação - **Process creation events:** processos nao reconhecidos com `CreateToolhelp32Snapshot` em servidores de build - comportamento tipico do SUNSPOT - **Mutex monitoring:** criação de named mutexes por processos do sistema em servidores de build - mecanismo de sincronizacao do SUNSPOT **Regras de detecção:** - **Build pipeline integrity:** implementar checksums de todos os source files antes e após cada build, alertando em qualquer diferenca - **YARA:** strings caracteristicas do SUNSPOT - nomes de mutexes hard-coded, patterns de process enumeration específicos - **CI/CD hardening:** builds devem ocorrer em ambientes efemeros (containers), com código-fonte em read-only mounts e auditoria completa de file access durante compilacao ## Referências - [1](https://attack.mitre.org/software/S0562) MITRE ATT&CK - S0562 SUNSPOT (2024) - [2](https://www.crowdstrike.com/blog/sunspot-malware-technical-analysis/) CrowdStrike - SUNSPOT: An Implant in the Build Process (2021) - [3](https://www.mandiant.com/resources/evasive-attacker-leverages-solarwinds-supply-chain-compromises-with-sunburst-backdoor) Mandiant - Evasive Attacker Leverages SolarWinds Supply Chain Compromises (2020) - [4](https://www.solarwinds.com/securityadvisory) SolarWinds - Security Advisory (2020) - [5](https://us-cert.cisa.gov/ncas/alerts/aa20-352a) CISA - Advanced Persistent Threat Compromise of Government Agencies (2020) - [6](https://www.microsoft.com/en-us/security/blog/2021/01/20/deep-dive-into-the-solorigaté-second-stage-activation-from-sunburst-to-teardrop-and-raindrop/) Microsoft - Deep dive into the Solorigaté second-stage activation (2021)