Detectamos um novo trojan bancário direcionado à América Latina que merece um pouco mais de atenção: o Numando, que está ativo desde pelo menos 2018. Embora não seja tão dinâmico quanto o Mekotio ou Grandoreiro, o Numando tem sido utilizado constantemente desde que começamos a rastreá-lo, trazendo novas técnicas interessantes para o conjunto de truques que destacamos sobre o grupo de trojans bancários latino-americanos, como o uso de arquivos ZIP aparentemente inúteis ou o carregamento de payloads junto com imagens em formato BMP utilizadas como isca. Geograficamente, o Numando está enfocado quase que exclusivamente no Brasil, apesar da circulação de algumas campanhas no México e na Espanha.

Características

Assim como os outros trojans bancários latino-americanos descritos na série produzida pelos pesquisadores da ESET, o Numando é escrito em Delphi e usa sobreposições falsas para roubar informações confidenciais de suas vítimas. Algumas variantes do Numando armazenam essas imagens em um arquivo ZIP criptografado em suas seções .rsrc, enquanto outras usam uma DLL em Delphi separada apenas para esse armazenamento.

As capacidades de backdoor do Numando fazem com que seja possível simular ações do mouse e do teclado, reiniciar e desligar o computador, exibir janelas sobrepostas, produzir capturas de tela e eliminar processos do navegador. No entanto, ao contrário de outros trojans bancários latino-americanos, os comandos são definidos como números em vez de strings (veja a Figura 1), o que inspirou a maneira como decidimos nomear essa família de malware.

Figura 1. Processamento de comando do Numando: parte do processamento do comando 9321795 (vermelho).

As strings são criptografadas pelo algoritmo mais comum entre os trojans bancários latino-americanos (que pode ser visto na Figura 5 do nosso post sobre o Casbaneiro) e não são organizadas em uma tabela de strings. O Numando coleta a versão do Windows e o número de bits do computador comprometido.

Ao contrário da maioria dos outros trojans bancários latino-americanos que analisamos nesta série, o Numando não mostra sinais de desenvolvimento contínuo. Ocasionalmente, ocorrem algumas pequenas alterações, mas, em geral, os binários não tendem a mudar muito.

Distribuição e execução

O Numando é distribuído quase exclusivamente por meio de malspam. De acordo com nossa telemetria, suas campanhas afetam até algumas centenas de vítimas, o que faz com que sejam bem tão bem sucedidas como as campanhas dos trojans bancários mais prevalentes na América Latina, como Mekotio e Grandoreiro. As campanhas recentes simplesmente adicionam um anexo ZIP contendo um instalador MSI para cada e-mail de spam. Esse instalador contém um arquivo CAB com um aplicativo legítimo, um injetor e uma DLL criptografada do trojan bancário Numando. Caso a vítima execute o MSI, a ameaça eventualmente também executará o aplicativo legítimo, o que faz com que o injetor seja carregado. O injetor localiza o payload e, em seguida, o descriptografa usando um algoritmo XOR simples com uma chave multibyte, conforme pode ser visto na visão geral desse processo na Figura 2.

Figura 2. MSI do Numando e os conteúdos distribuídos nas últimas campanhas.

Para o Numando, o payload e o injetor geralmente são nomeados de forma idêntica: o injetor com a extensão .dll e o payload sem uma extensão (veja a Figura 3), o que torna mais fácil para o injetor localizar o payload criptografado. Surpreendentemente, o injetor não está escrito em Delphi, algo muito raro entre os trojans bancários latino-americanos. Os IoCs (final deste post) contêm uma lista de aplicativos legítimos que foram atacados e utilizados ​​pelo Numando.

Figura 3. Arquivos utilizados para executar o Numando. Aplicativo legítimo (Cooperativa.exe), injetor (Oleacc.dll), payload criptografado (Oleacc) e DLLs legítimas.

Decoy ZIP e BMP overlay

