
Python-Exploit für CVE-2022-46196, das eine nicht authentifizierte Befehlsinjektion in Cacti <=1.2.22 angreift. Automatisiert die Versionserkennung und die Zustellung einer Reverse Shell über remote_agent.php.
Dieser Python-Code nutzt eine nicht authentifizierte Command-Injection-Schwachstelle in Cacti-Versionen bis einschließlich 1.2.22 aus. Er verwendet argparse, um Argumente aus der Befehlszeile zu parsen, requests, um den HTML-Inhalt einer Ziel-Cacti-Instanz abzurufen, und BeautifulSoup, um die Versionsnummer von Cacti aus dem HTML-Inhalt zu extrahieren. Wenn die Version <= 1.2.22 ist, fährt der Code mit dem Exploit fort.
Der Exploit besteht darin, eine Payload an die Datei remote_agent.php der Cacti-Instanz zu senden, wobei die Payload ein Bash-Befehl ist, der eine Reverse Shell zu einer angegebenen Listening-IP und einem angegebenen Port öffnet. Der Code iteriert über einen Bereich von Host-IDs, um die Payload zu senden, und öffnet bei Erfolg eine Reverse Shell auf der angegebenen IP und dem angegebenen Port.
Dieser Code sollte nur für ethische Zwecke verwendet werden, z. B. für Sicherheitsforschung oder Penetrationstests.
Um den Code auszuführen, verwende den folgenden Befehl:
python exploit.py --url <URL of Cacti's instance> --lhost <Listening IP> --lport <Listening Port>
Wobei:
Der Code benötigt die folgenden Python-Bibliotheken/-Module:
argparse
requests
BeautifulSoup4
re