26 mars 2021

Exécution de code à distance sur F5 BIG-IP (CVE 2021-22986)

Introduction

Le 10 mars 2021, l’éditeur F5 avait publié un article sur une nouvelle vulnérabilité affectant l’API REST iControl. Cette API permet entre autres l’automatisation de certaines tâches d’administration. La nouvelle vulnérabilité identifiée CVE 2021-22986 permet à un attaquant non authentifié, via l’interface de gestion BIG-IP et des adresses IP autonomes, l’exécution de code arbitraire à distance.

Détection

Afin de comprendre comment fonctionnait cette vulnérabilité, des chercheurs avait mis en place des honeypots pour comprendre comment les attaquants exploités cette attaque. Les attaquants scannaient les serveurs F5 en masse afin de savoir si l’endpoint de l’API iControl REST était disponible et s’il était possible de faire des commandes système arbitraires à partir de celle-ci. De plus, une variante de Mirai avait été détectée en train d’exploiter cette vulnérabilité. Cette variante provient de celle-ci : https://unit42.paloaltonetworks.com/mirai-variant-iot-vulnerabilities/.

Preuve du concept

Pour exploiter cette vulnérabilité, on exécute une requête de type « POST » sur l’URL « https://<ip du serveur>/mgmt/tm/util/bash ». Au sein de cette requête, on ajoute le champ command « run ». Puis le champ utilCmdArgs, qui contient la commande système que l’on souhaite envoyer. Enfin dans la réponse, on observe que cette commande a bien été exécutée :

Figure 1 : Résultat de l’injection de code commande système arbitraire dans la requête

Il existe aussi un exploit disponible ici https://github.com/h4x0r-dz/RCE-Exploit-in-BIG-IP codé en python et qui fonctionne tout aussi bien comme vous pouvez le voir ci-dessous :

Figure 2 : Résultat de l’injection de commande système arbitraire avec l’utilisation du script

Conclusion

Afin de pallier cette vulnérabilité, il est fortement recommandé de mettre à jour son F5 BIG-IP vers une version non vulnérable que vous pourrez retrouver sur la page du support F5 https://support.f5.com/csp/article/K03009991. En revanche, il existe aussi 2 manières de mitiger ce problème. La première est de bloquer l’accès iControl REST via l’adresse IP personnelle et la seconde via l’interface de gestion.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *