Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
Enviar
HerramientasExploitsBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

FeedsContactoPrivacidad© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
pfsense-ldap-name-collision — pfSense CE 2.9.0-DEVELOPMENT - Alta - Remota - Privilegio residual - Nombre de administrador LDAP | Kitploit
Herramientas/GitHubGitHub/abraxas/pfsense-ldap-name-collision
Autenticación y AutorizaciónEscalada de PrivilegiosAnálisis de VulnerabilidadesExplotaciónExplotación de Aplicaciones WebSeguridad WebPruebas de PenetraciónLabs y Práctica

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir
GitHubabraxas/pfsense-ldap-name-collision

pfsense-ldap-name-collision

pfSense CE 2.9.0-DEVELOPMENT - Alta - Remota - Privilegio residual - Nombre de administrador LDAP

Ver Repositorio
2hace 5 díasAún no revisado

Abraxas Labs - pfsense-ldap-name-collision

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

pfsense-ldap-name-collision

Clase: Privilegio residual Alcance: Remoto

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

getUserEntry($name) devuelve la fila local cuando coincide el nombre. isAdminUID() entonces ve uid 0 y isAllowedPage permite todas las páginas. passwordmg trata la sesión como local y escribe el hash de ese usuario. uid == 0 es una comparación laxa.

IDaún sin CVE
ClasePrivilegio residual
AlcanceRemoto (WebGUI autenticado salvo que se indique lo contrario)
CWECWE-269
CVSSAlto: 8.8 CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
ProductopfSense CE
Afectado2.9.0-DEVELOPMENT (9363ac5b8651a1c7a333180425ce7719070f95f9)
AuthSesión WebGUI con remote WebGUI login when authmode != Local; passwordmg is not warn-root
LicenciaGNU Affero GPL v3.0
Labsolo 127.0.0.1

Fijé el master público 9363ac5. El lab es un gadget PHP del sink fijado, HTTP en loopback sobre 127.0.0.1:19010.

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

Qué puede hacer un atacante

MétodoSinkPrivilegio
Bind LDAP/RADIUS con el nombre del admin local, luego POST passwordmggetUserEntry / isAdminUID / local_user_set_passwordIntegridad: Probado en lab: el admin remoto es isAdminUID; todas las páginas incluida diag_command; passwordmg estableció el hash de uid 0. Los nombres remotos solo-stub fallan de forma segura.
mismo residualmismo sinkRecon: Probado en lab: flag de permiso para todas las páginas.
mismo residualmismo sinkDisponibilidad: Ninguna mostrada.

Requiere: remote WebGUI login when authmode != Local; passwordmg is not warn-root. CSRF-magic en POST salvo que se indique lo contrario. WebGUI PHP-FPM es root.

Requiere: remote WebGUI login when authmode != Local; passwordmg is not warn-root. CSRF-magic en POST salvo que se indique lo contrario. WebGUI PHP-FPM es root. CSRF-magic en POST salvo que se indique lo contrario. WebGUI PHP-FPM es root.

Superficie adyacente que permanece cerrada

Nombres remotos solo-stub. usermanager en sí es warn-root. El salto de uid de SA-26_22 xmlrpc es un bug diferente.

No hay Diagnostics: Command a menos que esa página también esté concedida.

Lab

cd lab
./run.sh

Loopback 127.0.0.1:19010. Proyecto Compose pfsense-ldap-name-collision. Testigo PFSENSE-LDAP-NAME-COLLISION-WITNESS. Solo loopback: 127.0.0.1:19010. Proyecto Compose pfsense-ldap-name-collision. Testigo PFSENSE-LDAP-NAME-COLLISION-WITNESS. Gadget PHP de las líneas fijadas. El stack se desmonta tras la ejecución.

Última línea:

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

Corrección

No mapear un nombre remoto a una fila local con uid 0. Usar uid === '0' estricto más el origen de autenticación. Hacer que passwordmg sea warn-root.

Referencias

  • github.com/pfsense/pfsense 9363ac5b8651a1c7a333180425ce7719070f95f9
  • CWE-269
  • Serie: https://abraxaslabs.tech/research/pfsense-ce-leftovers
Descargar herramienta