
Exploit Python pour CVE-2022-46196 ciblant une injection de commande non authentifiée dans Cacti <=1.2.22. Automatise la détection de version et la livraison d'un shell inversé via remote_agent.php.
Ce code Python exploite une vulnérabilité d'injection de commande non authentifiée dans les versions de Cacti jusqu'à et y compris la 1.2.22. Il utilise argparse pour analyser les arguments de la ligne de commande, requests pour obtenir le contenu HTML d'une instance Cacti cible, et BeautifulSoup pour extraire le numéro de version de Cacti du contenu HTML. Si la version est <= 1.2.22, le code procède à l'exploitation.
L'exploitation consiste à envoyer une charge utile au fichier remote_agent.php de l'instance Cacti, la charge utile étant une commande Bash qui ouvre un shell inversé vers une IP et un port d'écoute spécifiés. Le code parcourt une plage d'ID d'hôtes pour envoyer la charge utile, et une fois réussi, ouvre un shell inversé sur l'IP et le port spécifiés.
Ce code ne doit être utilisé qu'à des fins éthiques, telles que la recherche en sécurité ou les tests d'intrusion.
Pour exécuter le code, utilisez la commande suivante :
python exploit.py --url <URL of Cacti's instance> --lhost <Listening IP> --lport <Listening Port>
Où :
Le code nécessite les bibliothèques/modules Python suivants :
argparse
requests
BeautifulSoup4
re