blank

blank

  • O Cisco Talos descobriu recentemente uma campanha maliciosa que provavelmente começou em agosto de 2023, entregando um novo trojan de acesso remoto (RAT) que apelidamos de “SugarGh0st”.
  • Encontramos evidências que sugerem que o autor da ameaça tem como alvo o Ministério das Relações Exteriores do Uzbequistão e usuários na Coreia do Sul.
  • Avaliamos com grande confiança que o SugarGh0st RAT é uma nova variante customizada do Gh0st RAT, um trojan infame que está ativo há mais de uma década, com comandos customizados para facilitar as tarefas de administração remota conforme orientado pelo C2 e protocolo de comunicação modificado baseado em a semelhança da estrutura do comando e das strings usadas no código.
  • Observamos duas cadeias de infecção aproveitando o atalho do Windows incorporado com JavaScript malicioso para entregar os componentes para descartar e iniciar a carga útil do SugarGh0st.
  • Em uma cadeia de infecção, o ator aproveita a ferramenta DynamixWrapperX para ativar chamadas de função da API do Windows em JavaScript malicioso para executar o shellcode.
  • A Talos avalia com pouca confiança que um ator de ameaça que fala chinês está operando esta campanha com base nos artefatos que encontramos nas amostras de ataque.
PAÍSES-ALVO: Republica da Coréia, Uzbequistão
FAMÍLIAS DE MALWARE: SugarGh0st RATGh0st RAT
ATT&CK IDS: T1106 – API nativa, T1036 – Mascaramento, T1055 – Injeção de Processo, T1059 – Interpretador de Comandos e Scripts, T1057 – Descoberta de Processo, T1560 – Arquivar dados coletados,T1559 – Comunicação entre processos, T1566 – Phishing, T1027 – Arquivos ou informações ofuscadas,T1056 – Captura de Entrada, T1218 – Execução de proxy binário assinado, T1140 – Desofuscar/Decodificar Arquivos ou Informações, T1547 – Execução de inicialização automática de inicialização ou logon

 

Suspeito de ator chinês visando Uzbequistão e Coreia do Sul

Talos descobriu quatro amostras implantadas nesta campanha que provavelmente têm como alvo usuários no Uzbequistão e na Coreia do Sul com base no idioma dos documentos iscas, no conteúdo da isca e nos indicadores de distribuição que o Talos encontrou na natureza.

Uma das amostras é enviada a usuários do Ministério das Relações Exteriores do Uzbequistão. A amostra é um arquivo incorporado com um arquivo Windows ShortCut LNK que, ao ser aberto, deixa cair o documento chamariz “Detalhes do projeto de investimento.docx” com conteúdo uzbeque sobre um decreto presidencial no Uzbequistão focado em melhorar a administração estatal em regulamentação técnica. O conteúdo atraente do documento isca foi publicado em várias fontes do Uzbequistão em 2021. O vetor inicial da campanha é provavelmente um e-mail de phishing com um arquivo RAR malicioso anexado enviado a um funcionário do Ministério das Relações Exteriores.

blank
Documento chamariz em idioma uzbeque.

lém do Uzbequistão, também observámos indicações de alvos na Coreia do Sul. Encontramos três outros documentos falsos escritos em coreano descartados pelo arquivo JavaScript malicioso incorporado no atalho do Windows, aparentemente distribuído na Coreia do Sul. O documento falso denominado “Account.pdf” foi forjado como uma notificação de segurança de conta da Microsoft para confirmar o registro de uma conta com uma senha gerada. Outra isca chamada “MakerDAO MKR se aproxima do ponto mais alto desde agosto.docx” usa o conteúdo copiado do 코인데스크코리아 (CoinDesk Korea, um meio de comunicação coreano que cobre o blockchain). O terceiro documento chamariz, denominado “Equipment_Repair_Guide.docx”, contém informações de isca com instruções para manutenção de computadores em uma organização. Para reforçar nossa avaliação dos alvos sul-coreanos, também observamos solicitações de domínio C2 de IPs originados da Coreia do Sul.

blank blank blank

Os documentos chamariz encontrados nas amostras coletadas pelo Talos.

Durante nossa análise, observamos alguns artefatos que sugeriam que o ator poderia falar chinês. Dois dos arquivos chamariz que encontramos têm os nomes “modificados pela última vez por” mostrados como “浅唱丶低吟” (Cante levemente, cante) e “琴玖辞” (parece ser o nome de um autor de romance chinês), que são ambos chineses simplificados.

