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-2026-39047 — # Framework d'exploitation du protocole RAW des imprimantes Epson | Kitploit
Outils/GitHubGitHub/j4ck3lsyn-gen2/cve-2026-39047
Sécurité des Systèmes EmbarquésFrameworks d'ExploitationSécurité IoTAnalyse des VulnérabilitésExploitationPost-ExploitationFuzzingTests d'IntrusionSécurité MatérielleRed TeamingDéveloppement de Charges UtilesExploitation de Binaires
634il 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
GitHubj4ck3lsyn-gen2/cve-2026-39047

CVE-2026-39047

# Framework d'exploitation du protocole RAW des imprimantes Epson

Voir le dépôt

CVE-2026-39047 : Framework d'exploitation du protocole RAW pour imprimantes Epson

Dépôt : https://github.com/J4ck3LSyN-Gen2/CVE-2026-39047
Script PoC : poc.py
Cible simulée : mock_printer.py
Auteur : J4ck3LSyN

Aperçu

Ce framework démontre la vulnérabilité CVE-2026-39047 - un débordement de tampon à distance dans les imprimantes multifonctions Epson (notamment la L14150 FL27PB) lors du traitement de charges utiles malformées ou surdimensionnées via le protocole d'impression RAW TCP (généralement le port 9100).

Une exploitation réussie peut conduire à l'exécution de code arbitraire dans l'environnement embarqué de l'imprimante, permettant :

  • Déni de service (DoS) / crash/redémarrage du périphérique
  • Exécution de commandes / accès shell (dans des scénarios par étapes)
  • Mécanismes de persistance
  • Pivotement réseau ou exfiltration de données depuis une infrastructure d'impression compromise

Le PoC se concentre sur le cadrage du transport, l'obscurcissement de la charge utile, les techniques de fuzzing et les comportements de post-exploitation par étapes adaptés aux tests d'intrusion, à la recherche de vulnérabilités et aux tests défensifs.


[!WARNING]

  • Cet outil peut (et va) mener à l'exécution de code à distance (RCE) sur des imprimantes vulnérables.
  • L'utilisation non autorisée, le scan ou l'exploitation de 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 les lois sur la fraude et les abus informatiques (par exemple, CFAA aux États-Unis), les règlements sur la protection des données et les politiques organisationnelles.
    L'auteur décline TOUTE RESPONSABILITÉ pour tout dommage, perte de données, interruption de service ou conséquences juridiques résultant de l'utilisation ou du mauvais usage de ce code.
  • Utilisez uniquement dans des environnements de laboratoire isolés avec des périphériques que vous contrôlez.
  • Obtenez toujours une autorisation explicite avant tout test.
  • Le code inclut des modes dry-run et passif pour faciliter une analyse sûre.
    La divulgation responsable et l'utilisation éthique sont fortement encouragées.
  • Appliquez rapidement les mises à jour du firmware dès qu'elles sont disponibles.
  • Les imprimantes se trouvent souvent sur des réseaux internes avec un haut niveau de confiance et une surveillance limitée, ce qui en fait des surfaces d'attaque attrayantes.

Détails de la vulnérabilité

  • Produit concerné : EPSON L14150 (firmware FL27PB et probablement modèles similaires)
  • Vecteur : Service d'impression RAW (de type JetDirect) sur TCP/9100
  • Impact : Exécution de code à distance (RCE) via un débordement de tampon basé sur la pile
  • CVSS : Haute sévérité (détails disponibles sur le NVD)
  • Cause racine : Vérifications insuffisantes des limites sur les données/trames des travaux d'impression entrants dans le firmware de l'imprimante

