Dirty Pipe: la nueva vulnerabilidad de escalada de privilegios permite la adquisición completa del dispositivo en Linux y Android a través de e11i0t | marzo de 2022
La vulnerabilidad CVE-2022–0847 fue descubierta por Max Kellermann. Kellermann descubrió una vulnerabilidad de escalada de privilegios que permite a los actores de amenazas en Linux 5.8 y versiones posteriores inyectar código en archivos de solo lectura, entre otras actividades maliciosas. «Dirty Pipe» es una falla de seguridad en la última versión del kernel de Linux. (El kernel es el corazón del sistema operativo y, a menudo, actúa como intermediario entre la aplicación y el hardware real). En resumen, cualquier aplicación que pueda leer archivos en su teléfono/computadora, los permisos que solicitan muchas aplicaciones de Android podrían potencialmente estropear sus archivos o ejecutar código malicioso. En las versiones de escritorio/portátil de Linux, se ha demostrado que obtiene fácilmente derechos de administrador.
En pocas palabras, esta vulnerabilidad podría dar fácilmente a un atacante el control total sobre su dispositivo.
Para los técnicamente inclinados, especialmente aquellos con experiencia en Linux, Kellermann publicado Un artículo interesante sobre cómo se descubrieron por accidente las «tuberías sucias» y la mecánica central de cómo funciona.
Aquí hay una explicación simplificada: como sugiere el nombre de «tuberías sucias», está relacionado con el concepto de Linux de «tuberías», que se utilizan para obtener datos de una aplicación o proceso a otro, y «paginación» de pequeños fragmentos de RAM. En efecto, las aplicaciones pueden manipular las canalizaciones de Linux de forma que inserten sus propios datos en las páginas de memoria.
Al hacer esto, es fácil para un atacante cambiar el contenido del archivo que está tratando de abrir, o incluso tomar el control total de su computadora.
Porque tenemos una idea básica de que las tuberías sucias se pueden usar para escribir en cualquier archivo del sistema. Entonces solo necesitamos escribir en un ejecutable setuid propiedad de la raíz. En pocas palabras, setuid permite que el ejecutable se ejecute como el propietario del archivo en lugar del usuario actual.Ahora usamos el siguiente comando para obtener la lista de programas con el conjunto de bits suid
find / -perm -u=s -type f 2>/dev/null
usa esto ahora desarrollar ¡código, compilado con gcc, ejecutado como usuario con el ejecutable suid y la ruta viola! una cáscara de raíz.
Asegúrese de actualizar su sistema Linux sudo apt update && sudo apt upgrade
y reinicie y vuelva a ejecutar el exploit para asegurarse de que su dispositivo sea seguro (si aún no está actualizado) verifique la versión de su kernel y renovar Operación manual bajo su propio riesgo. A partir de Android, solo ejecute aplicaciones en las que sepa que puede confiar. Además, a corto plazo, debe evitar instalar nuevas aplicaciones si es posible. Si bien estas medidas pueden parecer simples, deberían ayudar a mantener su dispositivo seguro hasta que haya un parche de seguridad disponible.
Descargo de responsabilidad: Use exploits solo en su propio dispositivo. Si lo está probando en algún otro sistema, obtenga permiso de antemano.