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-ldap-name-collision — pfSense CE 2.9.0-DEVELOPMENT - Alta - Remota - Privilegio residuo - Nome admin LDAP | Kitploit
Strumenti/GitHubGitHub/abraxas/pfsense-ldap-name-collision
Autenticazione e AutorizzazioneEscalation di PrivilegiAnalisi delle VulnerabilitàExploitSfruttamento di Applicazioni WebSicurezza WebPenetration TestingLab e Pratica

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
GitHubabraxas/pfsense-ldap-name-collision

pfsense-ldap-name-collision

pfSense CE 2.9.0-DEVELOPMENT - Alta - Remota - Privilegio residuo - Nome admin LDAP

Vedi Repository
25 giorni faNon ancora revisionato

Abraxas Labs - pfsense-ldap-name-collision

abraxaslabs.tech  ·  github.com/abraxas  ·  @abraxas_null  ·  [email protected]  ·  pfsense-ldap-name-collision

pfsense-ldap-name-collision

Classe: Privilegio residuo Portata: Remota

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

getUserEntry($name) restituisce la riga locale in caso di corrispondenza del nome. isAdminUID() vede quindi uid 0 e isAllowedPage consente ogni pagina. passwordmg tratta la sessione come locale e scrive l'hash di quell'utente. uid == 0 è un confronto lasco.

IDnessuna CVE al momento
ClassePrivilegio residuo
PortataRemota (WebGUI autenticata salvo diversa indicazione)
CWECWE-269
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 remote WebGUI login when authmode != Local; passwordmg is not warn-root
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:19010.

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

Cosa può fare un attaccante

MetodoSinkPrivilegio
Bind LDAP/RADIUS con il nome dell'admin locale, poi POST passwordmggetUserEntry / isAdminUID / local_user_set_passwordIntegrità: Provato in lab: l'admin remoto è isAdminUID; tutte le pagine incluso diag_command; passwordmg ha impostato l'hash di uid 0. I nomi remoti solo-stub falliscono in modo sicuro.
stesso residuostesso sinkRicognizione: Provato in lab: flag di autorizzazione per ogni pagina.
stesso residuostesso sinkDisponibilità: Nessuna dimostrata.

Richiede: remote WebGUI login when authmode != Local; passwordmg is not warn-root. CSRF-magic sul POST salvo diversa indicazione. WebGUI PHP-FPM è root.

Richiede: remote WebGUI login when authmode != Local; passwordmg is not warn-root. 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

Nomi remoti solo-stub. usermanager stesso è warn-root. Il salto uid di SA-26_22 xmlrpc è un bug diverso.

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

Lab

cd lab
./run.sh

Loopback 127.0.0.1:19010. Progetto Compose pfsense-ldap-name-collision. Witness PFSENSE-LDAP-NAME-COLLISION-WITNESS. Solo loopback: 127.0.0.1:19010. Progetto Compose pfsense-ldap-name-collision. Witness PFSENSE-LDAP-NAME-COLLISION-WITNESS. Gadget PHP delle righe fissate. Lo stack viene smontato dopo l'esecuzione.

Ultima riga:

SUCCESS PFSENSE-LDAP-NAME-COLLISION control-isadmin=no control-diag=no control-hash-unchanged=yes trigger-isadmin=yes trigger-all-pages=yes trigger-hash-set=yes uid-loose-eq=yes PFSENSE-LDAP-NAME-COLLISION-WITNESS

Correzione

Non mappare un nome remoto su una riga locale con uid 0. Usare uid === '0' in modo stretto più l'origine di autenticazione. Rendere passwordmg warn-root.

Riferimenti

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