El descubrimiento proviene de un equipo de investigadores de la Universidad de Tecnología de Graz que demostraron el ataque a las versiones 5.9 y 6.2 (últu) del kernel de Linux utilizando nueve CVEs existentes en sistemas de 32 bits y 64 bits, lo que indica una alta versatilidad.
Además, el ataque funeó con todas las defensas modernas del núcleo como Supervisor Mode Execution Prevention (SMEP), Supervisor Mode Access Prevention (SMAP) y Kernel Address Space Layout Randomator (KASLR) activa.
SLUBStick será presentado en detalle en la próxima conferencia del Simposio de Seguridad de Usenix a finales de este mes. Los investigadores mostrarán la escalada de privilegios y la fuga de contenedores en el último Linux con defensas de última generación habilitadas.
Mientras tanto, el documento técnico publicado contiene todos los detalles sobre el ataque y los escenarios de explotación potenciales.
Detalles de SLUBStick
Una forma en que el núcleo de Linux gestiona la memoria de manera eficiente y segura es mediante la asignación y deslocalización de trozos de memoria, llamados "labas", para diferentes tipos de estructuras de datos.
Las fallas en este proceso de gestión de la memoria pueden permitir a los atacantes corromper o manipular estructuras de datos, llamadas ataques cruzados. Sin embargo, estos son efectivos aproximadamente el 40% del tiempo y típicamente conducen a fallos del sistema tarde o temprano.
SLUBStick explota una vulnerabilidad de monto, como una doble gratuita, sin usar, o fuera de los límites, para manipular el proceso de asignación de memoria.
A continuación, utiliza un canal lateral de sincronización para determinar el momento exacto de asignación/deasignación de trozos de memoria, permitiendo al atacante predecir y controlar la reutilización de la memoria.
El uso de esta información de tiempo eleva el éxito de la explotación del cambio cruzado al 99%, haciendo que SLUBStick sea muy práctico.
La conversión del defecto del montón en lectura arbitraria de la memoria primitiva se hace en tres pasos:
- Gratis trozos de memoria específicos y esperar a que el núcleo los reutilre.
- Realice estos trozos de una manera controlada, asegurando que se reutilizan para estructuras de datos críticas como tablas de páginas.
- Una vez recuperado, el atacante sobrescribe las entradas de la tabla de página, obteniendo la capacidad de leer y escribir cualquier ubicación de memoria.
Impacto en el mundo real
Como con la mayoría de los ataques que involucran un canal lateral, SLUBStick requiere acceso local en la máquina de destino con capacidades de ejecución de código. Además, el ataque requiere la presencia de una vulnerabilidad de montón en el núcleo de Linux, que luego se utilizará para obtener acceso de lectura y escritura a la memoria.
Si bien esto puede hacer que el ataque parezca poco práctico, sí introduce algunos beneficios a los atacantes.
Incluso para los atacantes con capacidades de ejecución de código, SLUBStick proporciona la capacidad de lograr la escalada de privilegios, eludir las defensas del núcleo, realizar fugas de contenedores o utilizarlo como parte de una compleja cadena de ataque.
La escalada de privilegios se puede utilizar para elevar los privilegios a root, permitiendo operaciones ilimitadas, mientras que la fuga de contenedores se puede utilizar para romper entornos de arena y acceder al sistema host.
Además, en la fase post-explotación, SLUBStick podría modificar estructuras de núcleo o ganchos para mantener la persistencia, haciendo más difícil detectar el malware para los defensores.
Aquellos que quieran sumérgete más profundamente en SLUBStick y experimentar con las hazañas utilizadas por los investigadores de la Universidad de Graz pueden encontrarlas en el repositorio de GitHub del investigador.
Fuente: https://www.bleepingcomputer.com/
No olvides Compartir...
0 Comentarios