Un fallo antiguo en Linux abre la puerta a la creación de solicitudes SUDO engañosas y el hurto de contraseñas

Ha salido a la luz una falla en el comando muro del conjunto de herramientas utilidad-linux en sistemas operativos Linux que podría ser explotada por ciberdelincuentes para engañar a usuarios desprevenidos y apoderarse de sus credenciales.

El fallo, identificado como CVE-2024-28085, conocido como WallEscape, se ha encontrado en versiones del paquete datando de hace 11 años hasta la reciente actualización 2.40 lanzada recientemente.

Aunque representa un caso fascinante de cómo un atacante podría engañar a alguien para obtener su contraseña de superusuario, su aplicación práctica sería más plausible en situaciones específicas.

El escenario ideal para un ataque implicaría acceso a un servidor Linux con múltiples usuarios trabajando simultáneamente en terminales, como podría ser en un entorno académico con estudiantes accediendo al sistema para tareas.

El descubridor de WallEscape, el experto en seguridad Skyler Ferrante, describe el fallo como una "neutralización insuficiente de secuencias de escape en muro".

Cómo se explota WallEscape

El comando muro en sistemas Linux se emplea comúnmente para enviar mensajes a todos los usuarios conectados en un mismo sistema, por ejemplo, en un servidor. La vulnerabilidad emerge debido a que no se gestionan adecuadamente las secuencias de escape cuando se insertan mediante argumentos de línea de comandos, permitiendo a un usuario sin privilegios fabricar mensajes de SUDO apócrifos que podrían inducir a otros usuarios a revelar sus contraseñas de superusuario.

Para explotar el fallo, ciertas condiciones deben cumplirse. Ferrante describe que un ataque podría darse si la utilidad "mensaje" está en uso y si el comando muro posee permisos setgid.

Ferrante menciona que esta configuración se da en Ubuntu 22.04 LTS (Jammy Jellyfish) y Debian 12.5 (Bookworm), pero no en CentOS.

Un código demostrativo del ataque WallEscape ha sido publicado como ejemplo de cómo podría proceder un ataque.

Además, Ferrante ofrece ejemplos de cómo se podrían desplegar estos ataques de distintas maneras.

Un caso involucra pasos para fabricar un mensaje de SUDO ficticio en un terminal Gnome con el fin de obtener la contraseña del usuario.

Para ello, un mensaje engañoso de SUDO se crea para el terminal Gnome, diseñado para persuadir al usuario de introducir datos sensibles como si fuesen argumentos en línea de comandos.

Esto requiere manipular el entorno del terminal (color de texto, ocultar la escritura, tiempo de espera) con un script proporcionado a través del comando muro para que parezca una solicitud legítima.

Para descubrir la contraseña, el atacante tendría que revisar el archivo /proc/$pid/cmdline por los argumentos del comando proporcionado, visible para usuarios no privilegiados en varias distribuciones de Linux.

Otra técnica de ataque consiste en cambiar el portapapeles de un usuario a través del uso de secuencias de escape, aunque este método no es efectivo en todos los emuladores de terminal, como Gnome.

"Dado que podemos enviar secuencias de escape a través de muro, si un usuario emplea un terminal compatible con esta secuencia de escape, un atacante puede modificar el portapapeles de la víctima a un texto a su elección", explica Ferrante.

La investigación detalla tanto la manera de preparar la trampa como de ejecutar el ataque para ambos escenarios.

Es importante recordar que la explotación de WallEscape requiere acceso local, limitando su alcance y gravedad.

El problema afecta a usuarios en sistemas compartidos, como servidores dentro de organizaciones.

Se aconseja a los usuarios actualizar a la versión 2.40 de linux-utils para solventar el problema de seguridad. La actualización suele encontrarse disponible a través de los canales estándar de distribución de Linux en el gestor de paquetes, aunque puede haber retrasos.

Los encargados de sistemas pueden tomar medidas inmediatas para prevenir la explotación de CVE-2024-28085 al eliminar los permisos setgid del comando muro o inhabilitando la funcionalidad de mensajes usando el comando mesg y ajustando la opción a 'n'.

¿Nos apoyarás hoy?

Creemos que todos merecen entender el mundo en el que viven. Este conocimiento ayuda a crear mejores ciudadanos, vecinos, amigos y custodios de nuestro planeta. Producir periodismo explicativo y profundamente investigado requiere recursos. Puedes apoyar esta misión haciendo una donación económica a Gelipsis hoy. ¿Te sumarás a nosotros?

Suscríbete para recibir nuestro boletín:

Recent Articles

Related Stories

DEJA UN COMENTARIO

Por favor ingrese su comentario!
Por favor ingrese su nombre aquí