Como muchos de ustedes sabrán el proceso de divulgación de una vulnerabilidad tiende a ofrecer un tiempo de gracia para que los desarrolladores tengan un periodo para poder solucionar dicho fallo y lanzar versiones correctivas o parches. En la mayoría de los casos antes de que la vulnerabilidad sea divulgada, los fallos son corregidos, pero no siempre es asi y la información asi como los xplotis preparados son dados a conocer al público.
El tema sobre el llegar hasta este punto, es que no es la primera vez que se da a conocer que un ‘xploit’ de una vulnerabilidad resulta con un ‘premio oculto’, ya que, a mediados de junio, se informó sobre una vulnerabilidad (catalogada bajo CVE-2023-35829) en el módulo del kernel de Linux rkvdec.
En este caso, el PoC es un lobo con piel de oveja, que alberga intenciones maliciosas bajo la apariencia de una herramienta de aprendizaje inofensiva. Su puerta trasera oculta presenta una amenaza sigilosa y persistente. Operando como un descargador, descarga y ejecuta silenciosamente un script bash de Linux, mientras disfraza sus operaciones como un proceso a nivel de kernel.
Su metodología de persistencia es bastante astuta. Utilizado para construir ejecutables a partir de archivos de código fuente, aprovecha el comando make para crear un archivo kworker y agrega su ruta de archivo al archivo bashrc, lo que permite que el malware opere continuamente dentro del sistema de la víctima.
La vulnerabilidad detectada conduce al acceso a un área de memoria después de liberarla debido a una condición de carrera en la descarga del controlador. Se supuso que el problema se limitaba a una llamada de denegación de servicio, pero recientemente, en algunas comunidades en Telegram y Twitter, apareció información de que la vulnerabilidad puede ser utilizada para obtener derechos de root por un usuario sin privilegios.
Para demostrar esto, se dieron a conocer como evidencia, dos prototipos funcionales de xploits los cuales fueron publicados en Github y posteriormente eliminados, debido a que se encontraron backdoors en ellos.
Un análisis de los exploits publicados mostró que contienen un código malicioso que instala malware en Linux, ya que configuran un backdoor para el inicio de sesión remoto y envía algunos archivos a los atacantes.
El exploit malicioso solo simulaba obtener acceso root al mostrar mensajes de diagnóstico sobre el progreso del ataque, crear un espacio de identificador de usuario separado con su propio usuario root y ejecutar el shell /bin/bash en un entorno aislado del principal que creaba la impresión de tener acceso de root al ejecutar utilidades como whoami.
El código malicioso se activó llamando al archivo ejecutable aclocal.m4 desde el script de compilación Makefile (los investigadores que descubrieron el código malicioso se alarmaron por el hecho de que al compilar el exploit, se llama un archivo ejecutable en formato ELF como script autoconf) . Después de iniciar, el ejecutable este crea un archivo en el sistema que añade a ‘~/.bashrc’ para el inicio automático.
De esta manera, el proceso cambia de nombre lo que sugiere que el usuario no lo notaría en la lista de procesos en el contexto de la abundancia de procesos kworker en el kernel de Linux.
El proceso de kworker luego descargaría un script bash de un servidor externo y lo ejecutaría en el sistema. A su vez, el script descargado añade una clave para conectar a los intrusos a través de SSH, y que ademas guarda un archivo con el contenido del directorio de inicio del usuario y algunos archivos del sistema, como /etc/passwd, en el servicio de almacenamiento transfer.sh, luego de lo cual se envia como un enlace al archivo guardado al servidor atacante.
Finalmente cabe mencionar que si eres un entusiasta que le gusta probar los xploits o las vulnerabilidades que se dan a conocer, tomes tus precauciones y que nunca está de más, realizar estas pruebas en un entorno aislado (VM) o en otro sistema/equipo secundario que sea específico para esto. Si estás interesado en poder conocer más al respecto, puedes consultar los detalles en el siguiente enlace.