blank blank

Informações do autor e do último editor sobre documentos falsos.

Além dos metadados do documento chamariz, o ator prefere usar o SugarGh0st, uma variante do Gh0st RAT. O malware Gh0st RAT é um dos pilares do arsenal dos atores de ameaças chineses e está ativo pelo menos desde 2008. Os atores chineses também têm um histórico de atacar o Uzbequistão. A segmentação do Ministério dos Negócios Estrangeiros do Uzbequistão também se alinha com o âmbito da actividade de inteligência chinesa no estrangeiro.

SugarGh0st é uma nova variante do Gh0st RAT

Talos descobriu um RAT que chamamos de SugarGh0st entregue como carga útil nesta campanha. Talos avalia com grande confiança que SugarGh0st é uma variante customizada do Gh0st RAT. O Gh0st RAT foi desenvolvido por um grupo chinês chamado 红狼小组 (C.Rufus Security Team), e seu código-fonte foi divulgado publicamente em 2008. A divulgação pública do código-fonte tornou mais fácil para os agentes de ameaças obterem acesso a ele e adaptá-lo para cumprir suas intenções maliciosas. Existem diversas variantes do Gh0st RAT no cenário de ameaças e continua sendo a ferramenta preferida de muitos atores de língua chinesa, permitindo-lhes conduzir ataques de vigilância e espionagem.

Comparado com o malware Gh0st original, o SugarGh0st está equipado com alguns recursos personalizados em sua capacidade de reconhecimento na procura de chaves de registro específicas de Open Database Connectivity (ODBC), carregando arquivos de biblioteca com extensões de arquivo e nomes de função específicos, comandos personalizados para facilitar as tarefas de administração remota dirigido pelo C2 e para evitar detecções anteriores. O protocolo de comunicação C2 também foi modificado. Os primeiros oito bytes do cabeçalho do pacote de rede são reservados como bytes mágicos em comparação com os primeiros cinco nas variantes anteriores do Gh0st RAT. Os recursos restantes, incluindo assumir o controle remoto total da máquina infectada, fornecer keylogging em tempo real e offline, conectar-se à webcam de uma máquina infectada e baixar e executar outros binários arbitrários no host infectado estão alinhados com os recursos do Gh0st anterior. Variantes de RAT.

Uma cadeia de infecção em vários estágios 

Talos descobriu duas cadeias de infecção diferentes empregadas pelo ator da ameaça para atingir as vítimas nesta campanha. Uma das cadeias de infecção descriptografa e executa a carga útil do SugarGh0st RAT, a variante personalizada do Gh0st RAT. Outra cadeia de infecção aproveita o carregador DynamicWrapperX para injetar e executar o shellcode que descriptografa e executa o SugarGh0st.

Cadeia de infecção nº 1

A primeira cadeia de infecção começa com um arquivo RAR malicioso contendo um arquivo de atalho do Windows com extensão dupla. Quando uma vítima abre o arquivo de atalho, ela executa um comando para descartar e executar um arquivo JavaScript incorporado. O JavaScript eventualmente descarta um chamariz, uma carga útil criptografada do SugarGh0st, um carregador de DLL e um script em lote. Em seguida, o JavaScript executa o script em lote para executar o carregador de DLL eliminado, carregando-o lateralmente com um rundll32 copiado. O carregador de DLL irá descriptografar a carga criptografada do SugarGh0st na memória e executá-la de forma reflexiva.

blank

Arquivo de atalho incorporado com conta-gotas JavaScript malicioso

O arquivo de atalho do Windows descoberto neste ataque está incorporado com JavaScript e possui argumentos de linha de comando para descartá-lo e executá-lo. Após a vítima abrir o arquivo LNK, o argumento de linha de comando do arquivo LNK é executado para localizar e carregar o JavaScript com a string start de “var onm =”, que é o início do conta-gotas de JavaScript e coloca o JavaScript em% temp% localização. Depois disso, o JavaScript descartado é executado usando o cscript binário Living-off-the-land (LoLBin).

blank
Amostra de arquivo LNK malicioso.

Conta-gotas JavaScript 

