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 completaOperación Liberpy: keyloggers en Latinoaméricapara 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.
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:
Al
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:
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.
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.
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.
Luego 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:
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”.
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.
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”.
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.