Usuários elásticos protegidos contra ataque à cadeia de suprimentos da SUDDENICON

A telemetria de alerta elástico observou eventos de proteção relacionados aos ataques à cadeia de suprimentos direcionados ao processo de atualização do 3CXDesktopApp.

7 min de leituraAnálise de malware
Usuários elásticos protegidos contra ataque à cadeia de suprimentos da SUDDENICON

Principais conclusões

  • Usuários elásticos são protegidos contra ataques à cadeia de suprimentos direcionados aos usuários 3CX
  • Como o fluxo de execução opera está sendo investigado ativamente pelo Elastic Security Labs e outras equipes de pesquisa
  • Independentemente da tecnologia anti-malware que você estiver usando, os alertas de injeção de shellcode e processo para 3CX não devem ser adicionados às listas de exceções

Preâmbulo

On March 29, 2023, CrowdStrike reported a potential supply-chain compromise affecting 3CX VOIP softphone users as detailed in a Reddit post. Elastic Security Labs continues to monitor telemetry for evidence of threat activity and will provide updates as more evidence becomes available. The earliest period of potentially malicious activity is currently understood to be on or around March 22, 2023 as reported by Todyl.

A 3CX afirma que ele é usado por mais de 600.000 empresas e mais de 12.000.000 de usuários, então o Elastic Security Labs está lançando uma análise de triagem para auxiliar os clientes da 3CX na detecção inicial do SUDDENICON, com análises subsequentes de malware e intrusão a serem lançadas posteriormente.

Nesta atualização informativa, o Elastic Security Labs fornece o seguinte: - Domínios potencialmente maliciosos associados à atividade de malware - Hashes de arquivo para clientes 3CX Windows e MacOS que podem ser afetados - Consultas elásticas e proteções pré-criadas que podem ser relevantes para esta atividade - Regras YARA para identificar o malware SUDDENICON

Análise de triagem SUDDENICON

O instalador MSI do 3CXDesktopApp parece conter código malicioso que aguarda sete dias após a instalação antes de baixar arquivos adicionais do GitHub e se comunicar com domínios de comando e controle maliciosos. O aplicativo cliente grava ffmpeg.dll e d3dcompiler\_47.dll no disco, o último dos quais contém uma carga útil que chamamos de SUDDENICON. Ambas as bibliotecas em nossa amostragem parecem ter sido invadidas por hackers. Deve-se observar que ffmpeg.dll e d3dcompiler\_47.dll são nomes de arquivo legítimos e regras não devem ser criadas somente com base neles.

