Puerta trasera en GNU/Linux

 

El equipo de respuesta a incidentes de seguridad en cómputo UNAM-CERT recibió el reporte sobre un posible archivo ejecutable malicioso para sistemas operativos GNU/Linux.

Si bien es sabido que existe gran cantidad de malware para sistemas operativos Windows, no se debe descartar el desarrollo de malware para GNU/Linux y Mac OS, que aunque son de  menor proporción, no están exentos ante este tipo de amenazas.

 

 

Al usar la herramienta "file" para identificar qué tipo de archivo era la muestra, arrojó como resultado ser un archivo ELF. El tipo de archivo "Executable and Linking Format", es un formato para archivos ejecutables utilizado en sistemas UNIX (Linux, BSD, Solaris, etc.).

La salida del comando también muestra información de ser un ejecutable de 32 bits y  especifica que la forma de almacenamiento en memoria es "Little-endian". Además, fue compilado para la plataforma Intel 80386. Finalmente, indica que está "ligado estáticamente" y que hay un problema en el tamaño de "Section Header".

 

En el análisis de cadenas se puede identificar la palabra "UPX", lo cual es un indicio de que la muestra está empaquetada con la herramienta que lleva el mismo nombre.

 

 

UPX es uno de los muchos empaquetadores que usan los autores de software malicioso para proteger sus ejecutables. Si el autor usó una versión genérica de UPX para proteger su muestra, es posible eliminar el empaquetado usando la misma utilería a través del comando “upx -d”.

 

 

Volviendo a verificar con ayuda del comando "file", el tipo de archivo que es la nueva muestra, se aprecian algunos cambios importantes: ahora se muestra que el ejecutable está ligado dinámicamente, ya no aparece el problema de "Section Header" e informa que no se eliminaron los símbolos y secciones de depuración con la utilería "strip".

Al estar presentes los símbolos y secciones en el archivo ejecutable, se podría extraer información importante en un análisis de cadenas más detallado, pero muchas veces los autores de malware usan el comando "strip" para dificultar la labor del analista de malware.

 

 

En el análisis de cadenas hecho a la muestra desempaquetada, aparece información de un servidor web Apache 1.3.22 que usa el puerto 8008.

 

 

En el listado que genera la utilería "ldd", acerca de las bibliotecas que necesita el programa para su ejecución, se encuentra "libpthread.so.0" que resulta particularmente sospechosa por el posible manejo de hilos en la actividad del malware.

 

 

El tipo de archivos ELF contiene secciones que pueden listarse con la herramienta "readelf" para posteriormente ser inspeccionadas.

 

 

Al realizar el volcado de la sección 14 que corresponde a "datos de solo lectura" se pueden corroborar las cadenas mostradas por el comando "strings".

 

 

Después de realizar el análisis estático se procedió a realizar la ejecución en un entorno controlado.

En cuanto a la actividad de red, el malware abre el puerto local 8008 en modo escucha.

 

 

Tanto de manera local como de manera remota, el malware regresa una terminal personalizada con un mensaje de bienvenida para el atacante, donde se pueden ejecutar comandos para continuar con las acciones maliciosas.

 

 

 

 

Debido al dinamismo en los vectores de infección que presentan los diferentes sistemas operativos para PCs y para móviles, el UNAM-CERT recomienda proteger todos sus equipos con alguna solución antivirus y mantener tanto la versión de sistema operativo, como sus aplicaciones actualizadas.