O conta-gotas JavaScript é um script fortemente ofuscado incorporado com dados codificados em base64 dos outros componentes do ataque. O JavaScript decodifica e coloca os arquivos incorporados na pasta %TEMP%, incluindo um script em lote, um carregador de DLL personalizado, uma carga útil criptografada do SugarGh0st e um documento chamariz. Ele primeiro abre o documento chamariz para se disfarçar como uma ação legítima e, em seguida, copia o executável rundll32 legítimo da pasta “Windows\SysWow64” para a pasta %TEMP%. Por fim, ele executa o carregador de script em lote a partir do local %TEMP% e executa o carregador de DLL personalizado. Posteriormente, o JavaScript foi excluído do sistema de arquivos.

blank
O JavaScript dropper

Carregador de script em lote

O script em lote, neste caso, é denominado “ctfmon.bat” e possui os comandos para executar o carregador DLL personalizado descartado. Quando executado, ele carrega o carregador de DLL com rundll32.exe e executa a função que é DllUnregisterServer, normalmente usada por DLLs COM (Component Object Model).

blank
O carregador de script em lote.

O DLL Loader descriptografa e carrega reflexivamente a carga útil do SugarGh0st

O carregador de DLL personalizado denominado “MSADOCG.DLL” (nome da DLL associada à tecnologia ActiveX Data Objects (ADO) da Microsoft) é uma DLL de 32 bits escrita em C++ e implementada como um componente de objeto COM. O carregador inclui código compactado que é descompactado com código de descompactação personalizado. Quando a DLL é executada, ela descompacta o código para ler o arquivo de carga útil criptografado do SugarGh0st chamado “DPLAY.LIB ” do local% TEMP%, descriptografa-o e executa-o na memória.

blank
Código stub para descompactar o código.
blank
Função para carregar a carga criptografada.

Cadeia de infecção nº 2

Semelhante à primeira cadeia de infecção, esse ataque também começa com um arquivo RAR contendo um arquivo malicioso de atalho do Windows forjado como documento isca. O arquivo de atalho do Windows, ao executar os comandos incorporados, coloca o arquivo dropper JavaScript no local% TEMP% e o executa com cscript. O JavaScript neste ataque descarta um documento falso, uma DLL DynamicWrapperX legítima e o SugarGh0st criptografado. O JavaScript usa a DLL legítima para permitir a execução do shellcode incorporado para executar a carga útil do SugarGh0st.

blank

JavaScript aproveita DynamicWrapperX para executar shellcode que inicia SugarGh0st

O JavaScript usado nesta cadeia de infecção também é fortemente ofuscado e incorporado a dados codificados em base64 de outros componentes do ataque, incluindo um shellcode. Quando o JavaScript é executado, ele descarta um SugarGh0st criptografado, uma DLL chamada “libeay32.dll” e o documento isca. O JavaScript abre o documento chamariz e copia Wscript.exe para a pasta% TEMP% como dllhost.exe. Ele executa o JavaScript descartado novamente usando dllhost.exe e cria uma subchave de registro chamada “CTFMON.exe” na chave de registro Executar para estabelecer persistência.

Chave do registro

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run

Sub-chave

CTFMON.exe

Valor

“cmd /c start C:\Users\user\AppData\Local\Temp\dllhost.exe C:\Users\user\AppData\Local\Temp\~204158968.js”

 

O arquivo “libeay32.dll” é uma ferramenta chamada DynamicWrapperX (originalmente chamada “dynwrapx.dll”) desenvolvida por Yuri Popov. Esta ferramenta é um componente ActiveX que permite chamadas de funções API do Windows em scripts (JScript, VBScript, etc.). O invasor pode usar isso para executar o shellcode por meio do conta-gotas JavaScript. Porém, eles devem primeiro executar regsvr.exe para instalar o componente.

C:\Windows\system32\regsvr32 /i /s C:\Users\ADMINI~1\AppData\Local\Temp\libeay32.dll

 

A DLL DynamicWrapperX registra suas funções de membro na máquina da vítima criando uma subchave de registro CLSID com o valor “89565275-A714-4a43-912E-978B935EDCCC” na chave de registro Software\Classes\DynamicWrapperX. O JavaScript que contém os componentes ActiveX executa o shellcode incorporado usando a DLL DynamixWrapperX.

O shellcode possui hashes de API e instruções para carregar e mapear as funções necessárias para injeção de processo de Kernel32.dll. Ele também carrega duas outras DLLs, User32.dll e shlwapi.dll. Em seguida, ele carrega o SugarGh0st “libeay32.lib” criptografado do local% TEMP%, descriptografa-o e carrega-o reflexivamente no espaço de memória alocado no processo dllhost.exe.

blank
Shellcode que carrega e descriptografa o SugarGh0st criptografado.

