Tatanga: un nuevo troyano bancario con funcionalidades de MitB

Hace un par de semanas nuestra unidad de e-crime detectó un nuevo troyano bancario, bautizado con el nombre de Tatanga, con funciones de Man in the Browser (MitB) y que afectaba a bancos de España, Reino Unido, Alemania y Portugal. Al igual que SpyEye, es capaz de realizar transferencias de forma automática, obteniendo previamente los muleros de un servidor, y de falsear el saldo real y los movimientos de las víctimas. Su detección en aquel momento era muy baja y además se trataba de detecciones genéricas. Tras anunciar el descubrimiento en nuestro blog en inglés la detección aumentó, aunque la nomenclatura es bastante dispar.

El troyano en cuestión es bastante sofisticado. Está escrito en C++ y usa técnicas de ocultación para evitar que sus archivos en disco sean detectados, aunque en ocasiones estos quedan al descubierto. Descarga varios módulos cifrados (DLL) que son descifrados en memoria cuando se produce la inyección en navegadores u otros procesos con el objetivo de evitar la detección de los antivirus. Los módulos son los siguientes:

  • ModEmailGrabber: se encarga de recolectar direcciones de correo electrónico.
  • Coredb: su función es gestionar el archivo de configuración. Éste está cifrado con el algoritmo 3DES.
  • Comm Support Library: este módulo implementa el cifrado de la comunicación entre el troyano y el panel de control.
  • File Patcher: la función de este módulo no está clara todavía. Se sospecha que se encarga de la propagación del código malicioso infectando archivos ejecutables, multimedia y comprimidos.
  • ModMalwareRemover: se utiliza para la eliminación de otras familias de malware, incluyendo las últimas versiones de ZeuS.
  • ModBlockAVTraffic: se encarga de bloquear el software antivirus instalado en el sistema.
  • ModDynamicInjection: como el nombre indica, su labor es realizar las inyecciones de código.

Los nombres de módulos ModEmailGrabber y ModMalwareRemover parece que fueron usados en un malware en 2008, por lo que Tatanga podría ser la evolución de un código malicioso ya existente.

Como otros troyanos bancarios hace uso de un archivo de configuración cifrado. Este archivo tiene formato XML y contiene un elemento type para cada país afectado. El código inyectado está codificado y tiene la siguiente sintaxis:

^^url_monitorizada1~~url_monitorizada2||código_a_reemplazar_en_página_legítima||código_inyectado

Dependiendo del banco objetivo, el troyano puede recolectar las credenciales de forma pasiva o pedir al usuario credenciales adicionales para realizar la transferencia fraudulenta en la sesión del usuario. En algunos casos estas credenciales incluyen la clave OTP móvil, que logran obtener gracias a ingeniería social en sus inyecciones:


Dentro del código del troyano se encuentran “hardcodeados” siete dominios comprometidos que actúan como proxys del verdadero panel de control. Sus funciones van desde la notificación de nuevas infecciones hasta la obtención de números de cuenta de muleros. El formato de las URLs es el siguiente:

http://hacked_site.com/com/m.php?f=module.dll
http://hacked_site.com/com/c.php
http://hacked_site.com/com/d.php
http://control_panel/srvpnl/upload/module.dll

Este código malicioso afecta a nueve navegadores, cubriendo así casi todos los usuarios de Windows:

  • Internet Explorer
  • Mozilla Firefox
  • Google Chrome
  • Opera
  • Minefield
  • Maxthon
  • Netscape
  • Safari
  • Konqueror

Algunas funcionalidades adicionales son las siguientes:

  • Soporte 64 bits: se inyecta en el proceso explorer.exe en sistemas de 32 bits y se ejecuta como un proceso normal en sistemas de 64 bits.
  • Técnicas anti-debugging y anti-VM.
  • Volcado del código HTML de las aplicaciones de banca electrónica y envío al servidor de control, seguramente para incorporar nuevas inyecciones o mejorar las existentes.
  • Débil algoritmo de cifrado en las comunicaciones con el panel de control, basado en operaciones XOR.
  • Acepta comandos desde el panel de control como, por ejemplo: modinfo, softstat, cmd, stopos, startos, reboot, winkill, die, instsoft, proclist, clearcookies, setlevel, kill.
  • Incluye funciones para evitar la descarga de Trusteer Rapport, software de detección de malware que bloquea las posibles inyecciones de troyanos en el navegador.

Algo que es interesante remarcar es que hemos visto muchos comentarios y funciones de test en el código, lo que puede llevar a pensar que se trata del comienzo de un nuevo troyano que está en fase beta antes de propagarse realmente. Informaremos de los avances de este nuevo actor, ¡estad atentos!
 

Nota: Publicado originalmente en el blog de S21sec