Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

FeedContattoPrivacy© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
pfsense-cp-filemanager-write — pfSense CE 2.9.0-DEVELOPMENT - Alto - Remoto - Scrittura di file - Gestore file CP | Kitploit
Strumenti/GitHubGitHub/abraxas/pfsense-cp-filemanager-write
Scanner di VulnerabilitàAnalisi delle VulnerabilitàExploitSfruttamento di Applicazioni WebSicurezza WebPenetration TestingPaper e RicercaLab e Pratica
GitHub
abraxas/pfsense-cp-filemanager-write

pfsense-cp-filemanager-write

pfSense CE 2.9.0-DEVELOPMENT - Alto - Remoto - Scrittura di file - Gestore file CP

Vedi Repository
54 giorni faNon ancora revisionato

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

Abraxas Labs - pfsense-cp-filemanager-write

abraxaslabs.tech  ·  github.com/abraxas  ·  @abraxas_null  ·  [email protected]  ·  pfsense-cp-filemanager-write

pfsense-cp-filemanager-write

Classe: Scrittura di file Portata: Remota

pfSense CE 2.9.0-DEVELOPMENT (9363ac5) - pfsense.org

Il nome del caricamento non è basename(). Un nome che contiene già captiveportal- salta il prefisso. file_put_contents("{$g['captiveportal_element_path']}/{$data['name']}") con cpelements = /var/db/cpelements. I ../ rimanenti dopo captiveportal-.. risalgono comunque fino a /.

IDnessuna CVE al momento
ClasseScrittura di file
PortataRemota (WebGUI autenticata salvo diversa indicazione)
CWECWE-22
CVSSAlto: 8.8 CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
ProdottopfSense CE
Affetto2.9.0-DEVELOPMENT (9363ac5b8651a1c7a333180425ce7719070f95f9)
AuthSessione WebGUI con page-services-captiveportal-filemanager
LicenzaGNU Affero GPL v3.0
Labsolo 127.0.0.1

Ho fissato il master pubblico 9363ac5. Il lab è un gadget PHP del sink fissato, HTTP su loopback su 127.0.0.1:19000.

Write-up della serie: https://abraxaslabs.tech/research/pfsense-ce-leftovers

Cosa può fare un attaccante

MetodoSinkPrivilegio
POST services_captiveportal_filemanager.php nome filefile_put_contents cpelements/{$data['name']}Integrità: Dimostrato in lab: il nome captiveportal-../../../../../oracle/... ha saltato il prefisso e ha scritto fuori da cpelements. La scrittura PHP come root è RCE sull'host su questa piattaforma.
stesso residuostesso sinkRicognizione: Dedotto: sovrascrivere config.xml o PHP in www.
stesso residuostesso sinkDisponibilità: Dedotto: sovrascrivere file critici.

Richiede: page-services-captiveportal-filemanager. CSRF-magic sul POST salvo diversa indicazione. WebGUI PHP-FPM è root.

Richiede: page-services-captiveportal-filemanager. CSRF-magic sul POST salvo diversa indicazione. WebGUI PHP-FPM è root. CSRF-magic sul POST salvo diversa indicazione. WebGUI PHP-FPM è root.

Superficie adiacente che resta chiusa

Un nome senza la sottostringa viene prefissato e non può sfuggire in quel modo. Il PHP documentato all'interno della jail del portale è una funzionalità diversa.

Nessun Diagnostics: Command a meno che anche quella pagina sia concessa.

Lab

cd lab
./run.sh

Loopback 127.0.0.1:19000. Progetto Compose pfsense-cp-filemanager-write. Witness PFSENSE-CP-FILEMANAGER-WRITE-WITNESS. Solo loopback: 127.0.0.1:19000. Progetto Compose pfsense-cp-filemanager-write. Witness PFSENSE-CP-FILEMANAGER-WRITE-WITNESS. Gadget PHP delle righe fissate. Lo stack viene smontato dopo l'esecuzione.

Ultima riga:

SUCCESS PFSENSE-CP-FILEMANAGER-WRITE control-prefixed=yes prefix-no-escape=yes trigger-outside=yes PFSENSE-CP-FILEMANAGER-WRITE-WITNESS

Correzione

Applicare basename() al nome del caricamento. Prefissare sempre. Rifiutare .. .

Riferimenti

  • github.com/pfsense/pfsense 9363ac5b8651a1c7a333180425ce7719070f95f9
  • CWE-22
  • Serie: https://abraxaslabs.tech/research/pfsense-ce-leftovers
Scarica lo strumento