Modulares Python3-Angriffsframework zur Automatisierung der Exploitation von SIEM-Plattformen (Splunk, Graylog, OSSIM, QRadar, McAfee) mittels Credential-Diebstahl, Payload-Bereitstellung und Post-Exploitation-Modulen.
MultiSIEM-Modulares Python3-Angriffs-Framework
Von ElevenPaths https://www.elevenpaths.com/
Verwendung: python3 ./siemsframework.py
SIEMs sind defensive Werkzeuge, die zunehmend im Bereich der Cybersicherheit eingesetzt werden, insbesondere von großen Unternehmen und Firmen, die hochkritische Systeme und Netzwerke überwachen sollen. Aus Sicht eines Angreifers sind jedoch die Berechtigungen, die SIEMs für Systeme und Konten von Unternehmensnetzwerken eingeräumt werden, hoch. Darüber hinaus kann der administrative Zugriff auf SIEMs genutzt werden, um Codeausführung auf dem Server zu erlangen, auf dem das SIEM installiert ist, und manchmal auch auf Client-Rechnern, da ein SIEM Ereignisse von Geräten wie Active Directory-Servern, AWS-Servern, Datenbanken und Netzwerkgeräten (z. B. Firewalls und Router) sammelt.
Während unserer Untersuchung haben wir eine Vielzahl von Angriffsvektoren entdeckt, die gegen verschiedene SIEMs eingesetzt werden könnten, um diese zu kompromittieren, zum Beispiel:
• Erlangen von Benutzerkonten und Passwörtern, die im SIEM von kritischen Systemen (LDAP/AD-Server, Datenbanken, Netzwerkgeräte, AWS-Server) gespeichert sind.
• Entwickeln und Installieren von bösartigen Anwendungen wie Windows/Linux-Reverse-Shells, Windows/Linux-Bind-Shells oder bösartigen Skripten mit dem Ziel, den Server zu kompromittieren, auf dem das SIEM installiert ist.
• Entwickeln und Installieren von bösartigen Anwendungen wie Windows/Linux-Reverse-Shells, Windows/Linux-Bind-Shells oder bösartigen Skripten mit dem Ziel, die Maschinen zu kompromittieren, von denen das SIEM Ereignisse sammelt.
• Erstellen und Anwenden von bösartigen Aktionen oder Benachrichtigungen, die die Ausführung von Befehlen ermöglichen, wenn ein bestimmtes Ereignis eintritt, beispielsweise mit dem Ziel, eine Reverse-Shell auf dem Server zu erlangen, auf dem das SIEM installiert ist.
• Ausnutzen von Standardpasswörtern und SIEM-Schwachstellen in der Konfiguration der OVA-Images, um Admin-Anmeldedaten des Servers, der Datenbank oder sogar der SIEM-Weboberfläche selbst zu erlangen.
• Durchführen von Wörterbuchangriffen oder Brute-Force-Angriffen gegen die Web- oder Admin-Oberfläche oder gegen die SIEM-Client-Software, um Admin-Anmeldedaten zu erlangen.
• Lesen beliebiger Dateien vom Server, auf dem das SIEM installiert ist.
• Erlangen von SIEM-Konfigurationsinformationen und anderen relevanten Parametern, um weitere Angriffe durchzuführen.
Basierend auf den Ergebnissen der Untersuchung wurde das Open-Source-Tool SIEMs Framework entwickelt. Es ist ein modulares, in Python3 entwickeltes Tool des Innovation and Laboratory-Teams von ElevenPaths. Es ermöglicht die Automatisierung potenzieller Angriffe auf verschiedene auf dem Markt befindliche SIEMs (sowohl kommerzielle als auch Open-Source).
SIEMs Framework unterstützt mehrere Angriffs-Payloads, die je nach anzugreifendem SIEM und dessen Betriebssystem ausgewählt werden können. Es gibt Payloads in PowerShell, Python, Bash, Exe und weiteren Formaten. Nach Ausführung des ausgewählten Angriffs zeigt das Tool die Ergebnisse auf dem Bildschirm an, und es ist möglich, zurückzukehren und einen anderen Angriff auf demselben SIEM auszuführen oder ein anderes SIEM zur Kompromittierung auszuwählen. Es verfügt über eine einfache, benutzerfreundliche und intuitive Oberfläche. Derzeit kann es mit den folgenden SIEMs verwendet werden: Splunk, Graylog und OSSIM.
SIEMs Framework kann von unserem Github heruntergeladen werden, indem die .zip-Datei heruntergeladen oder das Repository geklont wird, und hat die folgenden Anforderungen, die mit pip3 install -r requirements.txt installiert werden können:
• splunk-sdk
• requests
• python-nmap
• colorama
• pandas
• paramiko
• pymongo
• qradar4py
• requests_mock
• urllib3
Sobald die Anforderungen installiert sind, kann das Tool wie folgt verwendet werden: python3 ./siemsframework.py
Wenn das Tool ausgeführt wird, wird das Hauptmenü angezeigt. Dort müssen Sie auswählen, ob Sie eine bestimmte IP scannen möchten, auf der sich ein SIEM befindet, oder ein Netzwerk, um SIEMs darin zu erkennen. Zum Scannen und Erkennen des SIEMs innerhalb einer bestimmten IP-Adresse verwenden Sie Option 1, zum Scannen des Netzwerks Option 2.
Durch Auswahl von Option 1 „Scan and Detect SIEM“ fordert das Tool die IP-Adresse an, um die spezifischen Ports der unterstützten SIEMs scannen und eine Verbindung zur Web- oder Verwaltungsoberfläche herstellen zu können, um zu überprüfen, ob es sich tatsächlich um ein SIEM handelt.
Sobald das SIEM mit den oben genannten Methoden erkannt wurde, zeigt das Tool das erkannte SIEM in Rot an und bietet Ihnen die Möglichkeit, das Angriffsmodul dieses SIEMs zu starten.
Durch Auswahl von Option 2 „Find SIEMs on the network“ fordert das Tool das zu scannende Netzwerk in CIDR-Notation an, z. B.: 192.168.137.0/24. Sobald die Information eingegeben wurde, führt SIEMs Framework zunächst eine Erkennung durch, um aktive Systeme zu ermitteln; dann werden Standard-Ports der unterstützten SIEMs gescannt, und schließlich stellt es eine Verbindung zur Web- oder Verwaltungsoberfläche jedes dieser Systeme her, um zu überprüfen, ob es sich tatsächlich um ein SIEM handelt.
Sobald die SIEMs mit den oben genannten Methoden erkannt wurden, zeigt das Tool die erkannten SIEMs in Rot an und fordert die IP-Adresse des anzugreifenden SIEMs an.
Durch Eingabe von „y“ und Auswahl des Starts der Splunk-Angriffsmodule zeigt das Tool alle möglichen Angriffe an, die gegen dieses SIEM durchgeführt werden können. Für die ersten beiden Angriffe sind keine Anmeldedaten erforderlich, für den fünften werden jedoch Splunk-Admin-Rechte benötigt.