O binário ffmpeg.dll extrai SUDDENICON de d3dcompiler\_47.dll buscando a sequência de bytes FEEDFACE e descriptografando usando uma chave RC4 estática (3jB(2bsG#@c7). A carga útil resultante é então carregada na memória como a carga útil do segundo estágio. Um stub de shellcode anexado à carga útil usada para mapeá-la na memória compartilha semelhanças com stubs do carregador APPLEJEUS, que foram associados à RPDC. Após a execução bem-sucedida, este stub de shellcode grava um novo arquivo ( manifest ) no disco com um registro de data e hora 7 dias no futuro, usado para implementar um temporizador após o qual o malware se conecta à infraestrutura C2.

Os domínios C2 são recuperados baixando e decodificando em base64 os bytes finais anexados aos arquivos de ícones armazenados no repositório IconStorages Github (este repositório foi removido pelo Github). Este repositório foi criado pelo GitHub ID 120072117 em 8 de dezembro de 2022 e atualizado mais recentemente em 16 de março de 2023. Após conectar-se inicialmente a um servidor C2 ativo, o malware executa um POST contendo um identificador de máquina. Em seguida, ele baixa e descriptografa um novo executável.

A análise inicial do novo executável parece ser um ladrão de informações. Lançaremos uma atualização assim que a análise for concluída.

O CEO da 3CX recomendou a desinstalação do software; um pequeno número de postagens no fórum da comunidade descreve como as ferramentas de segurança estão reagindo a possíveis comportamentos de malware, e a CrowdStrike e a SentinelOne publicaram informações iniciais. Parece provável que a ameaça tenha conseguido introduzir software malicioso criado pelo adversário por meio de canais de atualização, substituindo componentes benignos do 3CXDesktopApp. Os usuários também podem se autoinfectar acidentalmente.

Lógica de detecção

Prevenção

Consultas de caça

Os eventos para KQL e EQL são fornecidos com o Elastic Agent usando a integração do Elastic Defend. Consultas de busca podem retornar sinais altos ou falsos positivos. Essas consultas são usadas para identificar comportamentos potencialmente suspeitos, mas uma investigação é necessária para validar as descobertas.

Consultas KQL

A seguinte consulta KQL pode ser usada para identificar software assinado pelo 3CX que executa a resolução de nome de raw.githubusercontent.com, onde aplicativos maliciosos relacionados a essa ameaça foram encenados:

process.name : "3CXDesktopApp.exe" and dns.question.name : "raw.githubusercontent.com"

A seguinte consulta KQL pode ser usada para identificar vários indicadores baseados em host desta atividade:

dll.hash.sha256  : "7986bbaee8940da11ce089383521ab420c443ab7b15ed42aed91fd31ce833896" or dll.hash.sha256 :  "c485674ee63ec8d4e8fde9800788175a8b02d3f9416d0e763360fff7f8eb4e02"

Consultas EQL

Usando a seção Linha do tempo da Solução de segurança no Kibana na aba “Correlação”, você pode usar as consultas EQL abaixo para procurar comportamentos semelhantes.

A seguinte consulta EQL pode ser usada para criar perfis de software 3CX e software filho:

any where process.code_signature.subject_name == "3CX Ltd" or process.parent.code_signature.subject_name == "3CX Ltd"

A seguinte consulta EQL pode ser usada para identificar o software assinado pelo 3CX que executa a resolução de nome de raw.githubusercontent.com, onde aplicativos maliciosos relacionados a essa ameaça foram encenados:

network where process.code_signature.subject_name == "3CX Ltd" and dns.question.name == “raw.githubusercontent.com”

A seguinte consulta EQL pode ser usada para identificar arquivos escritos pelo cliente 3CXDesktopApp:

file where event.type == "creation" and (host.os.type == "windows" and file.path : "*:\\Users\\*\\AppData\\Local\\Programs\\C3XDesktopApp\\app\\*" and file.name : ("manifest")) or (host.os.type == "macos" and file.path : "*/Library/Application Support/3CX Desktop App/" and file.name : ("UpdateAgent", ".main_storage", ".session-lock")

A seguinte consulta EQL pode ser usada para identificar vários indicadores baseados em host desta atividade:

sequence by host.name, process.entity_id[process where process.code_signature.subject_name:"3CX Ltd"][library where dll.hash.sha256:"c485674ee63ec8d4e8fde9800788175a8b02d3f9416d0e763360fff7f8eb4e02","7986bbaee8940da11ce089383521ab420c443ab7b15ed42aed91fd31ce833896"][network where dns.question.name:"raw.githubusercontent.com"]

A seguinte consulta EQL pode ser usada para identificar essa atividade se a DLL for atualizada:

library where process.code_signature.subject_name : "3CX Ltd" and not dll.code_signature.trusted == true and not startswith~(dll.name, process.name) and /* DLL loaded from the process.executable directory */ endswith~(substring(dll.path, 0, length(dll.path) - (length(dll.name) + 1)), substring(process.executable, 0, length(process.executable) - (length(process.name) + 1)))

YARA

O Elastic Security Labs lançou duas assinaturas YARA para o shellcode malicioso, que chamamos de SUDDENICON.

Recomendações de defesa

Os clientes do Elastic Endgame e do Elastic Endpoint com proteções de shellcode habilitadas no modo de prevenção bloquearam a execução do SUDDENICON, embora qualquer software cliente comprometido possa precisar ser removido. Devido ao atraso na recuperação e injeção do shellcode, os usuários do 3CXDesktopApp podem não ver alertas até que o intervalo de suspensão passe (aproximadamente 7 dias). Os clientes que usam proteções de shellcode no modo somente detecção devem habilitar a prevenção para reduzir o risco de infecção. Não crie exceções para esses alertas.

Referências

The following were referenced throughout the above research: - https://www.reddit.com/r/crowdstrike/comments/125r3uu/20230329_situational_awareness_crowdstrike/ - https://www.sentinelone.com/blog/smoothoperator-ongoing-campaign-trojanizes-3cx-software-in-software-supply-chain-attack/ - https://www.todyl.com/blog/post/threat-advisory-3cx-softphone-telephony-campaign

Indicadores

Domínios potencialmente maliciosos

Domínios em negrito indicam que foram observados em nossa análise.

  • akamaicontainer[.]com
  • akamaitechcloudservices[.]com
  • azuredeploystore[.]com
  • azureonlinecloud[.]com
  • azureonlinestorage[.]com
  • dunamistrd[.]com
  • glcloudservice[.]com
  • journalide[.]org
  • msedgepackageinfo[.]com
  • msstorageazure[.]com
  • msstorageboxes[.]com
  • officeaddons[.]com
  • officestoragebox[.]com
  • pbxcloudeservices[.]com
  • pbxphonenetwork[.]com
  • pbxsources[.]com
  • qwepoi123098[.]com
  • sbmsa[.]wiki
  • sourceslabs[.]com
  • visualstudiofactory[.]com
  • zacharryblogs[.]com

Versões e hashes do 3CXDesktopApp potencialmente impactados:

Hash do cliente: dde03348075512796241389dfea5560c20a3d2a2eac95c894e7bbed5e85a0acc SO: Windows Hash do instalador: aa124a4b4df12b34e74ee7f6c683b2ebec4ce9a8edcf9be345823b4fdcf5d868 Nome do arquivo do instalador: 3cxdesktopapp-18.12.407.msi

Hash do cliente: fad482ded2e25ce9e1dd3d3ecc3227af714bdfbbde04347dbc1b21d6a3670405 SO: Windows Hash do instalador: 59e1edf4d82fae4978e97512b0331b7eb21dd4b838b850ba46794d9c7a2c0983 Nome do arquivo do instalador: 3cxdesktopapp-18.12.416.msi

Hash do cliente: 92005051ae314d61074ed94a52e76b1c3e21e7f0e8c1d1fdd497a006ce45fa61 SO: macOS Hash do instalador: 5407cda7d3a75e7b1e030b1f33337a56f293578ffa8b3ae19c671051ed314290 Nome do arquivo do instalador: 3CXDesktopApp-18.11.1213.dmg

Hash do cliente: b86c695822013483fa4e2dfdf712c5ee777d7b99cbad8c2fa2274b133481eadb SO: macOS Hash do instalador: e6bbc33815b9f20b0cf832d7401dd893fbc467c800728b5891336706da0dbcec Nome do arquivo do instalador: 3cxdesktopapp-latest.dmg

Compartilhe este artigo