.NET. Este framework creado por Microsoft brinda algunas facilidades al momento de desarrollar software para las plataformas de Windows; los cibercriminales han tomado ventaja de esta herramienta, que les permite desarrollar códigos maliciosos en lenguajes como C# o VB.NET.
Un ejemplo es el particular keylogger que analizaremos hoy, detectado por las soluciones de ESET como MSIL/Spy.Keylogger.BKP.
Como primera instancia comenzamos con un análisis estático del archivo EXE, por el cual identificamos que se encontraba empaquetado con UPX, un packer para comprimir ejecutables frecuentemente utilizado por los atacantes, aunque es sencillo eliminar esta protección. Como resultado, observamos que la amenaza se encontraba desarrollada en DELPHI y procedimos a ejecutarla en un ambiente controlado y virtual, para experimentar en tiempo real qué intenciones había tras este malware.
Al momento de la infección, la amenaza creó y ejecutó otro archivo EXE, el payload que estaba desarrollado en .NET. A continuación se encuentran las capturas del análisis dinámico, en donde podemos apreciar algunas de las acciones maliciosas, de las cuales destacamos que creó una llave en el registro para asegurar su ejecución en cada inicio de sistema, y también un archivo de texto con el nombre del usuario comprometido.
Luego de abrir el archivo de texto antes mencionado, observamos que las primeras líneas estaban dedicadas a la información del equipo que había logrado infectar. La amenaza tiene la particularidad de extraer algunos datos interesantes, como por ejemplo, el navegador por defecto, la cantidad de memoria RAM y, por último pero no menos importante, determina si el sistema afectado es una PC de escritorio o una portátil. En la siguiente captura se aprecian, en detalle, todos los datos de interés para el atacante y los sucesos que estaban siendo capturados:
Como mencionamos antes, el payload está desarrollada en .NET. Decidimos ir más allá y volcamos la amenaza en un desensamblador de aplicaciones .NET, para analizar más en detalle al keylogger. Hoy en día existen varias herramientas para realizar este tipo de prácticas, en este caso utilizamos DnSpy.
En la siguiente captura podemos observar que en el Main se ejecuta el método Run al cual se le pasa un objeto de la clase Form1 como parámetro:
Al abrir la clase Form1 en el desensamblador, tenemos la posibilidad de apreciar los métodos que esa clase implementa. Existen funciones con nombres bastante descriptivos, como GetActiveWindowTitle, getDefaultBrowser o getShift:
Ingresando en la función Form1_Load, en las primeras líneas de código, podemos ver en texto plano que la amenaza busca en el equipo la presencia de los navegadores más populares:
Continuando con el flujo de ejecución del código malicioso, nos encontramos con la secuencia que podemos observar en la próxima imagen, en donde la amenaza busca los directorios de los navegadores instalados en el equipo y elimina todos los elementos que se encuentran en él. ¿Por qué? Es una forma de forzar a que la víctima, al momento de acceder por ejemplo a redes sociales como Facebook, Twitter o Instagram, deba reingresar sus credenciales para que sean capturadas por el código malicioso.
Por último podemos destacar los tiempos que se establecen para la ejecución de cada segmento del código malicioso. Si prestamos atención en el método Timer4, la función encargada de enviar el archivo con las capturas de los eventos en el equipo al panel de control del atacante, se encuentra establecida en 70.000 milisegundos, lo que equivale a 70 segundos:
En resumen, al finalizar el análisis comprendimos en detalle el objetivo de la amenaza y que los cibercriminales toman ventajas de todo tipo de tecnologías, en este caso, nos encontramos con un archivo protegido con UPX para ocultar información básica del archivo, como por ejemplo, que estaba desarrollada en Delphi, y que además, la amenaza crea en disco otro archivo en .NET.
Observamos cómo con facilidad pueden extraer todo tipo de información como el hardware, software e información de los sitios que se acceden en un equipo infectado. El impacto para el usuario es el robo de su información como cuentas de redes sociales, cuentas de correo o incluso la información de sus tarjetas de crédito al momento de realizar compras en línea.
Fuente: Diego Perez / welivesecurity.com