Nuevo malware para Linux elude la detección mediante un despliegue en varias fases
Se ha descubierto un nuevo malware sigiloso para Linux conocido como Shikitega que infecta ordenadores y dispositivos IoT a través de una serie de payloads.
El malware hace uso de vulnerabilidades para elevar sus privilegios, añade persistencia en el host a través de crontab, y finalmente lanza un crypto-miner en los dispositivos infectados.
Shikitega es bastante sigiloso, logrando evadir la detección de los antivirus mediante un codificador polimórfico que hace imposible la detección estática basada en firmas digitales.
Aunque por el momento se desconoce el método de infección inicial, los investigadores de AT&T que descubrieron Shikitega afirman que el malware utiliza una cadena de infección de varios pasos en la que cada capa carga sólo unos cientos de bytes, activando un módulo simple y pasando al siguiente.
«El malware Shiketega se entrega de forma sofisticada, utiliza un codificador polimórfico y entrega gradualmente su carga útil donde cada paso revela sólo una parte de la carga útil total»
Explicación del informe de AT&T.
La infección comienza con un archivo ELF de 370 bytes, que es el que contiene el shellcode codificado.
La codificación se realiza utilizando el codificador polimórfico XOR de retroalimentación aditiva ‘Shikata Ga Nai‘, analizado previamente por Mandiant.
«Usando el codificador, el malware se ejecuta a través de varios bucles de decodificación, donde cada bucle decodifica la siguiente capa hasta que la carga útil final del shellcode es decodificada y ejecutada», continúa el informe.
«El resultado del codificador se genera basándose en la sustitución dinámica de instrucciones y el ordenamiento dinámico de bloques. Además, los registros se seleccionan dinámicamente».
Una vez de ha desencriptado, el shellcode se ejecuta contactando con los servidores de Comand and Control (C2) desde los que descarga más shellcode que será ejecutado directamente en memoria.
Uno de estos comandos descarga y ejecuta ‘Mettle’, un payload de Metasploit que permite el control remoto y ejecución de comandos por parte del atacante.
Mettle recoge un archivo ELF aún más pequeño que hace uso de las vulnerabilidades CVE-2021-4034 (PwnKit) y CVE-2021-3493 para realizar un escalado de privilegios y descargar la última fase del payload, un minero de crypto, y lo ejecuta desde el usuario root.
La persistencia para el crypto-miner se consigue descargando cinco sripts que añaden cuatro cronjobs, dos para el usuario root y otras dos para el usuario desde el que se realiza la infección inicialmente.
Nombre del script | Detalles |
unix.sh | Comprueba si el comando «crontab» existe en el sistema, si no es el caso lo installa y lanza el servicio de crontab |
brict.sh | Añade una entrada en crontab con el usuario actual para ejecutar el minero |
politrict.sh | Añade una entrada en crontab como root para ejecutar el minero |
truct.sh | Añade una entrada a crontab con el usuario actual para descargar y configurar el minero desde el servidor C2 |
restrict.sh | Añade una entrada a crontab como root para descargar y configurar el minero desde el servidor C2 |
Los cinco scripts y la descripción de sus funciones (AT&T)
El uso de crontab es una forma muy eficiente de persistencia, así que todos los archivos descargados se eliminan posteriormente para evitar que se detecte el malware.
El crypto-miner usado es XMRig versión 6.17.0, que se centra en minar Monero, una criptomoneda orientada al anonimato y la intrazabilidad.
Para reducir más aún la probabilidad de que el malware sea detectado, el equipo de Shikitega usa servidores cloud legítimos para alojar su infraestructura de Command and Control (C2).
Esta elección supone un mayor deembolso y pone a los operadores en riesgo de ser perseguidos e identificados por las fuerzas del orden pero ofrece más discreción de cara a los dispositivos comprometidos.
El equipo de AT&T denuncia un aumento en la cantidad de malware orientado a Linux este año, previniendo a los adminstradores de sistemas para que se aseguren de mantener las actualizaciones de seguridad al día, usar EDR en todos los endpoints, y realizar copias de seguridad regularmente.