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
CVE-2024-47176-Scanner — Ein einfacher Scanner zur Identifizierung anfälliger cups-browsed-Instanzen in Ihrem Netzwerk | Kitploit
Tools/GitHubGitHub/malwaretech/cve-2024-47176-scanner
AufklärungSchwachstellenscannerExploitationInformationsbeschaffungNetzwerksicherheitPenetrationstests
GitHubmalwaretech/cve-2024-47176-scanner

CVE-2024-47176-Scanner

Ein einfacher Scanner zur Identifizierung anfälliger cups-browsed-Instanzen in Ihrem Netzwerk

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen
Repository anzeigen
6613vor 1 JahrVon Kitploit geprüft

Schnellstart

Beispielnutzung: python3 cups_scanner.py --targets 10.0.0.0/24 --callback 10.0.0.1:1337

CVE-2024-47176 Schwachstellen-Scanner (cups-browsed)

Was ist CUPS und warum ist es wichtig?

CUPS (Common Unix Printing System) ist ein Open-Source-Framework zur Verwaltung und Steuerung von Druckern auf UNIX- und UNIX-ähnlichen Systemen. Es ist eine der am häufigsten verwendeten Bibliotheken für das Drucken und wird von UNIX, Linux und einigen Apple-Geräten unterstützt.

Mehrere kritische Schwachstellen wurden in CUPS gefunden, die aneinandergereiht zu Remote-Code-Ausführung führen können. Die betreffenden CVEs sind CVE-2024-47176, CVE-2024-47076, CVE-2024-47175, CVE-2024-47177.

Die Schwachstellen erlauben es einem entfernten Angreifer, Netzwerkdrucker so hinzuzufügen oder neu zu konfigurieren, dass sie beliebigen Code ausführen, wenn Benutzer versuchen, von ihnen zu drucken.

Scannen nach anfälligen CUPS-Systemen

Ein kurzer Überblick über CVE-2024-47176

Die erste Schwachstelle in der Kette, CVE-2024-47176, ist ein Fehler im cups-browsed-Daemon.

Die Schwachstelle ergibt sich daraus, dass cups-browsed seinen Kontrollport (UDP-Port 631) an INADDR_ANY bindet und ihn so der Welt aussetzt. Da Anforderungen nicht authentifiziert werden, kann jeder, der den Kontrollport erreichen kann, cups-browsed anweisen, eine Druckersuche durchzuführen.

In Fällen, in denen der Port vom Internet aus nicht erreichbar ist (aufgrund von Firewalls oder NAT), kann er dennoch über das lokale Netzwerk erreichbar sein, was Privilege Escalation und laterale Bewegung ermöglicht. Aus diesem Grund habe ich diesen Scanner erstellt, der Ihr lokales Netzwerk nach anfälligen cups-browsed-Instanzen durchsucht.

Wie das Scannen von CVE-2024-47176 funktioniert

Typischerweise würde ein Angreifer den Ausnutzungsprozess beginnen, indem er eine speziell präparierte Anfrage an cups-browsed auf UDP-Port 631 sendet, die dazu führt, dass es eine bösartige URL unter seiner Kontrolle kontaktiert.

Zum Beispiel würde ein UDP-Paket mit folgendem Inhalt: 0 3 http://<attacker_server>/printers/malicious_printer cups-browsed dazu veranlassen, eine HTTP-Anfrage an http://<attacker_server>/printers/malicious_printer zu senden.

Wenn die URL als bösartiger Drucker auftreten würde, könnte sie die restlichen CVEs verketten, um Remote-Code-Ausführung zu erlangen.

Mit diesem Mechanismus können wir eine anfällige cups-browsed-Instanz auslösen, eine HTTP-Anfrage (Callback) an unseren eigenen Server zu senden und sich so selbst als anfällig zu identifizieren.

Der Scanvorgang ist wie folgt:

  1. Richten Sie einen einfachen HTTP-Server ein (es ist nicht nötig, sich als Drucker zu identifizieren, da wir die RCE-Sicherheitslücke nicht ausnutzen werden).
  2. Erstellen Sie ein UDP-Paket, das cups-browsed anweist, sich mit unserem HTTP-Server zu verbinden.
  3. Senden Sie das UDP-Paket an jede IP in einem bestimmten Bereich auf Port 631.
  4. Protokollieren Sie alle POST-Anfragen an den Endpunkt /printers/, die von anfälligen cups-browsed-Instanzen ausgelöst werden.

Angenommen, unser HTTP-Server wird auf 10.0.0.1:1337 gehostet, sollte unser UDP-Paket wie folgt aussehen: 0 3 http://10.0.0.1:1337/printers/test1234

Automatisierung von Scans mit cups_scanner.py

Dieser Python-Scanner erledigt alles für Sie (sowohl den HTTP-Server als auch das Scannen).

Das Skript startet einen temporären HTTP-Server über http.server auf einer angegebenen IP und Port, erstellt dann UDP-Pakete und sendet sie an jede IP im angegebenen Bereich. Der HTTP-Server erfasst automatisch Callbacks von anfälligen cups-browsed-Instanzen und protokolliert sie auf der Festplatte.

Benutzerfreundliche Protokolle werden in logs/cups.log geschrieben und rohe HTTP-Anfragen werden in logs/requests.log geschrieben.

Befehlszeilenargumente

--target die zu scannende(n) CIDR(s). Kann eine einzelne CIDR oder mehrere durch Kommas getrennte CIDRs sein.
--callback die lokale IP und Port, auf dem unser HTTP-Server gehostet werden soll (muss über den Zielbereich erreichbar sein)
--scan-unsafe standardmäßig scannen wir nur zuweisbare Host-Adressen (wir schließen die Netzwerkadresse und Broadcast-Adresse aus). In einigen Fällen kann es wünschenswert sein, diese Adressen zu scannen, daher kann dieses Verhalten mit dem Flag --scan-unsafe überschrieben werden.

Beispielnutzung

Scannen von CIDR 10.0.0.0/24 von IP-Adresse 10.0.0.1, Hosting des Callback-Servers auf 1337:
python3 cups_scanner.py --targets 10.0.0.0/24 --callback 10.0.0.1:1337

Scannen mehrerer CIDRs von IP-Adresse 10.0.0.1, Hosting des Callback-Servers auf 1337:
python3 cups_scanner.py --targets 10.0.0.0/24,10.0.1.0/24 --callback 10.0.0.1:1337

Hinweis: Die IP des Callback-Servers muss zum scannenden Host gehören, und der Port muss von jeder Ziel-IP aus erreichbar sein.

Beispielausgabe

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

Weitere Informationen finden Sie unter: Offizieller CUPS-Schwachstellenbericht

Tool herunterladen