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.
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.
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.
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.
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.
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.
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.
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. |