Introducción
El robo de criptomonedas no es algo nuevo. Por ejemplo, a principios de la década de 2010, la bolsa de bitcoins Mt. Gox sufrió el robo de muchos bitcoins. Más adelante, los operadores del ransomware Coinvault, y otros atacantes, también apuntaban a robar monederos Bitcoin. Desde entonces, el robo de criptomonedas sigue siendo una actividad atractiva para los ciberdelincuentes.
Una adición reciente a este fenómeno es el cargador multietapa DoubleFinger, que instala un malware que roba criptomonedas. DoubleFinger se instala en el equipo objetivo cuando la víctima abre un correo electrónico con un archivo adjunto PIF malicioso que instala la primera etapa del cargador DoubleFinger.
DoubleFinger, primera etapa
La primera etapa es “espexe.exe”, un binario (MS Windows Economical Service Provider Application) modificado, que tiene DialogFunc parchado de tal manera que se ejecuta un shellcode malicioso. Tras resolver las funciones de la API por hash, el shellcode descarga una imagen PNG del sitio Imgur.com. A continuación, el shellcode busca los bytes mágicos (0xea79a5c6) en la imagen descargada para encontrar la carga útil cifrada dentro de la imagen.
Función DialogFunc real (izquierda) y función parchada con shellcode (derecha)
La carga útil cifrada contiene los siguientes archivos:
- un PNG con la carga útil de la cuarta etapa;
- un blob de datos cifrado;
- un binario java.exe legítimo, utilizado para la carga lateral de la DLL;
- el cargador DoubleFinger de la segunda etapa
DoubleFinger, segunda etapa
El shellcode de la segunda etapa se carga al ejecutarse el binario Java legítimo ubicado en el mismo directorio que el shellcode del cargador de la segunda etapa (el archivo se llama msvcr100.dll). Este archivo también es un binario legítimo, pero parchado, con una estructura y funcionalidad similares a las de la primera etapa.
Y, como era de esperarse, el shellcode carga, descifra y ejecuta el shellcode de la tercera etapa.
DoubleFinger, tercera etapa
El shellcode de la tercera etapa difiere mucho del de la primera y la segunda. Por ejemplo, utiliza llamadas de bajo nivel a la API de Windows, carga y mapea ntdll.dll en la memoria del proceso para eludir los hooks establecidos por las soluciones de seguridad.
El siguiente paso es descifrar y ejecutar la carga útil de la cuarta etapa, ubicada en el archivo PNG antes mencionado. A diferencia del archivo PNG descargado, que no muestra una imagen válida, este archivo PNG sí lo hace. Sin embargo, el método de esteganografía utilizado es bastante sencillo, ya que los datos se recuperan a partir de desplazamientos específicos.
El archivo aa.png con la cuarta etapa incrustada
DoubleFinger, cuarta etapa
El shellcode de la cuarta etapa es bastante simple. Encuentra la quinta etapa dentro de sí mismo y utiliza la técnica Process Doppelgänging para ejecutarla.
DoubleFinger, quinta etapa
En la quinta etapa se crea una tarea programada que todos los días, a una hora determinada ejecuta el stealer GreetingGhoul. Al llegar el momento, descarga otro archivo PNG (que en realidad es el binario GreetingGhoul cifrado al que se le ha añadido una cabecera PNG válida), lo descifra y lo ejecuta.
GreetingGhoul y Remcos
GreetingGhoul es un stealer diseñado para robar credenciales relacionadas con criptomonedas. Consta de dos componentes principales, que funcionan juntos:
- Un componente que utiliza MS WebView2 para crear superposiciones en interfaces de monederos de criptomonedas;
- Otro componente que detecta las aplicaciones de monederos de criptomonedas y roba la información confidencial, como frases de recuperación.
Ejemplos de ventanas falsas
Con las billeteras de hardware, un usuario nunca debe poner su frase (seed) de recuperación en la computadora. Un proveedor de billeteras de hardware nunca pedirá eso.
Aparte de GreetingGhoul, también encontramos varias muestras de DoubleFinger que descargaban Remcos, una conocida RAT comercial muy utilizada por los ciberdelincuentes. La hemos visto en ataques selectivos contra empresas y organizaciones.
Víctimas y atribución
En el texto del malware encontramos varios fragmentos en ruso. La primera parte de la URL C2 es “Privetsvoyu”, que es una transliteración dudosa de la palabra rusa “Saludos”. También encontramos una cadena que decía “salamvsembratyamyazadehayustutlokeretodlyagadovveubilinashusferu”. A pesar de la extraña transliteración, se la puede traducir como “Saludos a todos los hermanos, me estoy asfixiando aquí, los lockers son para cabrones, se han metido en nuestra zona de interés”.
Hemos detectado víctimas en Europa, Estados Unidos y América Latina. Esto concuerda con el viejo dicho de que los ciberdelincuentes de los países de la CEI no atacan a ciudadanos rusos. Pero los fragmentos de texto en ruso y el análisis de las víctimas no son suficientes para concluir que quienes están detrás de esta campaña realmente son de los países mencionados.
Conclusión
El análisis de los programas maliciosos DoubleFinger loader y GreetingGhoul revela un alto nivel de sofisticación y habilidad en el desarrollo de software delictivo, similar al de las amenazas persistentes avanzadas (APT). El cargador multietapa estilo shellcode con capacidades de esteganografía, el uso de interfaces COM de Windows para la ejecución sigilosa y la implementación de Process Doppelgänging para la inyección en procesos remotos apuntan a que es un crimeware bien elaborado y complejo. El uso de Microsoft WebView2 runtime para crear interfaces falsificadas de monederos de criptomonedas destaca aún más las avanzadas técnicas empleadas por este malware.
Los informes de inteligencia pueden ser de gran ayuda para protegerse contra estas amenazas. Si quiere estar al día con las últimas TTP utilizadas por los delincuentes o tiene preguntas sobre nuestros informes privados, escríbanos a crimewareintel@kaspersky.com.
IoC
DoubleFinger
a500d9518bfe0b0d1c7f77343cac68d8
dbd0cf87c085150eb0e4a40539390a9a
56acd988653c0e7c4a5f1302e6c3b1c0
16203abd150a709c0629a366393994ea
d9130cb36f23edf90848ffd73bd4e0e0
GreetingGhoul
642f192372a4bd4fb3bfa5bae4f8644c
a9a5f529bf530d0425e6f04cbe508f1e
El escurridizo DoubleFinger carga GreetingGhoul, que tiene en la mira las criptomonedas