Références :

  • NVD : https://nvd.nist.gov/vuln/detail/CVE-2026-39047
  • Avis et rapports connexes (recherchez l'ID CVE)

Fonctionnalités

  • Profilage de l'imprimante : Sonde la cible pour vérifier l'accessibilité et obtenir des informations de base sur le modèle/firmware à l'aide de commandes PJL.
  • Génération de charges utiles :
    • Techniques multiples : motifs cycliques, chaînes de format, NOP sleds, données aléatoires.
    • Couche d'obscurcissement (zlib + XOR + Base64 avec clés dynamiques).
    • Cadrage de transport personnalisé (protocole PRT2).
  • Modes de livraison :
    • Envoi par fragments avec délais aléatoires (favorisant l'évasion).
    • Mode dry-run (aucun trafic réseau).
  • Options de campagne :
    • Reconnaissance passive.
    • Fuzzing avec tailles et techniques variables.
    • Mise en place de post-exploitation (shell, beacon, simulation de persistance).
  • Imprimante simulée : mock_printer.py pour des tests locaux sécurisés (plante sur les charges utiles surdimensionnées).

Prérequis

  • Python 3.8+
  • Aucune dépendance externe (utilise uniquement la bibliothèque standard : socket, asyncio, argparse, zlib, hashlib, etc.)

Installation / Configuration

  1. Clonez le dépôt :

    root@kitploit:~
    git clone https://github.com/J4ck3LSyN-Gen2/CVE-2026-39047.git
    cd CVE-2026-39047
    
  2. Rendez les scripts exécutables :

    root@kitploit:~
    chmod +x poc.py mock_printer.py
    
  3. (Facultatif) Testez avec l'imprimante simulée dans un terminal :

    root@kitploit:~
    ./mock_printer.py
    

Utilisation

root@kitploit:~
./poc.py -t <TARGET_IP> [OPTIONS]

Arguments clés

Exemples :

  • Test de base :

    root@kitploit:~
    ./poc.py -t 192.168.1.100
    
  • Exécution de fuzzing :

    root@kitploit:~
    ./poc.py -t 192.168.1.100 --fuzz --techniques cyclic random
    
  • Détournement par étapes (lab uniquement) :

    root@kitploit:~
    ./poc.py -t 192.168.1.100 --hijack --objective shell --dry-run
    
  • Campagne complète avec cible simulée :

    root@kitploit:~
    # Terminal 1
    ./mock_printer.py
    
    # Terminal 2
    ./poc.py -t 127.0.0.1 --fuzz --hijack --objective stage1
    

Points forts de l'implémentation technique

  • Transport : bTransportFrame() encapsule les charges utiles avec un en-tête PRT2 + longueur.
  • Obscurcissement (lObf) : Compression zlib → masque XOR dynamique (dérivé d'une graine) → Base64.
  • Générateurs de charges utiles : gModernPayload() et gPostPayload() pour divers motifs et commandes par étapes.
  • Mise en place : Génère des commandes shell pour les répertoires d'exécution, les fichiers de configuration et les hooks de persistance (simulés).
  • Livraison asynchrone : Transmission par fragments avec gigue pour plus de réalisme.

Consultez les docstrings et les commentaires du code pour plus de détails.

Détection / Atténuation

  • Détection : Surveillez le port TCP/9100 pour des tailles de charges utiles anormales, des commandes PJL inhabituelles, ou des connexions répétées provenant de sources inattendues. Recherchez les motifs de cadrage PRT2.
  • Atténuation :
    • Appliquez les mises à jour du firmware d'Epson dès qu'elles sont disponibles.
    • Segmentation réseau : isolez les imprimantes des réseaux utilisateurs généraux.
    • Règles de pare-feu limitant le port 9100 aux serveurs d'impression de confiance.
    • Désactivez le protocole RAW s'il n'est pas nécessaire ; préférez des alternatives sécurisées (IPPS, etc.).
    • Audits réguliers du firmware et inventaire des imprimantes.

Avertissement (Répété)

Ce PoC est fourni strictement à des fins éducatives, de recherche et de tests de sécurité autorisés. Une utilisation abusive peut entraîner de graves conséquences. Le propriétaire du dépôt n'est pas responsable des dommages causés.

Télécharger l’outil
OptionDescription
-t, --targetAdresse IP cible (obligatoire)
-p, --portPort (par défaut : 9100)
--passiveMode de reconnaissance passive (envoi de charges utiles de sonde uniquement)
--fuzzActiver le fuzzing multi-technique
--hijackActiver la mise en place de post-exploitation
--objectivestage1 | shell | beacon | persistence
--callbackIdentifiant/chaîne de callback optionnel
--capabilityminimal | busybox | linux (affecte l'encapsulation des commandes)
--dry-runGénérer les charges utiles mais ne pas les envoyer
--techniquesListe séparée par des espaces (ex. cyclic format sled random)
--delayDélai entre les charges utiles en secondes (par défaut : 1.6)