
pfSense CE 2.9.0-DEVELOPMENT - Alta - Remoto - Privilegio residuo - uploadconfig nascosto
abraxaslabs.tech · github.com/abraxas · @abraxas_null · [email protected] · pfsense-uploadconfig
Classe: Privilegio residuo Portata: Remota
pfSense CE 2.9.0-DEVELOPMENT (9363ac5) - pfsense.org
uploadconfig.php POST config= richiama config_install() e poi system_reboot(). IDENT non ha warn-root. diag_backup.php è warn-root per la stessa classe.
| ID | nessuna CVE al momento |
| Classe | Privilegio residuo |
| Portata | Remota (WebGUI autenticata salvo diversa indicazione) |
| CWE | CWE-269 |
| CVSS | Alto: 8.8 CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H |
| Prodotto | pfSense CE |
| Affetto | 2.9.0-DEVELOPMENT (9363ac5b8651a1c7a333180425ce7719070f95f9) |
| Auth | Sessione WebGUI con page-hidden-uploadconfiguration |
| Licenza | GNU Affero GPL v3.0 |
| Lab | solo 127.0.0.1 |
Ho fissato il master pubblico 9363ac5. Il lab è un gadget PHP del sink fissato, HTTP in loopback su 127.0.0.1:19030.
Write-up della serie: https://abraxaslabs.tech/research/pfsense-ce-leftovers
| Metodo | Sink | Privilegio |
|---|---|---|
| POST uploadconfig.php config= | config_install poi system_reboot | Integrità: Provato in lab: POST config= ha installato il blob e impostato il reboot. GET senza POST non ha installato. |
| stesso residuo | stesso sink | Ricognizione: Dedotto: il config.xml scelto dall'attaccante è una compromissione totale del dispositivo. |
| stesso residuo | stesso sink | Disponibilità: Provato in lab: reboot richiesto. |
Richiede: page-hidden-uploadconfiguration. CSRF-magic su POST salvo diversa indicazione. WebGUI PHP-FPM è root.
Richiede: page-hidden-uploadconfiguration. CSRF-magic su POST salvo diversa indicazione. WebGUI PHP-FPM è root. CSRF-magic su POST salvo diversa indicazione. WebGUI PHP-FPM è root.
diag_backup.php warn-root. Non autenticato N/A.
Nessun Diagnostics: Command a meno che anche quella pagina sia concessa.
cd lab
./run.sh
Loopback 127.0.0.1:19030. Progetto Compose pfsense-uploadconfig. Witness PFSENSE-UPLOADCONFIG-WITNESS. Solo loopback: 127.0.0.1:19030. Progetto Compose pfsense-uploadconfig. Witness PFSENSE-UPLOADCONFIG-WITNESS. Gadget PHP delle righe fissate. Lo stack viene smontato dopo l'esecuzione.
Ultima riga:
SUCCESS PFSENSE-UPLOADCONFIG control-no-install=yes trigger-install-reboot=yes ident=page-hidden-uploadconfiguration warn-root=absent PFSENSE-UPLOADCONFIG-WITNESS
Assegnare a uploadconfig.php standard-warning-root, oppure rimuovere la pagina nascosta.
9363ac5b8651a1c7a333180425ce7719070f95f9