Equipos Linux infectados por Bots

El UNAM-CERT recibió un reporte sobre un archivo supuestamente malicioso para sistemas operativos Linux. De acuerdo con el denunciante, su sistema presentaba bajo rendimiento y comportamiento extraño por lo que se procedió a realizar el análisis de la muestra.

 

Mediante el uso del comando file se observo en la salida  que es un tipo de archivo ELF (Executable and Linking Format), el cual es un formato de archivo para ejecutables en Linux.  La cadena LSB hace referencia al modo de almacenamiento en memoria  en este caso "Litte-Endian". Además se observa que el programa ha sido compilado para la arquitectura Intel 80386.

En primera instancia se procedió a realizar el análisis de cadenas. De esta forma se pudo obtener información importante sobre el comportamiento de la muestra. A continuación se muestran algunas cadenas de texto, las cuales dan pauta a determinar que la muestra se trata de un Bot que intenta establecer comunicación a un canal IRC. Los canales IRC comúnmente son empleados por el malware para que una vez infectado un equipo se reporte a un C&C (Command and Control) a la espera de órdenes y realizar las acciones que este último le indique.

También se encontraron las siguientes cadenas de texto, las cuales parecen ser instrucciones que son ejecutadas por el equipo infectado para unirse y comunicarse  en el  canal IRC.

 

Continuando con el análisis de cadenas se encontró referencia a varios archivos (randsignoff.e,  randaway.e, randkicks.e, randversions.e) como se muestra en la imagen de abajo.  Estos archivos al parecer se encontraban en la misma ruta donde se almacenaba el archivo ejecutable. Sin embargo, el equipo de Respuesta a Incidentes no pudo recuperar dichos archivos, puesto que habían sido eliminados de forma remota.

 

 

Así mismo se encontró la cadena “EnergyMech” y el nombre de dominio del servidor al cual parecía establecer comunicación la muestra de Malware.

 

Posteriormente, se procedió a ejecutar la muestra, lo cual arrojó la salida que se muestra en la siguiente imagen, donde se observa que el archivo analizado corresponde a la Bot IRC EnergyMech versión 1.1 la cual fue compilada en el año 2009. Además intentaba abrir el archivo mech.set, el cual parece ser el archivo de configuración de la muestra maliciosa y como se observa, imprime un mensaje que indica que no pudo abrir dicho archivo.

Se procedió a crear el archivo mech.set con la finalidad de observar el comportamiento del ejecutable una vez que este archivo es accesible por la misma. Dado que el archivo se encontraba vacío, una vez que se volvió a ejecutar la muestra e nos indica que no existe ninguna configuración en el archivo creado.

Para obtener los archivos de configuración se procedió a realizar una búsqueda en Internet. De la página localizada en la cual se aloja  el toolkit, se determinó que el archivo en cuestión se trata de una Bot IRC, la cual ha sido programada en lenguaje C y opera en sistemas operativos UNIX distribuyéndose bajo la licencia GPL.

La página en cuestión está completamente dedicada al desarrollo de esta Bot IRC, se presenta documentación en forma de tutoriales sobre cómo compilar y configurar el software. También, se pueden descargar los archivos necesarios para la correcta operación del malware, por tanto se procedió a descargar el archivo de configuración correspondiente, se renombro a mech.set y se ejecutó nuevamente la muestra. Cabe destacar que las acciones que el malware pudiese llevar a cabo con este archivo de configuración no son necesariamente las mismas que las establecidas por el atacante que infectó equipos legítimos, solo es una prueba de concepto para determinar el alcance de dicha amenaza.

Después de la ejecución se muestra un mensaje, el cual indica que no existe la lista de usuarios que necesita y  con base en dicha corroboración proporciona la instrucción para generar dicha lista. Una vez que se generó el archivo de configuración emech.users  se procedió a ejecutar una vez más la muestra. Ahora que la configuración es la correcta, muestra el siguiente mensaje:

Sin embargo, no se detectó actividad de red en la cual se estableciera  conexión en algún puerto del sistema, aun cuando en el archivo de configuración se especifica el puerto al cual se va a asociar una vez que algún equipo es infectado.

La firma de la muestra maliciosa se muestra a continuación

Se procedió así a buscar la firma de la muestra en el servicio VirusTotal. Los resultados obtenidos muestran que solo un motor antivirus de 46 detecta el archivo ejecutable como malicioso.

Mientras que si se busca el archivo comprimido que se descargó del sitio que distribuye este programa, el sitio de VirusTotal muestra que 6 motores antivirus de 46 lo clasifican como malicioso. Los resultados a continuación:

Debido a que solo se pudo obtener el archivo binario y no los archivos de configuración del equipo infectado, no se pudo determinar los objetivos que tenía el malware. Posiblemente se halla utilizado como una puerta trasera para poder acceder al sistema en el cual se alojaba, esto con la finalidad de extraer información de los equipos infectados.

De acuerdo con algunos reportes ofrecidos por los Antivirus que detectan la muestra de malware, se menciona que generalmente ésta se aloja en los directorios /etc/rc.d y /etc/init.d los cuales contienen los archivos que se ejecutan cuando se inicia el sistema. Por lo cual es importante que periódicamente se revisen estos directorios con la finalidad de detectar cualquier anomalía, cabe señalar que generalmente estos archivos se encuentran antecedidos por un punto (.nombrearchivo) con  lo cual intentan evadir la detección.