Como parte de las constantes investigaciones que realizamos en el Laboratorio de ESET Latinoamérica, hemos logrado desmantelar una botnet dedicada al robo de información que afectaba en el 98% de los casos a usuarios latinoamericanos. Operación Liberpy es una amenaza capaz de capturar eventos del usuario infectado, propagarse de manera efectiva y transparente mediante dispositivos extraíbles y convertir un equipo en “zombi”.

Pueden acceder a la investigación completa Operación Liberpy: keyloggers en Latinoamérica para obtener mucha más información sobre la amenaza, sus detalles técnicos y la forma de protegerse.

Analizamos a Operación Liberpy en profundidad: sus acciones, campañas de propagación y técnicas de persistencia, así como estadísticas de los países afectados. ESET detecta este código malicioso como parte de la familia Python/Liberpy, y nuestros reportes indican que este malware afecta a varios países de América Latina pero principalmente a usuarios de Venezuela.

bots_pais_liberpy

Un keylogger escondido en una falsa aplicación de software

Hace un tiempo recibimos un correo electrónico que parece provenir de la empresa de Courier  “Liberty Express”, lo cual nos llamó la atención. ¿Por qué? La respuesta es simple.

El correo contenía un mensaje que nos invitaba a descargar un software. De antemano, resulta curioso que una empresa de logística sugiera descargar, instalar y utilizar aplicaciones de escritorio para que sus clientes interactúen de alguna forma con la entidad. A continuación les mostraremos el correo por el cual se propagaba el código malicioso:

liberty_expressAl momento de hacer clic en la URL para descargar la aplicación “.../app/Liberty2-0.exe”,  observamos que el enlace no tenía ningún indicio de formar parte del sitio oficial de la compañía; de hecho, ahora, ya no se encuentra disponible.

Análisis dinámico de Python/Liberpy

Procedimos a descargar el archivo en cuestión y realizarle un análisis dinámico. Utilizamos herramientas como Autoruns, Process Explorer y Process Monitor, entre otras, que nos permiten ver en tiempo real si el código malicioso crea, modifica, elimina archivos o cuál es su comportamiento en el equipo. Con Autoruns revisamos las claves de registro que se modificaron o agregaron; en la imagen a continuación, se puede apreciar que la amenaza agregó/creó una clave al inicio del sistema:

1
Process monitor nos brindó información muy valiosa con respecto a todos los eventos en que se vio involucrado el malware, por lo tanto observamos que se creó una carpeta oculta etiquetada “MSDcache” en la unidad principal del equipo. Su contenido se ocultó al cambiar los atributos de la misma, para así evitar que la víctima la localice.

4
Dentro de la carpeta “MSDcache”, se encuentran una copia del malware y otra carpeta con el nombre “system”, creada por la amenaza. Allí se aloja un archivo DLL, (Dynamic-link library) o eso es lo que el malware intentaba hacer creer al usuario. Al momento de analizarlo, corroboramos que no era una DLL, ya que no poseía las características de un archivo de ese tipo.

6

Al abrirlo con un editor de texto, encontramos que la amenaza estaba capturando todo lo que el usuario ingresaba con su mouse y  teclado. A esta característica se la conoce como keylogger.

18Luego de realizar un análisis más profundo sobre esta amenaza, advertimos que se trataba de una serie de scripts en Python compilados con Pyinstalller (herramienta para convertir scripts en un archivo ejecutable, en parte similar a py2exe). Por lo tanto, a través de la decompilación del ejecutable pudimos obtener el código original para así ver qué es lo que realmente intentaba hacer el atacante.

Podemos destacar ciertas partes del código malicioso, que describiremos a continuación:

  • Características de bot:

La amenaza tiene la capacidad de interpretar comandos como “send”, “update” o “download”, haciendo uso del protocolo de transferencia HTTP (Hypertext Transfer Protocol) para enviar y recibir peticiones. Además, realiza conexiones a dos sitios: “hxxp://puchiupload.ddns.net” y “hxxp://puchiupdate.ddns.net”.

  •  Características de gusano:

El código malicioso crea un archivo BAT y se copia así mismo de manera oculta cada vez que un usuario conecta un dispositivo extraíble a un equipo infectado. Este método de propagación resulta muy frecuente hoy en día, ya que tiene una amplia efectividad -así lo hemos visto en amenazas como VBS/Agent.NDH, JS/Bondat y Win32/Dorkbot.

17

  • Características de keylogger:

Ya hablamos anteriormente de esta funcionalidad, pero nos inclinaremos hacia los detalles. Una vez que la amenaza crea el archivo “system.dll” (donde aloja todas las capturas de teclado y mouse), lo carga de información hasta que el tamaño del archivo sea mayor a 100 Kb.

Una vez que esto sucede, el código malicioso hace uso de un esquema de cifrado por bloques al archivo, conocido por el nombre de AES (Advanced Encryption Standard). ¿Por qué el atacante realiza esta acción? Simplemente para evitar que el usuario acceda al archivo que contiene toda la información obtenida del equipo.

Luego es enviado al atacante cada 3.600 segundos, es decir, una hora. A continuación veremos parte del script que utiliza la amenaza para capturar determinados botones del teclado, por ejemplo “números”, “Espacio” y “Enter”.

16

Conclusión

En resumen, la propagación de Liberpy comienza a través de un correo electrónico con una invitación a descargar un software que simula ser legítimo. Cuando el usuario intenta ejecutarlo, infecta al equipo, y comienza su proceso de captura de eventos (teclado y mouse), que envía la información recolectada al atacante. El equipo comprometido se convierte en un zombi formando parte de una botnet y queda a la espera de nuevas instrucciones o comandos.

Siempre hay que ser cuidadosos con este tipo de contenidos, mensajes y correos, ya que utilizan Ingeniería Social para engañar a los usuarios haciéndolos creer que están adquiriendo aplicaciones legítimas de determinadas entidades. Por eso, desde el laboratorio de ESET Latinoamérica recomendamos tener soluciones de seguridad siempre actualizadas, para evitar que este tipo de aplicaciones ingresen en los sistemas.