
Fidelis Network and Deception - Escalada de privilegios por permisos de archivos inseguros
El exploit fue aprobado para su publicación pública por el Gobierno de los Estados Unidos. Agradecimientos especiales a los militares y enlaces gubernamentales encargados de aprobar la documentación para su distribución ilimitada. Consulte los siguientes números OTR:
Fecha: 20220516 0123H UTC
Autor del exploit: Henry Reed, The Aerospace Corporation
Sitio web del proveedor: https://fidelissecurity.com/
Versiones afectadas:
Probado en:
CVE: CVE-2022-0997
Descripción del CVE: Los permisos de archivo incorrectos en los componentes CommandPost, Collector y Sensor de Fidelis Network and Deception permiten a un atacante con acceso local y administrativo a la CLI modificar archivos de script afectados, lo que podría resultar en la ejecución de comandos arbitrarios como root tras un inicio de sesión posterior por parte de un usuario root. La vulnerabilidad está presente en versiones de Fidelis Network and Deception anteriores a 9.4.5. Hay parches y actualizaciones disponibles para solucionar esta vulnerabilidad.
Los scripts en el directorio /etc/profile.d/ se ejecutan al iniciar sesión. El usuario fidelis es propietario del script login.sh, lo que permite que el usuario fidelis modifique el archivo arbitrariamente. Tras un inicio de sesión posterior por parte de un usuario root, este script se ejecuta, permitiendo a un adversario obtener ejecución de código arbitrario como root.
Se recomienda que los usuarios afectados de Fidelis Deception o Fidelis Network actualicen su software para solucionar esta vulnerabilidad. También se recomienda a todos los usuarios, independientemente de si se vieron afectados por esta vulnerabilidad, que deshabiliten el acceso de shell a sus productos Fidelis después de la configuración inicial.
Si, por alguna razón, ninguna de estas opciones es posible, en este documento se describe una mitigación para el archivo vulnerable. Según las pruebas realizadas por el autor, parece que los usuarios deberán utilizar la vulnerabilidad para escalar privilegios antes de poder aplicar las mitigaciones descritas, por lo que se recomienda encarecidamente actualizar Fidelis y deshabilitar SSH.
Probado en:
Los permisos de propiedad mal configurados en /etc/profile.d/login.sh permiten al usuario fidelis escalar privilegios equivalentes al usuario root en múltiples productos Fidelis. Los scripts en /etc/profile.d se ejecutan cada vez que un usuario abre un shell. El archivo es propiedad del usuario fidelis, lo que permite a dicho usuario modificar el script arbitrariamente y, cuando el usuario root inicia sesión, ejecutar código arbitrario, como una shell inversa.
$ vim /etc/profile.d/login.sh
La vulnerabilidad se descubrió por primera vez usando LinPEAS, un script de enumeración de escalada de privilegios en Linux:

Observe el texto resaltado en rojo: "Tienes permisos de escritura sobre /etc/profile.d/login.sh". La salida resaltada en rojo indica alta confianza en que el exploit funciona.
Cada categoría potencial de exploits revelada por LinPEAS va acompañada de un enlace a una guía en nook.hacktricks.xyz que explica cómo explotar la vulnerabilidad. Tras una lectura rápida, se decidió que una shell inversa mediante Python2 sería la forma más fácil de explotar esta vulnerabilidad; sin embargo, también se podría haber utilizado cualquier otro código. El nuevo código comienza en la sentencia if if [[ $(whoami) = root ]]:

Después de agregar la shell inversa a login.sh, simulamos un inicio de sesión root iniciando sesión manualmente como ese usuario. Tenga en cuenta que en el mundo real, el atacante tendría que esperar a que un administrador inicie sesión manualmente como usuario root.

El atacante obtiene entonces una shell inversa como root:

Cambiar los propietarios de usuario y grupo de /etc/profile.d/login.sh a root:root y permitir únicamente permisos de lectura y ejecución a la categoría "otros" de usuarios en /etc/profile.d/login.sh mitigaría esta vulnerabilidad:
