Hesperbot: un nuevo troyano bancario avanzado

La siguiente publicación es una traducción y adaptación del post “Hesperbot – A new, Advanced Banking Trojan in the wild” escrito por Robert Lipovsky y publicado en We Live Security.

Recientemente, se descubrió un troyano bancario que afecta a usuarios que utilizan los servicios de banca en línea. Este troyano afectó a usuarios de Turquía, República Checa, Portugal y el Reino Unido. Asimismo, utiliza una campaña de phishing que son muy realistas, tomando como objetivo del mismo a sitios de organizaciones de gran reputación para incrementar la tasa de éxito del código malicioso.

ESET ha realizado una investigación sobre Win32/Spy.Hesperbot. Pueden consultar las publicaciones sobre nuestros colegas de Norte América tituladas Hesperbot Technical Analysis Part 1/2 y Hesperbot Technical Analysis Part 2/2. Asimismo, también ponemos a disposición el whitepaper para su descarga.
¿Cómo se descubrió?

A mediados del mes de Agosto, descubrimos una campaña de propagación de malware en República Checa. En un principio, esta campaña llamó nuestra atención debido a que el malware se encontraba alojado un sitio que supuestamente pertenecía al servicio postal checo.

El análisis de la amenaza reveló que se trataba de un troyano bancario con características y objetivos similares a los ya conocidos Zeus y SpyEye, pero con diferencias a nivel de implementación que sugieren que pertenece a una nueva familia de códigos maliciosos.
Hesperbot es un troyano bancario muy potente que incluye características tales como funcionalidades de keylogging, captura de pantalla y video, posibilidad de establecimiento de un proxy remoto. Además, incluye algunas funcionalidades avanzadas, entre las que se incluye la posibilidad de establecer un servidor VNC remoto en el sistema infectado y la capacidad de interceptar el tráfico de red sobre el sistema de la víctima incluyendo la capacidad de inserción de código HTML.

Cuando se realizaron comparaciones entre la muestra obtenida del sitio en República Checa y nuestros archivos, notamos que ya habíamos detectado genéricamente variantes previas como Win32/Agent.UXO las cuales no solo afectaban a usuarios de República Checa. Instituciones bancarias de Turquía y Portugal también fueron afectadas.

El objetivo de los atacantes es robar las credenciales bancarias de acceso de las potenciales víctimas y lograr que instalen componentes del malware en sus teléfonos con plataformas Symbian, Blackberry o Android.

Campaña

La campaña de propagación del malware en República Checa comenzó el 8 de Agosto del 2013. Los ciberdelincuentes registraron el dominio www.ceskaposta.net, el cual es similar al sitio del servicio postal www.ceskaposta.cz.
registro del sitio



El dominio fue registrado el 7 de agosto del 2013 y el primer binario de Hesperbot distribuido en República Checa fue compilado la mañana del 8 de agosto de 2013 siendo recolectada por nuestro sistema LiveGrid® momentos después.

Los atacantes enviaron el malware a través de correos que contenían información falsa sobre tracking del servicio postal. Este tipo de actividades es común para atraer potenciales víctimas. El nombre del archivo era zasilka.pdf.exe donde “zasilka” significa “correo” en el lenguaje checo. En esta instancia, el correo mostraba el enlace al sitio original, aunque el mismo apuntaba al sitio falso.

El servicio postal checo respondió de forma muy rápida a través de un alerta sobre un scam en su sitio web:



Más allá de que inicialmente las infecciones en República Checa llamaron nuestra atención, el país más afectado fue Turquía donde las primeras detecciones fueron anteriores al 8 de Agosto. Existieron picos recientes en las detecciones debido a cambios en la actividad de la botnet en Turquía durante el mes de Julio del corriente año.

Durante el análisis de las muestras, encontramos que se estaba enviando información de debbuging al panel de control. Claramente, esto es un indicio de que estos códigos maliciosos en particular se encontraban en una etapa temprana de desarrollo. Asimismo, otras investigaciones revelaron que Turquía ha estado enfrentando Hesperbot por algún tiempo.

La campaña de propagación utilizada en Turquía fue de una naturaleza similar a aquella de República Checa. El email que se enviaba a las potenciales víctimas era un supuesto mensaje invoice de TTNET, el ISP más grande de Turquía. Aquí también se utilizó archivos con doble extensión .PDF.EXE. Un análisis de esta campaña fue publicada en el sitio web del Programa Nacional de Seguridad de la información de Turquía.

En un período posterior de nuestra investigación detectamos que los ciberdelincuentes también se enfocaron sobre usuarios de Portugal. En este país, también se utilizó una campaña similar a Turquía, pero empleando el nombre una empresa local.
Durante el transcurso de la investigación, se detectaron algunos componentes adicionales en Hesperbot. La variante detectada como Win32/Spy.Agent.OEC, recolecta direcciones de correo electrónico desde los sistemas infectados y envía esta información desde un servidor remoto. Posiblemente, estos correos electrónicos también fueron utilizados en las campañas de propagación en futuras instancias.

Bancos objetivos y víctimas

Los archivos de configuración utilizados por el módulo para interceptar e inyectar código HTTP especifican cuales son los bancos afectados por cada una de las botnets. En el caso de las botnets en Turquía y Portugal, los archivos de configuración también incluyen inyecciones web, por ejemplo, porciones de código HTML que el troyano inserta en los sitios web de los bancos afectados cuando estos son visitados por la víctima. Este tipo de comportamiento no existía en el caso del código malicioso en su versión checa, posiblemente apelando a las funciones de keylogging.
Inyección de código


