Shikitega: nuevo malware sigiloso dirigido a Linux
Hasta hace poco, en comparación con Windows, los usuarios de Linux teníamos un mito que muchos creían, que en Linux no existían virus y no era susceptible a ataques.
Sin embargo, nuevos datos muestran que las tendencias en ciberataques están cambiando. Según los datos presentados por el equipo de Atlas VPN, la cantidad de malware nuevo para Linux alcanzó un máximo histórico en la primera mitad de 2022, ya que se descubrieron casi 1,7 millones de muestras. Los investigadores dieron a conocer una nueva variedad de malware para Linux que se destaca por su sigilo y sofisticación para infectar servidores tradicionales y pequeños dispositivos de Internet de las cosas.
En comparación con el mismo período del año pasado, cuando se descubrieron 226 324 muestras, la cantidad de malware nuevo para Linux se disparó en casi un 650 %. Al observar la cantidad de nuevas muestras de malware de Linux trimestre a trimestre, en el primer trimestre de este año disminuyó un 2% de 872,165 en el cuarto trimestre de 2021 a 854,688 en el primer trimestre de 2022. En el segundo trimestre, las muestras de malware cayeron de nuevo, esta vez un 2,5%, hasta los 833.059.
Apodado Shikitega por los investigadores de AT&T Alien Labs que lo descubrieron, este malware se distribuye a través de una cadena de infección de varios pasos utilizando codificación polimórfica. También utiliza servicios en la nube legítimos para alojar servidores de comando y control. Estos elementos hacen que la detección sea extremadamente difícil.
“Los actores de amenazas continúan buscando nuevas formas de entregar malware para permanecer bajo el radar y evitar la detección”, escribió el investigador de AT&T Alien Labs, Ofer Caspi. “El malware Shikitega se entrega de una manera sofisticada, utiliza un codificador polimórfico y entrega gradualmente su carga útil donde cada paso revela solo una parte de la carga útil total. Además, el malware abusa de los servicios de alojamiento conocidos para alojar sus servidores de mando y control. »
El malware descarga y ejecuta meterpreter «Mettle» de Metasploit para maximizar su control sobre las máquinas infectadas;
Shikitega explota las vulnerabilidades del sistema para obtener privilegios elevados, persistir y ejecutar crypto miner. El malware utiliza un codificador polimórfico para que sea más difícil de detectar para los motores antivirus. Shikitega abusa de los servicios legítimos de computación en la nube para almacenar algunos de sus servidores de comando y control (C&C).
Es una implementación de código nativo de un Meterpreter, diseñado para portabilidad, capacidad de integración y bajo uso de recursos. Puede funcionar en los objetivos embebidos de Linux más pequeños hasta los más potentes, y se dirige a Android, iOS, macOS, Linux y Windows, pero se puede migrar a casi cualquier entorno compatible con POSIX.
El nuevo malware como BotenaGo y EnemyBot ilustra cómo los autores de malware están integrando rápidamente las vulnerabilidades recién descubiertas para encontrar nuevas víctimas y aumentar su alcance. Shikitega utiliza una cadena de infección de varias capas, la primera de las cuales contiene solo unos pocos cientos de bytes, y cada módulo es responsable de una tarea específica, desde descargar y ejecutar el meterpreter de Metasploit, explotar las vulnerabilidades de Linux, configurar la persistencia en la máquina infectada hasta que un cryptominer se descarga y ejecuta.
El malware es un archivo ELF muy pequeño, cuyo tamaño total es de solo unos 370 bytes, mientras que el tamaño real del código es de unos 300 bytes. El malware utiliza el codificador polimórfico XOR de retroalimentación aditiva Shikata Ga Nai, que es uno de los codificadores más populares utilizados en Metasploit. Con este codificador, el malware pasa por múltiples bucles de decodificación, donde un bucle decodifica la siguiente capa, hasta que se decodifica y ejecuta la carga útil final del código shell.
Después de varios bucles de descifrado, el código de shell de carga útil final se descifrará y ejecutará,dado que el malware no utiliza ninguna importación, utiliza int 0x80 para ejecutar la llamada al sistema adecuada. Como el código principal del dropper es muy pequeño, el malware descargará y ejecutará comandos adicionales desde su mando y control llamando al 102 syscall ( sys_socketcall ).
- El C&C responderá con comandos de shell adicionales para ejecutar.
- Los primeros bytes marcados son los comandos de shell que ejecutará el malware.
- El comando recibido descargará archivos adicionales del servidor que no se almacenarán en el disco duro, sino que se ejecutarán solo en la memoria.
- En otras versiones del malware, utiliza la llamada al sistema execve para ejecutar /bin/sh con el comando recibido del C&C.
El siguiente archivo descargado y ejecutado es un pequeño archivo ELF adicional (alrededor de 1 kB) codificado con el codificador Shikata Ga Nai. El malware descifra un comando de shell que se ejecutará llamando a syscall_execve con ‘/bin/sh’ como parámetro con el shell descifrado. El dropper de la segunda etapa descifra y ejecuta los comandos de shell. El comando de shell ejecutado descargará y ejecutará archivos adicionales. Para ejecutar el dropper de etapa siguiente y final, explotará dos vulnerabilidades en Linux para aprovechar los privilegios: CVE-2021-4034 y CVE- 2021-3493.
Finalmente si estás interesado en poder conocer más al respecto, puedes consultar los detalles en el siguiente enlace.