Operação SignSight: autoridade de certificação no sudeste da Ásia sofre ataque à cadeia de suprimentos | WeLiveSecurity

Operação SignSight: autoridade de certificação no sudeste da Ásia sofre ataque à cadeia de suprimentos

Pesquisadores da ESET descobriram um ataque à cadeia de suprimentos no site do governo do Vietnã.

Pesquisadores da ESET descobriram um ataque à cadeia de suprimentos no site do governo do Vietnã.

Apenas algumas semanas após o ataque à cadeia de suprimentos direcionado ao software Able Desktop, outro ataque semelhante ocorreu ao site da Autoridade de Certificação do Governo do Vietnã (VGCA, sigla em inglês): ca.gov.vn. Os atacantes modificaram dois dos instaladores do software disponíveis para download no site e adicionaram um backdoor para comprometer os usuários do aplicativo legítimo.

Pesquisadores da ESET descobriram esse novo ataque à cadeia de suprimentos no início de dezembro de 2020 e notificaram a organização comprometida e o VNCERT. Acreditamos que o site não forneceu instaladores de software comprometidos até o final de agosto de 2020 e, além disso, os dados de telemetria da ESET não indicam que os instaladores comprometidos tenham sido distribuídos em qualquer outro lugar. A Autoridade de Certificação do Governo do Vietnã confirmou que estava ciente do ataque antes de nossa notificação e que alertou o incidente aos usuários que baixaram o software trojanizado.

Ataque à cadeia de suprimentos no Vietnã

No Vietnã, as assinaturas digitais são muito comuns, pois os documentos assinados digitalmente têm a mesma validade que as assinaturas de próprio punho. De acordo com o Decreto nº 130/2018, os certificados criptográficos utilizados para assinar documentos devem ser concedidos por um dos fornecedores de certificados autorizados que incluem a VGCA, que faz parte do Comitê de Criptografia do Governo. Essa comissão, por sua vez, depende do Ministério da Informação e Comunicação.

Além de emitir certificados, a VGCA desenvolve e distribui um kit de ferramentas de assinatura digital, que é usado pelo governo vietnamita e provavelmente por empresas privadas para assinar documentos digitais. O comprometimento de um site de autoridade de certificação é uma boa oportunidade para grupos APT, uma vez que os visitantes provavelmente terão um alto nível de confiança em uma organização estadual responsável por assinaturas digitais.

Conforme mostrado na Figura 1, parece que esses programas são implantados nas agências do Partido e do Estado.

Figura 1. Captura de tela do site ca.gov.vn.

De acordo com a telemetria da ESET, o site ca.gov.vn foi comprometido entre 23 de julho e 16 de agosto de 2020. Dois dos instaladores disponíveis para download, o gca01-client-v2-x32-8.3.msi e o gca01-client-v2-x64-8.3.msi, foram modificados para incluir um malware conhecido como PhantomNet ou SManager que recentemente foi analisado pela NTT Security. Conseguimos confirmar que esses instaladores foram baixados do site ca.gov.vn por meio do protocolo HTTPS, portanto, acreditamos que possa ser um ataque man-in-the-middle. Confira as URLs que apontam para instaladores maliciosos:

  • https://ca.gov[.]vn/documents/20182/6768590/gca01-client-v2-x64-8.3.msi
  • https://ca.gov[.]vn/documents/20182/6768590/gca01-client-v2-x32-8.3.msi

Assim como é possível ver na Figura 2, essa informação também pode ser confirmada pelos dados do VirusTotal.

Figura 2. Captura de tela do VirusTotal que mostra a URL desde a qual o instalador trojanizado foi baixado.

Os instaladores trojanizados não estão devidamente assinados, mas notamos que os instaladores GCA limpos também estão assinados incorretamente (a assinatura digital do objeto não foi verificada). Tanto o MSIs oficial quanto o trojanizado usam um certificado atribuído a empresa Safenet.

A Figura 3 é um resumo do ataque à cadeia de suprimentos. Para ser atacado, o usuário teria que baixar e executar manualmente o software comprometido hospedado no site oficial.

Figura 3. Esquema simplificado do ataque à cadeia de suprimentos.

Depois de baixado e executado, o instalador inicia o programa GCA original e o arquivo malicioso. O arquivo malicioso é gravado em C:\Program Files\VGCA\Authentication\SAC\x32\eToken.exe. Ao também instalar o programa legítimo, os atacantes garantem que esse comprometimento não seja facilmente percebido pelos usuários finais.

O arquivo malicioso é um dropper simples que extrai um arquivo de gabinete do Windows (.cab) chamado 7z.cab e que contém o backdoor.

Se o dropper for executado como administrador, o backdoor é gravado em C:\Windows\apppatch\netapi32.dll e, para garantir a persistência, o dropper registra a DLL maliciosa como um serviço.

Se executado como um usuário regular, o backdoor é gravado em %TEMP%\Wmedia\<GetTickCount> e para garantir a persistência, o dropper cria uma tarefa agendada que chama a exportação Entery da DLL maliciosa. É interessante notar que a exportação do Entery também foi vista nas versões do TManger usadas pelo TA428, conforme detalhado pela NTT Security.

PhantomNet

O backdoor foi denominado Smanager_ssl.DLL por seus desenvolvedores, mas usamos PhantomNet, pois esse era o nome do projeto usado em uma versão mais antiga desse backdoor. Esta versão mais recente foi compilada em 26 de abril de 2020, quase dois meses antes do ataque à cadeia de suprimentos. Além do Vietnã, vimos vítimas nas Filipinas, mas infelizmente não descobrimos o mecanismo de entrega nesses casos.

