
Mitigation-Validierungsdienstprogramm für die Ivanti Connect Around Angriffskette. Führt mehrere Prüfungen durch. CVE-2023-46805, CVE-2024-21887.
Die Connect Around-Angriffskette, die CVE-2023-46805 und CVE-2024-21887 umfasst, stellt eine erhebliche Bedrohung für Ivanti Connect Secure & Policy Secure Appliances dar. Diese Angriffskette ermöglicht unbefugten Zugriff und die Ausführung von Befehlen auf anfälligen Systemen. CVE-2023-46805 erlaubt Angreifern, Authentifizierungskontrollen zu umgehen, während CVE-2024-21887, eine Befehlsinjektionslücke, ohne Authentifizierung ausgenutzt werden kann, wenn sie mit der ersteren kombiniert wird. Dieses Duo von Schwachstellen erfordert dringende Aufmerksamkeit von Organisationen, die Ivanti-Produkte verwenden, und fordert sie auf, verfügbare Abhilfemaßnahmen anzuwenden, wie im Ivanti Community Forum beschrieben.
Als Reaktion auf die Notwendigkeit für Organisationen, den Status der Abhilfemaßnahmen zu überprüfen, wurde der Ivanti Connect Around Vulnerability Checker entwickelt. Dieses Skript dient der Bewertung von Ivanti Connect Secure & Policy Secure Appliances auf Schwachstellen im Zusammenhang mit der Connect Around-Angriffskette. Es führt Prüfungen durch, um das Vorhandensein dieser Schwachstellen zu überprüfen, und gibt die Ergebnisse im CSV-Format aus. Es werden mehrere Methoden zur Validierung von Abhilfemaßnahmen eingesetzt, um eine umfassende und zuverlässige Bewertung zu ermöglichen.
Hinweis: Dieses Skript validiert nicht CVE-2024-21888 oder CVE-2024-21893.
Das Skript führt verschiedene Prüfungen durch, um den Sicherheitsstatus von Ivanti Connect Secure-Systemen zu bewerten. Jede Prüfung basiert auf spezifischen Methoden, die aus der Forschung der Informationssicherheits-Community übernommen wurden.
/api/v1/configuration/users/user-roles/user-role/rest-userrole1/web/web-bookmarks/bookmark ohne Authentifizierung an./api/v1/system/system-information zuzugreifen./admin/options/ zuzugreifen.Jede Prüfung gibt Einblicke in potenzielle Schwachstellen. "Vulnerable" zeigt eine bestätigte Schwachstelle an, während "Mitigated" oder "Not Vulnerable" bedeutet, dass das System gegen die getestete spezifische Schwachstelle sicher erscheint.
Das Skript kategorisiert jede Prüfung mit spezifischen Statusarten und gibt Einblick in die Sicherheitslage des gescannten Hosts. Hier sind die Beschreibungen der einzelnen Statusarten:
Mitigated: Zeigt an, dass das System über Abhilfemaßnahmen gegen die geprüften Schwachstellen verfügt. Dieser Status wird zurückgegeben, wenn Antworten erkannt werden, die für ein sicheres und gepatchtes System typisch sind.
Vulnerable: Dieser Status deutet darauf hin, dass das System anfällig für die vom Skript durchgeführten spezifischen Prüfungen ist. Er wird zurückgegeben, wenn das System bekannte Muster oder Antworten aufweist, die auf eine Schwachstelle hinweisen.
HTTP Error: Wird zurückgegeben, wenn das Skript auf Standard-HTTP-Fehlerantworten (außer 403 Forbidden) vom Zielsystem stößt. Dies deutet normalerweise auf ein Problem mit dem Webserver oder der Anfrage hin.
Network Issue: Dieser Status wird verwendet, wenn das Skript auf netzwerkbezogene Probleme stößt, wie z. B. die Unfähigkeit, den Host zu erreichen. Er kombiniert frühere Status wie "Host Unreachable" und "Network Error".
Timeout Error: Zeigt an, dass die Anfrage an das Ziel eine Zeitüberschreitung hatte, was auf potenzielle Netzwerk- oder Konfigurationsprobleme hindeutet, die das Skript daran gehindert haben, seine Prüfung abzuschließen.
Connection Error: Ähnlich wie "Timeout Error", dieser Status wird verwendet, wenn es Probleme beim Aufbau einer Verbindung zum Host gibt, was auf Netzwerkprobleme, falsche Hostnamen usw. zurückzuführen sein kann.
Ivanti Presence Inconclusive: Früher bekannt als "Attestation Needed", dieser Status wird zurückgegeben, wenn die Prüfungen des Skripts keine eindeutigen Beweise für eine Schwachstelle oder Abhilfemaßnahme liefern. Dies deutet darauf hin, dass eine weitere manuelle Untersuchung erforderlich ist, um den Sicherheitsstatus des Systems zu bestimmen.
Vulnerable (Bypass Detected): Spezifisch für die Bypass-Schwachstellenprüfung, zeigt dieser Status an, dass das System anfällig für die in der Methodik des Skripts beschriebene Technik zur Authentifizierungsumgehung ist.
Jeder Status liefert eine Momentaufnahme der Sicherheitslage des Systems in Bezug auf die geprüften Schwachstellen. Benutzer sollten diese Status als erste Indikatoren betrachten und bei Bedarf weitere manuelle Untersuchungen durchführen, um den tatsächlichen Sicherheitsstatus des Systems zu bestätigen.
requests-Modulurllib3-Modulcolorama-Modul für farbcodierte AusgabeUm das Skript auszuführen, verwenden Sie den folgenden Befehl:
python ivanti_scan.py -i [input_file]
Optional kann es mit zusätzlichen Argumenten ausgeführt werden:
python ivanti_scan.py -i [input_file] -o [output_file] -t [number_of_threads] -p [port1 port2 ...] --color
Verwenden Sie eine dieser Optionen, um das/die Ziel(e) für Tests anzugeben.
-i oder --input: Pfad zur Eingabedatei mit einer Liste der Ziele.-u oder --url: Einzelne URL-Zeichenfolge zum Testen.-o oder --output: Optional. Name der Ausgabe-CSV-Datei. Standard ist [current_date_time]_results.csv.-t oder --threads: Optional. Anzahl der Threads für die gleichzeitige Ausführung. Standard ist 20.-p oder --ports: Optional. Geben Sie die zu prüfenden Ports an (z. B. 80 443). Standardmäßig werden die Ports 80 und 443 geprüft.-a oder --user-agent: Optional. Geben Sie die User-Agent-Zeichenfolge an. Standard: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.3-c oder --color: Optional. Aktiviert die farbcodierte Ausgabe, wenn colorama installiert ist.Beiträge sind willkommen! Wenn Sie einen Beitrag leisten möchten, hier sind einige Möglichkeiten, wie Sie helfen können:
main.Vielen Dank, dass Sie darüber nachdenken, zu diesem Projekt beizutragen.
Dieses Tool wurde für Einzelpersonen und Organisationen entwickelt, die die Abhilfemaßnahmen von Schwachstellen in ihrer eigenen Umgebung validieren möchten. Es ist speziell für die Verwendung auf Ivanti Connect Secure Appliances vorgesehen, für die eine ausdrückliche Genehmigung für Sicherheitstests erteilt wurde.
Durch die Nutzung dieses Tools erkennen Sie diese Bedingungen an und stimmen ihnen zu.
Dieses Projekt ist unter der MIT-Lizenz mit einer Klausel zur ethischen Nutzung lizenziert - siehe die Datei LICENSE für Details.
Dieses Projekt nutzt Forschungsergebnisse und Methoden, die von mehreren angesehenen Gruppen und Einzelpersonen auf dem Gebiet der Cybersicherheit entwickelt wurden. Wir danken:
WatchTowr Labs: Für ihre aufschlussreiche Forschung zu Ivanti Connect Secure-Schwachstellen. Ihre Arbeit war maßgeblich an der Entwicklung der WEB ACCESS-Prüfmethodik beteiligt.
Stephen Fewer von Rapid7: Seine Arbeit am Metasploit-Modul lieferte wertvolle Erkenntnisse.
Rapid7 auf AttackerKB: Ihre Forschung zu Techniken zur Authentifizierungsumgehung hat dieses Skript maßgeblich beeinflusst.
Assetnote: Die Erkennung von /admin/options/ als zuverlässige Testmethode hilft bei der Bestimmung der Anwendung von Abhilfemaßnahmen.
Ein besonderer Dank gilt diesen Gruppen und Einzelpersonen für ihre Beiträge zur Cybersicherheit, die die Entwicklung dieses Tools sehr unterstützt haben.
Chris Farrell ist ein Schwachstellenforscher, der sich der Verbesserung der Cybersicherheit durch gründliche Analyse und umfassende Lösungen verschrieben hat.
Erfahrung umfasst Schwachstellenmanagement, vCISO, leitender Penetrationstester, Incident-Response-Leiter, ISSO.