Antes de dar cierre a nuestra serie sobre troyanos latinoamericanos, hay un troyano bancario que merece un análisis detallado: Numando. El actor de amenazas detrás de esta familia de malware ha estado activo desde al menos 2018. Aunque no es tan dinámico como Mekotio o Grandoreiro, Numando ha sido utilizado de manera constante desde que comenzamos a rastrearlo, aportando nuevas e interesantes técnicas al conjunto de trucos que hemos descrito sobre el grupo de troyanos bancarios latinoamericanos, como el uso de archivos ZIP aparentemente inútiles o la carga de payloads junto a imágenes en formato BMP utilizadas como señuelo. Geográficamente, se centra casi exclusivamente en Brasil, más allá de algunas campañas en México y España.
Características
Al igual que los demás troyanos bancarios latinoamericanos descritos en esta serie, Numando está escrito en Delphi y utiliza falsas ventanas superpuestas para sustraer información confidencial de sus víctimas. Algunas variantes de Numando almacenan estas imágenes en un archivo ZIP cifrado dentro de sus secciones .rsrc, mientras que otras utilizan una DLL en Delphi aparte solo para este almacenamiento.
Las capacidades de backdoor de Numando le permiten simular acciones del mouse y del teclado, reiniciar y apagar la máquina, mostrar ventanas superpuestas, tomar capturas de pantalla y eliminar los procesos del navegador. Sin embargo, a diferencia de otros troyanos bancarios latinoamericanos, los comandos se definen como números en lugar de strings (consulte la Figura 1), lo que inspiró la forma en que decidimos nombrar a esta familia de malware.
Las strings están cifradas por el algoritmo más común entre los troyanos bancarios latinoamericanos (que se muestra en la Figura 5 de nuestro artículo de Casbaneiro) y no están organizadas en una tabla de strings. Numando recopila la versión de Windows y el número de bits de la máquina comprometida.
A diferencia de la mayoría de los otros troyanos bancarios latinoamericanos que hemos analizado en esta serie, Numando no muestra signos de un desarrollo continuo. Se producen algunos cambios menores de vez en cuando, pero en general los binarios no tienden a cambiar mucho.
Distribución y ejecución
Numando se distribuye casi exclusivamente a través de malspam. De acuerdo con nuestra telemetría, sus campañas afectan como máximo a algunos cientos de víctimas, lo que las hace considerablemente menos exitosas que las campañas de los troyanos bancarios latinoamericanos más prevalentes, como Mekotio y Grandoreiro. Las campañas recientes simplemente agregan en cada correo de spam un archivo adjunto ZIP que contiene un instalador MSI. Este instalador contiene un archivo CAB con una aplicación legítima, un injector y una DLL cifrada del troyano bancario Numando. Si la potencial víctima ejecuta el MSI, eventualmente también ejecuta la aplicación legítima, y eso carga lateralmente el injector. El injector localiza el payload y luego lo descifra utilizando un algoritmo XOR simple con una clave de múltiples bytes, como se observa en la descripción general de este proceso en la Figura 2.
Para Numando, el payload y el injector generalmente se nombran de manera idéntica: el injector con la extensión .dll y el payload sin extensión (consulte la Figura 3), lo que facilita que el injector localice el payload cifrado. Sorprendentemente, el injector no está escrito en Delphi, algo muy raro entre los troyanos bancarios latinoamericanos. Los IoC al final de esta publicación contienen una lista de aplicaciones legítimas que hemos observado siendo abusadas por Numando.
Decoy ZIP and BMP overlay
Hay una interesante cadena de distribución que observamos en el pasado reciente que vale la pena mencionar. Esta cadena comienza con un downloader en Delphi que descarga un archivo ZIP utilizado como señuelo (ver Figura 4). El downloader ignora el contenido del archivo y extrae del comentario del archivo ZIP una string cifrada en hexadecimal, un componente opcional del archivo ZIP almacenado al final del archivo. El downloader no analiza la estructura ZIP, sino que busca el último carácter { (utilizado como marcador) en todo el archivo. Descifrar la string da como resultado una URL diferente que conduce al archivo del payload.
El segundo archivo ZIP contiene una aplicación legítima, un injector y una imagen BMP sospechosamente grande. El downloader extrae el contenido de este archivo y ejecuta la aplicación legítima, que carga lateralmente el inyector que, a su vez, extrae el troyano bancario Numando de la imagen BMP superpuesta y lo ejecuta. El proceso se ilustra en la Figura 5.
Este archivo BMP es una imagen válida y se puede abrir en la mayoría de los visores y editores de imágenes sin problemas, ya que la superposición simplemente se ignora. La Figura 6 muestra algunas de las imágenes que usa como señuelo el actor de amenazas Numando.
Configuración remota
Al igual que muchos otros troyanos bancarios latinoamericanos, Numando abusa de servicios públicos para almacenar su configuración remota: YouTube y Pastebin en este caso. La Figura 7 muestra un ejemplo de la configuración almacenada en YouTube, una técnica similar a Casbaneiro, aunque mucho menos engañosa. Google eliminó los videos rápidamente luego del reporte de ESET.
El formato es simple: tres entradas delimitadas por “:” entre los marcadores DATA:{ y }. Cada entrada se cifra por separado de la misma manera que otras cadenas en Numando, con la clave hardcodeada en el binario. Esto dificulta descifrar la configuración sin tener el binario correspondiente; sin embargo, Numando no cambia su clave de descifrado con mucha frecuencia, lo que hace posible el descifrado.
Conclusión
Numando es un troyano bancario latinoamericano escrito en Delphi. Se dirige principalmente a Brasil, más allá de algunas campañas en México y España. Es similar a las otras familias descritas en nuestra serie: usa falsas ventanas superpuestas, contiene funcionalidades de backdoor y utiliza archivos MSI.
Hemos cubierto sus características, métodos de distribución y configuración remota más típicos. Es el único troyano bancario de LATAM escrito en Delphi que utiliza un inyector que no es de Delphi y su formato de configuración remota es único, lo que hace que sean dos factores fiables a la hora de identificar esta familia de malware.
Para cualquier consulta, escríbanos a threatintel@eset.com. Los indicadores de compromiso también pueden encontrarse en nuestro repositorio de GitHub.
Indicadores de Compromiso (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 |
Aplicaciones legítimas utilizadas
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 de MITRE ATT&CK
Nota: esta tabla fue creada utilizando la versión 9 del framework MITRE 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. |