Tienda Wifi

Tienda Wifi
CiudadWireless es la tienda Wifi recomendada por elhacker.NET

Entradas Mensuales

Síguenos en:

Canal Oficial Telegram de elhacker.NET Grupo Facebook elhacker.NET Twitter elhacker.NET Canal Youtube elhacker.NET Comunidad Steam: Grupo elhacker.NET Mastodon

Entradas populares

PostHeaderIcon Microsoft descubre vulnerabilidades de escalada de privilegios en Linux


 Microsoft ha descubierto varias vulnerabilidades, denominadas colectivamente Nimbuspwn, que podrían permitir a un atacante elevar los privilegios a root en muchos puntos finales de escritorio de Linux. Las vulnerabilidades se pueden encadenar para obtener privilegios de raíz en los sistemas Linux

 

 




Nimbuspwn, una vulnerabilidad en networkd-dispatcher que permite ejecutar comandos como root

Networkd-dispatcher es utilizado por muchas distribuciones de Linux, incluido Ubuntu, que utiliza el proceso de fondo systemd-networkd para configurar los ajustes de red y realiza funciones similares a NetworkManager-dispatcher, es decir, se ocupa de la ejecución de scripts cuando cambia el estado de la conexión de red, por ejemplo, se utiliza para iniciar una VPN después de establecer la conexión de red principal.

Identificados como CVE-2022-29799 y CVE-2022-29800, los problemas de seguridad de Nimbuspwn se descubrieron en despachador en redun componente que envía cambios de estado de conexión en máquinas Linux.

El descubrimiento de las vulnerabilidades comenzó con "escuchar mensajes en el bus del sistema", lo que llevó a los investigadores a revisar el flujo de código para despachador en red.

Microsoft ha descubierto varias vulnerabilidades, denominadas colectivamente Nimbuspwn, que podrían permitir a un atacante elevar los privilegios a root en muchos puntos finales de escritorio de Linux. Las vulnerabilidades se pueden encadenar para obtener privilegios de raíz en los sistemas Linux, lo que permite a los atacantes implementar cargas útiles, como una puerta trasera raíz, y realizar otras acciones maliciosas a través de la ejecución arbitraria de código raíz. Además, las vulnerabilidades de Nimbuspwn podrían aprovecharse potencialmente como un vector para el acceso a la raíz por parte de amenazas más sofisticadas, como malware o ransomware, para lograr un mayor impacto en los dispositivos vulnerables.

Descubrimos las vulnerabilidades al escuchar mensajes en System Bus mientras realizamos revisiones de código y análisis dinámicos en servicios que se ejecutan como raíz, y notamos un patrón extraño en una unidad systemd llamada networkd-dispatcher.

El proceso en segundo plano asociado con networkd-dispatcher se ejecuta como root y escucha eventos a través del D-Bus. El servicio systemd-networkd envía información sobre eventos relacionados con el cambio de estado de las conexiones de red. El problema es que los usuarios sin privilegios pueden generar un evento de estado inexistente e iniciar la ejecución de su script, que se ejecutará como root.

Systemd-networkd está diseñado para ejecutar solo secuencias de comandos del controlador del sistema ubicadas en el directorio /etc/networkd-dispatcher y no reemplazable por el usuario, pero debido a una vulnerabilidad (CVE-2022-29799) era posible que el código de manejo de la ruta del archivo se apagara del directorio base de los límites y ejecutar scripts arbitrarios.

En particular, al formar la ruta del archivo al script, se utilizaron los valores OperationalState y AdministrationState transmitidos a través de D-Bus, en los que no se borraron los caracteres especiales. Un atacante podría generar su propio estado con los caracteres «../» en el nombre y redirigir la llamada networkd-dispatcher a otro directorio.


La segunda vulnerabilidad (CVE-2022-29800) está relacionada con una condición de carrera: entre la verificación de los parámetros del script (pertenecientes a root) y su ejecución, hubo un breve período de tiempo, suficiente para reemplazar el archivo y omitir la verificación del script propiedad del usuario root. Además, networkd-dispatcher no verificó los enlaces simbólicos, incluso al ejecutar scripts a través de la llamada subprocess.Popen, lo que simplificó enormemente la organización del ataque.

Se crea el directorio «/tmp/nimbuspwn» y se crea un enlace simbólico «/tmp/nimbuspwn/poc.d» que apunta al directorio «/sbin» que se usa para pasar una verificación de archivos ejecutables propiedad de root.

Para los archivos ejecutables de «/sbin», los archivos con el mismo nombre se crean en el directorio «/tmp/nimbuspwn», por ejemplo, para el archivo «/sbin/vgs», un archivo ejecutable «/tmp/nimbuspwn/vgs» se crea, propiedad de un usuario sin privilegios, en el que se pone el código que el atacante quiere ejecutar.

Se envía una señal D-Bus al proceso networkd-dispatcher con OperationalState establecido en «../../../tmp/nimbuspwn/poc». Para enviar una señal en el espacio de nombres «org.freedesktop.network1», se usó la capacidad de conectar sus controladores a systemd-networkd, por ejemplo, mediante manipulaciones con gpgv o epmd, o puede usar el hecho de que systemd-networkd no es ejecutándose de forma predeterminada (por ejemplo, en Linux mint).

Al recibir la señal, Networkd-dispatcher crea una lista de archivos ejecutables propiedad del usuario raíz y disponibles en el directorio «/etc/networkd-dispatcher/../../../tmp/nimbuspwn/poc.d», que en realidad se refiere a «/sbin».

En el momento en que se recibe la lista de archivos, pero aún no se ha ejecutado el script, el enlace simbólico se redirige de «/tmp/nimbuspwn/poc.d» a «/tmp/nimbuspwn» y networkd-dispatcher se ejecutará como raíz. script colocado por el atacante.

El problema se solucionó en el lanzamiento de networkd-dispatcher 2.2, aunque no hay información sobre la publicación de actualizaciones por distribuciones.

Antecedentes – D-Bus 

D-Bus (abreviatura de “Desktop-Bus”) es un mecanismo de canal de comunicación entre procesos (IPC) desarrollado por el freedesktop.org . D-Bus es un bus de software y permite que los procesos en el mismo punto final se comuniquen transmitiendo mensajes y respondiendo a ellos. 

Una descripción general de los pasos para una explotación exitosa se captura en la siguiente imagen, que cubre tres etapas del ataque:


Es posible aprovechar Nimbuspwn con éxito cuando el código de explotación puede poseer un nombre de bus bajo un servicio o proceso privilegiado.

El investigador dice que hay muchos entornos donde esto es posible, incluido Linux Mint donde "el servicio systemd-networkd que normalmente posee el" org.freedesktop.Network1 " [used in the research] El nombre del bus no comienza en el arranque de forma predeterminada.

Además, Bar Or encontró "procesos adicionales que se ejecutan como usuario de systemd-network" que ejecutan código arbitrario desde ubicaciones de escritura mundial: por ejemplo, varios complementos gpgv (que se inician cuando se instala o actualiza apt-get), el Erlang Port Mapper Daemon (epmd) que permite ejecutar código arbitrario en algunos escenarios.



 Fuentes:


0 comentarios :

Publicar un comentario

Los comentarios pueden ser revisados en cualquier momento por los moderadores.

Serán publicados aquellos que cumplan las siguientes condiciones:
- Comentario acorde al contenido del post.
- Prohibido mensajes de tipo SPAM.
- Evite incluir links innecesarios en su comentario.
- Contenidos ofensivos, amenazas e insultos no serán permitidos.

Debe saber que los comentarios de los lectores no reflejan necesariamente la opinión del STAFF.