Análise de SugarGh0st   

A amostra SugarGh0st analisada pelo Cisco Talos é uma biblioteca de link dinâmico de 32 bits em C++ compilada em 23 de agosto de 2023. Durante sua execução inicial, SugarGh0st cria um mutex na máquina da vítima usando o domínio C2 codificado como um marcador de infecção e inicia a função de keylogging. O módulo keylogger cria uma pasta “WinRAR” no local %Program Files% e grava o arquivo keylogger “WinLog.txt”.

blank
A função Keylogging do SugarGh0st.

SugarGh0st usa funções “WSAStartup”, um domínio C2 codificado e porta para estabelecer a conexão com o servidor C2. Talos descobriu dois domínios C2, login[.]drive-google-com[.]tk e account[.]drive-google-com[.]tk, usados ​​pelo ator da ameaça nesta campanha.

blank
A função de comunicação C2 do SugarGh0st.

Após o lançamento, o SugarGh0st tenta estabelecer a conexão com o C2 a cada 10 segundos. Se for bem-sucedido, o primeiro pacote de saída sempre consiste nos mesmos oito bytes “0x000011A40100” de uma pulsação. Após o envio bem-sucedido da pulsação, o SugarGh0st envia os dados do buffer, que incluem o seguinte:

  • Nome do computador
  • Versão do sistema operacional
  • Raiz e outras informações da unidade da máquina vítima
  • Chave de registro “HKEY_LOCAL_MACHINE\Software\ODBC\H” se existir
  • Códigos de campanha 1 (mês e ano) e código 2 (em nossos exemplos são “padrão”)
  • Número da versão do Windows
  • Número de série do volume da unidade raiz

Um pacote de amostra enviado pelo SugarGh0st para C2.

SugarGh0st é um backdoor totalmente funcional que pode executar a maioria das funcionalidades de controle remoto. Ele pode iniciar o shell reverso e executar comandos arbitrários enviados de C2 como strings usando o shell de comando.

blank
A função de shell reverso.

SugarGh0st pode coletar o nome de host da máquina da vítima, sistema de arquivos, unidade lógica e informações do sistema operacional. Ele pode acessar as informações do processo em execução da máquina da vítima e controlar o ambiente acessando as informações do processo e encerrando o processo conforme indicado pelo servidor C2.

Ele também pode gerenciar o gerenciador de serviços da máquina acessando os arquivos de configuração dos serviços em execução e pode iniciar, encerrar ou excluir os serviços.

blank
Função para operar serviços.

SugarGh0st pode fazer capturas de tela da área de trabalho atual da máquina vítima e alternar para várias janelas. Ele pode acessar a câmera da máquina da vítima para capturar a tela e compactar os dados capturados antes de enviá-los ao servidor C2. SugarGh0st pode realizar várias operações de arquivo, incluindo pesquisar, copiar, mover e excluir arquivos na máquina da vítima.

Ele também limpa os logs de eventos de aplicativos, segurança e sistema da máquina para ocultar as operações maliciosas registradas para evitar a detecção.

blank
Função para limpar logs de eventos.

SugarGh0st executa as funcionalidades de controle remoto, incluindo aquelas discutidas anteriormente, conforme direcionado pelo servidor C2 com os comandos hexadecimais de quatro bytes e os dados que os acompanham.

Comando

Ação

0x20000001

Ajuste o privilégio do processo para “SeShutdownPrivilege” e force o desligamento do host.

0x20000002

Ajuste o privilégio do processo para “SeShutdownPrivilege” e force a reinicialização do host.

0x20000003

Ajuste o privilégio do processo para “SeShutdownPrivilege” e force o encerramento dos processos.

0x20000004

Limpar log de eventos

0x20000005

Crie a chave de registro HKEY_LOCAL_MACHINE\Software\ODBC\H

0x20000011

Pressione uma tecla na janela padrão

0x20000012

Solte uma tecla na janela padrão

0x20000013

Definir a posição do cursor do mouse

0x20000014

Clique no botão esquerdo do mouse

0x20000015

Solte o botão esquerdo do mouse

0x20000016

Clique duas vezes com o botão esquerdo do mouse

0x20000017

Clique com o botão direito do mouse

0x20000018

Solte o botão direito do mouse

0x20000019

Clique duas vezes com o botão esquerdo do mouse

0x21000002

Obtenha as informações da unidade lógica da máquina da vítima.

0x21000003