Esse backdoor é bastante simples e a maioria dos recursos maliciosos provavelmente são implantados por meio de plug-ins adicionais. Ele pode recuperar a configuração de proxy da vítima e usá-la para entrar em contato com o servidor de comando e controle (C&C). Isso mostra que os alvos provavelmente funcionem em uma rede corporativa.

O PhantomNet usa o protocolo HTTPS para se comunicar com seus servidores C&C hardcodeados: vgca.homeunix[.]org e office365.blogdns[.]com. Para prevenir um ataque man-in-the-middle, o PhantomNet implementa o pinning de certificado, usando funções da biblioteca SSPI. O certificado é baixado durante a primeira conexão com o servidor C&C e, em seguida, armazenado no armazenamento de certificados do Windows.

Além do uso de provedores de DNS dinâmicos, é interessante observar que o nome do primeiro subdomínio, vgca, foi escolhido para imitar o nome da Autoridade de Certificação do Governo do Vietnã.

Os atacantes podem controlar o implante usando estes cinco comandos:

ID do comandoDescrição
0x00110020Obtém as informações da vítima (nome do computador, nome do host, nome de usuário, versão do sistema operacional, privilégios do usuário (admin ou não) e o endereço IP público consultando ipinfo.io).
0x00110030Chama a exportação DeletePluginObject de todos os plug-ins instalados.
0x00110040Gerencia os plug-ins (instalar, remover, atualizar). Os plug-ins têm a seguinte exportação (incluindo o erro de digitação no primeiro): GetPluginInfomation, GetRegisterCode, GetPluginObject, DeletePluginObject.
0x00110070Define um valor de um determinado campo na estrutura principal do backdoor.
0x547CBA78Gera e define uma senha usando as funções SSPI. O propósito final é desconhecido.

No VirusTotal, encontramos um plug-in que corresponde às exportações acima. É uma compilação em debug que se denomina como SnowballS de acordo com seu caminho PDB e outros caminhos de debug:

  • E:\WorkCode\AD_Attacker\Server\EXE_DEBUG\SnowballS.pdb
  • e:\workcode\ad_attacker\server\plugins\plugins\snowballs\cdomainquery.cpp

Uma análise inicial e superficial sugere que essa ferramenta pode ser usada para movimento lateral, pois incorpora Invoke-Mimikatz. Ela também pode coletar informações sobre a máquina da vítima e contas de usuário. Isso mostra que o PhantomNet pode receber plug-ins adicionais e complexos que provavelmente são implantados apenas em máquinas de interesse particular para os operadores do malware.

No caso do ataque no Vietnã, não conseguimos recuperar dados sobre a atividade pós-comprometimento e, portanto, não temos visibilidade do objetivo final dos atacantes.

Conclusão

Com o comprometimento do Able Desktop, o ataque ao WIZVERA VeraPort por Lazarus e o recente ataque à cadeia de suprimentos no Orien do SolarWinds, vemos que os ataques à cadeia de suprimentos são um vetor de comprometimento bastante comum para grupos de espionagem cibernética. Neste caso específico, eles comprometeram o site de uma autoridade de certificação vietnamita, na qual os usuários provavelmente têm um alto nível de confiança.

Os ataques à cadeia de suprimentos são normalmente difíceis de encontrar, já que o código malicioso geralmente fica oculto entre muitos códigos legítimos, tornando o seu reconhecimento bem mais difícil.

Em caso de dúvidas, entre em contato conosco pelo e-mail fearintel@eset.com. Os indicadores de comprometimento também podem ser encontrados em nosso repositório do GitHub.

Indicadores de Comprometimento (IoCs)

Arquivos

SHA-1ESET detection nameDescription
5C77A18880CF58DF9FBA102DD8267C3F369DF449Win32/TrojanDropper.Agent.SJQTrojanized installer (gca01-client-v2-x64-8.3.msi)
B0E4E9BB6EF8AA7A9FCB9C9E571D8162B1B2443AWin32/TrojanDropper.Agent.SJQTrojanized installer (gca01-client-v2-x32-8.3.msi)
9522F369AC109B03E6C16511D49D1C5B42E12A44Win32/TrojanDropper.Agent.SJQPhantomNet dropper
989334094EC5BA8E0E8F2238CDF34D5C57C283F2Win32/PhantomNet.BPhantomNet
5DFC07BB6034B4FDA217D96441FB86F5D43B6C62Win32/PhantomNet.APhantomNet plugin

Servidores C&C
office365.blogdns[.]com
vgca.homeunix[.]org

Técnicas de MITRE ATT&CK

Nota: Esta tabela foi construída usando a versão 8 do framework do MITER ATT&CK.

TacticIDNameDescription
Initial AccessT1195.002Supply Chain Compromise: Compromise Software Supply ChainAttackers modified the installer of the GCA01 software that is hosted on ca.gov.vn and added a backdoor to the MSI installer.
ExecutionT1204.002User Execution: Malicious FileThe victim needs to manually execute the trojanized installer.
PersistenceT1053.005Scheduled Task/Job: Scheduled TaskIf the user doesn’t have admin privileges, PhantomNet persists via a scheduled task.
T1543.003Create or Modify System Process: Windows ServiceIf the user has admin privileges, PhantomNet persists via a Windows service.
DiscoveryT1033System Owner/User DiscoveryPhantomNet implements a function to retrieve the username.
T1082System Information DiscoveryPhantomNet implements a function to retrieve the OS version.
Command and ControlT1090.001Proxy: Internal ProxyPhantomNet can retrieve the proxy configuration of the default browser and use it to connect to the C&C server.
T1071.001Application Layer Protocol: Web ProtocolsPhantomNet uses HTTPS.
T1573.002Encrypted Channel: Asymmetric CryptographyPhantomNet can add a certificate to the Windows store and use it for certificate pinning for its HTTPS communications.

Newsletter

Discussão