Há uma cadeia de distribuição bastante interessante que observamos no anteriormente e que vale a pena mencionar. Essa cadeia começa com um downloader em Delphi que baixa um arquivo ZIP utilizado como isca (veja a Figura 4). O downloader ignora o conteúdo do arquivo e extrai do comentário do arquivo ZIP uma string criptografada em hexadecimal, um componente opcional do arquivo ZIP armazenado no final do arquivo. O downloader não analisa a estrutura ZIP, mas em vez disso procura o último caractere {(usado como um marcador) em todo o arquivo. A descriptografia da string resulta em uma URL diferente que leva ao arquivo do payload.

Figura 4. A isca é um arquivo ZIP válido (as estruturas ZIP destacadas em verde) com uma URL criptografada e incluída em um comentário de arquivo ZIP no final do arquivo (vermelho).

O segundo arquivo ZIP contém um aplicativo legítimo, um injetor e uma imagem BMP suspeitamente grande. O downloader extrai o conteúdo desse arquivo e executa o aplicativo legítimo, que carrega o injetor que, por sua vez, extrai o trojan bancário Numando banking da imagem BMP de sobreposição e o executa. O processo é ilustrado na Figura 5.

Figura 5. Cadeia de distribuição do Numando utilizando um arquivo ZIP como isca.

Este arquivo BMP é uma imagem válida e pode ser aberto na maioria dos visualizadores e editores de imagens, pois a sobreposição é simplesmente ignorada. A Figura 6 mostra algumas das imagens usadas como isca pelo criador do Numando.

Figura 6. Algumas imagens BMP utilizadas pelo Numando como iscas para transportar o payload.

Configuração remota

Assim como muitos outros trojans bancários latino-americanos, o Numando se aproveita dos serviços públicos para armazenar suas configurações remotas: YouTube e Pastebin neste caso. A Figura 7 mostra um exemplo da configuração armazenada no YouTube, uma técnica semelhante usada pelo Casbaneiro, embora muito menos enganosa. O Google removeu rapidamente os vídeos após a ESET ter reportado a empresa sobre a ameaça.

Figura 7. Configuração remota do Numando no YouTube.

O formato é simples: três entradas delimitadas por ":" entre os marcadores DATA: { y }. Cada entrada é criptografada separadamente da mesma maneira que outras strings no Numando, com a chave hardcodeada no binário. Isso faz com que seja ainda mais difícil descriptografar a configuração sem ter o binário correspondente. No entanto, o Numando não altera sua chave de descriptografia com muita frequência, o que faz com que seja possível descriptografar a configuração.

Conclusão

O Numando é um trojan bancário latino-americano escrito em Delphi. É direcionado principalmente aos usuários no Brasil, além de algumas campanhas no México e na Espanha. É semelhante às outras famílias descritas em nossa série: usa pop-up falsos, conta com funcionalidades de um backdoor e usa arquivos MSI.

Destacamos as características, métodos de distribuição e configurações remota mais típicas do Numando. Esse é o único trojan bancário escrito em Delphi que utiliza um injetor não Delphi e seu formato de configuração remota é único, o que o torna dois fatores confiáveis ​​na identificação dessa família de malware.

Em caso de dúvidas, envie um e-mail para threatintel@eset.com. Os Indicadores de comprometimento também podem ser encontrados em nosso repositório no GitHub.

Indicadores de Comprometimento (IoCs)

Hashes

SHA-1 Description ESET detection name
E69E69FBF438F898729E0D99EF772814F7571728 MSI downloader for “decoy ZIP” Win32/TrojanDownloader.Delf.CQR
4A1C48064167FC4AD5D943A54A34785B3682DA92 MSI installer Win32/Spy.Numando.BA
BB2BBCA6CA318AC0ABBA3CD53D097FA13DB85ED0 Numando banking trojan Win32/Spy.Numando.E
BFDA3EAAB63E23802EA226C6A8A50359FE379E75 Numando banking trojan Win32/Spy.Numando.AL
9A7A192B67895F63F1AFDF5ADF7BA2D195A17D80 Numando banking trojan Win32/Spy.Numando.AO
7789C57DCC3520D714EC7CA03D00FFE92A06001A DLL with overlay window images Win32/Spy.Numando.P

Aplicativos legítimos utilizados pela ameaça

Example SHA-1 EXE name DLL name
A852A99E2982DF75842CCFC274EA3F9C54D22859 nvsmartmaxapp.exe nvsmartmax.dll
F804DB94139B2E1D1D6A3CD27A9E78634540F87C VBoxTray.exe mpr.dll
65684B3D962FB3483766F9E4A9C047C0E27F055E Dumpsender.exe Oleacc.dll

Servidores de C&C

  • 138.91.168[.]205:733
  • 20.195.196[.]231:733
  • 20.197.228[.]40:779

URL de entrega

  • https://enjoyds.s3.us-east-2.amazonaws[.]com/H97FJNGD86R.zip
  • https://lksluthe.s3.us-east-2.amazonaws[.]com/B876DRFKEED.zip
  • https://procjdcals.s3.us-east-2.amazonaws[.]com/HN97YTYDFH.zip
  • https://rmber.s3.ap-southeast-2.amazonaws[.]com/B97TDKHJBS.zip
  • https://sucessmaker.s3.us-east-2.amazonaws[.]com/JKGHFD9807Y.zip
  • https://trbnjust.s3.us-east-2.amazonaws[.]com/B97T908ENLK.zip
  • https://webstrage.s3.us-east-2.amazonaws[.]com/G497TG7UDF.zip

Técnicas do MITRE ATT&CK

Nota: esta tabela foi criada usando a versão 9 do framework do MITER ATT&CK.

Tactic ID Name Description
Resource Development T1583.001 Acquire Infrastructure: Domains Numando operators register domains to be used as C&C servers.
T1587.001

Develop Capabilities: Malware Numando is likely developed by its operator.
Initial Access T1566 Phishing: Spearphishing Attachment Numando is distributed as a malicious email attachment.
Execution T1204.002 User Execution: Malicious File Numando relies on the victim to execute the distributed MSI file.
Defense Evasion T1140

Deobfuscate/Decode Files or Information Numando encrypts its payload or hides it inside a BMP image file, and some variants encrypt and hex encode their main payload URLs in a comment in decoy ZIP files.
T1574.002 Hijack Execution Flow: DLL Side-Loading Numando is often executed by DLL side-loading.
T1027.002 Obfuscated Files or Information: Software Packing Some Numando binaries are packed with VMProtect or Themida.
T1218.007 Signed Binary Proxy Execution: Msiexec Numando uses the MSI format for execution.
Discovery T1010 Application Window Discovery Numando monitors the foreground windows.
T1082 System Information Discovery Numando collects the Windows version and bitness.
Collection T1113 Screen Capture Numando can take screenshots.
Command and Control T1132.002 Data Encoding: Non-Standard Encoding Numando uses custom encryption.
Exfiltration T1041 Exfiltration Over C2 Channel Numando exfiltrates data via a C&C server.