Pesquise arquivos no sistema de arquivos da máquina da vítima

0x21000004

Exclua arquivos do sistema de arquivos da máquina da vítima

0x21000005

Move arquivos para o local %TEMP%

0x21000006

Executa comandos shell arbitrários

0x21000007

Copia arquivos na máquina da vítima

0x21000008

Mova arquivos na máquina da vítima

0x21000009

Envia arquivos para o servidor C2

0x2100000A

Envia os dados para o soquete do Windows

0x2100000B

Recebe arquivos do servidor C2

0x22000001

Envia a captura de tela para o servidor C2

0x24000001

Leia o arquivo %ProgramFiles%/WinRAR/~temp.dat (que é codificado com XOR 0x62)

0x24000002

Exclua o arquivo %ProgramFiles%/WinRAR/~temp.dat

0x23000000

Fornece acesso shell reverso ao servidor C2

0x25000000

Obtém as informações do processo e finaliza o processo

0x25000001

Enumerar informações do processo

0x25000002

Encerrar processo

0x25000003

Acesse o gerenciador de serviços da máquina das vítimas

0x25000004

Acesse os arquivos de configuração dos serviços em execução

0x25000005

Iniciando serviço

0x25000006

Encerrando e excluindo os serviços.

0x25000010

Executa as operações do Windows

0x25000011

Obter lista de janelas

0x25000012

Receber mensagem da janela

0x28000000

Capture janela e execute uma série de operações de janela com base no comando com API SendMessage.

0x28000002

Encontre um . OLE em “%PROGRAMFILES%\\Common Files\\DESIGNER” e inicie

Cobertura

blank

O Cisco Secure Endpoint (anteriormente AMP for Endpoints) é ideal para impedir a execução do malware detalhado nesta postagem. Experimente o Secure Endpoint gratuitamente aqui.

A verificação da Web do Cisco Secure Web Appliance impede o acesso a sites maliciosos e detecta malware usado nesses ataques.

O Cisco Secure Email (anteriormente Cisco Email Security) pode bloquear e-mails maliciosos enviados por agentes de ameaças como parte de sua campanha. Você pode experimentar o Secure Email gratuitamente aqui.

Os dispositivos Cisco Secure Firewall (anteriormente Next-Generation Firewall e Firepower NGFW), como Threat Defense Virtual , Adaptive Security Appliance e Meraki MX , podem detectar atividades maliciosas associadas a esta ameaça.

O Cisco Secure Malware Analytics (Threat Grid) identifica binários maliciosos e cria proteção em todos os produtos Cisco Secure.

O Umbrella, o gateway de Internet seguro (SIG) da Cisco, impede que os usuários se conectem a domínios, IPs e URLs maliciosos, estejam os usuários dentro ou fora da rede corporativa. Inscreva-se para uma avaliação gratuita do Umbrella aqui.

O Cisco Secure Web Appliance (anteriormente Web Security Appliance) bloqueia automaticamente sites potencialmente perigosos e testa sites suspeitos antes que os usuários os acessem.

Proteções adicionais com contexto para seu ambiente específico e dados de ameaças estão disponíveis no Firewall Management Center.

O Cisco Duo fornece autenticação multifator para usuários para garantir que apenas aqueles autorizados acessem sua rede.

Os clientes do conjunto de regras de assinante de código aberto do Snort podem se manter atualizados baixando o pacote de regras mais recente disponível para compra em Snort.org. O Snort SID para esta ameaça é 62647.

Detecções do ClamAV disponíveis para esta ameaça:

Win.Trojan.SugarGh0stRAT-10014937-0

Win.Tool.DynamicWrapperX-10014938-0

Txt.Loader.SugarGh0st_Bat-10014939-0

Win.Trojan.SugarGh0stRAT-10014940-0

Lnk.Dropper.SugarGh0stRAT-10014941-0

Js.Trojan.SugarGh0stRAT-10014942-1

Win.Loader.Ramnit-10014943-1

Win.Backdoor.SugarGh0stRAT-10014944-0

Consultas Orbitais

Os usuários do Cisco Secure Endpoint podem usar o Orbital Advanced Search para executar OSqueries complexos para ver se seus endpoints estão infectados com esta ameaça específica. Para consultas específicas relacionadas a esta ameaça, siga os links:

Indicadores de Compromisso

Os indicadores de comprometimento associados a esta ameaça podem ser encontrados aqui.


Descubra mais sobre DCiber

Assine para receber os posts mais recentes por e-mail.