Hace 2 semanas recibimos una muestra en el Laboratorio de Investigación de ESET Latinoamérica que aprovecha los recursos de la máquina infectada para realizar minería de monedas electrónicas. Lo curioso del caso es que este malware utiliza una vieja y conocida técnica como la utilización de comandos en un archivo de procesamiento por lotes, o archivo batch. Nuevamente se observa que en el campo de la informática nada queda olvidado: una técnica utilizada en el pasado puede surgir en un ataque actual.
Los archivos batch son archivos de texto con instrucciones a ejecutar por la computadora: si son abiertos con una aplicación como el Bloc de Notas simplemente se observará texto, a diferencia de un archivo ejecutable en el que la mayoría del contenido resultará inentendible para el ojo humano. Así, la diferencia de un archivo batch con un ejecutable de extensión exe radica en que el batch no ejecuta instrucciones por sí mismo; requiere de otra aplicación que entienda y lleve a cabo esas instrucciones, como el intérprete de comandos de Windows. Luego, un archivo batch es un script para la ejecución de comandos en la consola. Si bien esto era útil en los tiempos en los que se utilizaba la consola para llevar a cabo todas las tareas en Windows, veremos por qué se ha utilizado ahora.
La muestra recibida responde al nombre de Adobe86.exe, haciéndose pasar por un producto legítimo de Adobe para la conexión con bases de datos PostgreSQL. Sin embargo, si se analiza el archivo se verá que almacena otros ejecutables comprimidos:
Efectivamente, al ejecutar la muestra se extraen los archivos en la carpeta "Archivos de Programa" de Windows y se inicia la ejecución de invis.vbs, un script de Visual Basic. Dicho script tiene como único objetivo desencadenar la ejecución de bat.exe. Y éste es el que finalmente escribirá el archivo batch en el disco, realizando acciones no deseadas en el sistema. A continuación se observa el código de bat.bat:
Puede verse que la primer acción maliciosa consiste en matar el proceso legítimo postgre.exe, si el mismo está en ejecución. A continuación, se agrega el script que vimos antes a la clave de registro Run, para que se ejecute en cada inicio de sesión. Esto se hace bajo el nombre de AdobeUpdate, lo cual podría confundirse con un servicio legítimo de actualizaciones de Adobe. Por último, se ejecuta la copia falsa de postgre.exe, que en realidad es un cliente de minería de Primecoin. El nombre de usuario con el que se realiza la conexión se ha ofuscado, pero curiosamente se observa que la contraseña es "123". En definitiva, el objetivo de la amenaza es ese: utilizar poder de cómputo de las víctimas para generar Bitcoins, Litecoins o Namecoins y producir dinero electrónico en Internet.
Esta muestra apareció el 18 de octubre pasado, mismo día en que se creó la detección BAT/CoinMiner.CG en la base de datos de firmas de ESET. Desde ese día, y hasta el día de hoy, seguimos detectando esta misma muestra y otras con pequeñas diferencias. De hecho, hace unos meses se realizó el análisis de Bicololo.A, el malware que se aloja en Latinoamérica y afecta usuarios rusos; esta muestra también contenía un archivo batch para llevar a cabo acciones maliciosas. Entonces se plantea la pregunta, ¿por qué resurge la utilización de archivos de procesamiento por lotes? Una de las razones es por simpleza: la naturaleza sigue el camino más fácil, y los cibercriminales no son la excepción. Un archivo batch puede hacer varias cosas con unas pocas líneas, sin necesidad de aprender un lenguaje de programación. Pero la razón más importante es para evadir las detecciones. Como se dijo antes, un archivo batch no es un ejecutable en sí mismo, sino que las acciones serán llevadas a cabo por la consola de Windows. En este sentido, un archivo batch puede utilizar comandos que ejecuten otras aplicaciones perfectamente legales, como el caso de taskkill.exe, pero con propósitos maliciosos. Allí radica la importancia de contar con una solución de seguridad con capacidad de detección proactiva, que nos proteja en casos como el analizado.
Matías Porolli
Especialista de Awareness & Research