Estadísticas
De acuerdo a nuestro sistema LiveGrid® y a los datos relevados en la investigación, estimamos que el número de usuarios que posiblemente sean víctima de Hesperbot alcanza los cientos en Turquía y disminuye en República Checa y Portugal, respectivamente. A continuación pueden observarse las detecciones por país.


La siguiente publicación es una adaptación de los posts “Hesperbot – Technical analysis part 1/2” y “Hesperbot – technical analysis: part 2/2” escritos por Robert Lipovsky y publicado en We Live Security.
Hesperbot como muchas otras familias de malware, tiene una arquitectura modular. A continuación presentaremos un resumen de cómo funcionan los principales módulos que componente este código malicioso.

El primer paso de la infección ocurre cuando el usuario descarga y ejecuta el componente dropper. Este componente tiene como objetivo inyectar el componente principal (core) en el proceso explorer.exe; para lograr descargar y ejecutar módulos adicionales para llevar a cabo las acciones maliciosas.

Este módulo cuenta con varios métodos para inyectar el componente core en el proceso explorer.exe:
Iniciando una nueva instancia del explorer.exe, escribiendo su propio código utilizando WriteProcessMemory.
Inyectándose en el proceso actual usando el mismo procedimiento que PowerLoader y otros códigos maliciosos.
Inyectándose en el proceso utilizando el CreateRemoteThread.

Una vez que este componente ha sido inyectado en el explorer.exe, es el encargado de manejar la comunicación con el C&C, ejecutar los otros módulos, escribir en el registro de Windows en otras funcionalidades.
Para acceder al servidor C&C, Win32/Spy.Hesperbot.A puede utilizar alguna de las URL que están dentro del código o puede generar un dominio utilizando un algoritmo de generación en caso de que el primer servidor no se pueda acceder.
Dentro de la información que envía al C&C se encuentra el nombre del bot, la dirección IP asignada al adaptador de red e información sobre los módulos de Hesperbot ya instalados. En la respuesta del C&C se envía el archivo de configuración, módulos adicionales y actualizaciones propias.

Una característica bien conocida de los troyanos bancarios, y que ya fue vista en otros códigos maliciosos como Zeus y SpyEye es la capacidad que tienen para interceptar y modificar el tráfico HTTP y HTTPS. En este caso la técnica empleada es la conocida como ‘Man-in-the-Browser’, y los módulos que intervienen son nethk, httphk y httpi.
nethk

Este módulo es utilizado para configurar un proxy local, manejar las conexiones que salen desde el navegador y además se encarga de cifrar y descifrar el tráfico HTTPS que pueda pasar a través del mismo.

Configuración de un proxy localPara lograrlo el módulo nethk crea un proxy en un puerto aleatorio en la dirección 127.0.1.1 de tal forma que cuando el navegador trata de conectarse a un sitio web seguro de una entidad financiera, se conecta al proxy creado y hace una llamada al módulo httphk para procesar el tráfico interceptado.

Man-in-the-BrowserLa particularidad de este módulo es que puede manejar tráfico HTTP y HTTPS. Cuando se trata de tráfico HTTP los datos pasan al módulo httphk. Cuando el tráfico es HTTPS, nethk maneja el cifrado de la información.
Cuando la información sale desde el navegador se utiliza un certificado falso para pasarla al proxy y entregar los datos al módulo httphk, a la vez que se cifra con el certificado auténtico y para enviarlo a la página de la entidad financiera. Cuando la información vuelve del servidor del banco, se descifra, se envía a httphk y se utiliza nuevamente el certificado falso para pasarla al navegador.

Este módulo es utilizado para organizar todo el tráfico interceptado en el proxy, analizando las cabeceras HTTP y los datos interceptados para completar una estructura de datos que será accedida por el módulo httpi.
httpi

Este módulo se encarga de hacer las capturas de pantalla, manejar las capturas de video y llamar las inyecciones de acuerdo al archivo de configuración.

Dentro del archivo de configuración se especifican los sitios de los cuales se espera robar la información. De las muestras que fueron analizadas se pudo determinar que solamente se enfocaron en obtener información financiera, omitiendo el robo de otros servicios como redes sociales o correos electrónicos.
Componente para dispositivos móviles
Como ya es común en estas amenazas, este troyano también utiliza un componente para afectar dispositivos móviles (se pudo ver con ZitMo y SpitMo). En este caso, el código malicioso soportaba tres sistemas operativos móviles: Android, Symbian y Blackberry.
Sistemas operativos móviles afectadosEn este análisis se estudiaron las versiones que afectan Symbian y Android, ya que no se pudo acceder a una muestra diseñada para Blackberry. En las versiones para dispositivos móviles el código malicioso busca robar los mensajes enviados por la entidad financiera como segundo factor de autenticación y además obtener el control del sistema a través de mensajes SMS.

Otras funcionalidades

Esta amenaza cuenta además con un módulo keylogger para interceptar lo que ingresa el usuario para ser enviado al servidor C&C. Puede tambipen hacer capturas de pantalla y de video, si es que está especificado en el archivo de configuración.
Tiene una funcionalidad de crear un servidor VNC, tal como lo hace Carberp, buscando obtener acceso remoto a la máquina infectada. En este caso la sesión de VNC que se crea es un escritorio diferente que no es visible para el usuario.
El análisis completo de esta amenaza se encuentra publicado en el artículo Hesperbot. A New, Advanced Banking Trojan in the Wild, donde se detalla el funcionamiento de los módulos mencionados y se especifican las muestras analizadas.

Fuente: EsEt

Comentarios

Entradas populares de este blog

Presuntos narcotraficantes liberados por un ransomware

Metasploit y Windows 10: Creando un payload indetectable (Evadiendo software antivirus)

Actualización de seguridad para VMWare Center