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-cp-filemanager-write — pfSense CE 2.9.0-DEVELOPMENT - Alta - Remota - Escritura de archivos - Gestor de archivos CP | Kitploit
Herramientas/GitHubGitHub/abraxas/pfsense-cp-filemanager-write
Escáneres de VulnerabilidadesAnálisis de VulnerabilidadesExplotaciónExplotación de Aplicaciones WebSeguridad WebPruebas de PenetraciónPapers e InvestigaciónLabs y Práctica
GitHubabraxas/pfsense-cp-filemanager-write

pfsense-cp-filemanager-write

pfSense CE 2.9.0-DEVELOPMENT - Alta - Remota - Escritura de archivos - Gestor de archivos CP

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

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

Abraxas Labs - pfsense-cp-filemanager-write

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

pfsense-cp-filemanager-write

Clase: Escritura de archivos Alcance: Remoto

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

El nombre de carga no es basename(). Un nombre que ya contiene captiveportal- omite el prefijo. file_put_contents("{$g['captiveportal_element_path']}/{$data['name']}") con cpelements = /var/db/cpelements. El ../ restante después de captiveportal-.. todavía recorre hasta /.

IDaún sin CVE
ClaseEscritura de archivos
AlcanceRemoto (WebGUI autenticado salvo que se indique lo contrario)
CWECWE-22
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)
AutenticaciónSesión de WebGUI con page-services-captiveportal-filemanager
LicenciaGNU Affero GPL v3.0
Laboratoriosolo 127.0.0.1

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

Análisis de la serie: https://abraxaslabs.tech/research/pfsense-ce-leftovers

Qué puede hacer un atacante

MétodoSinkPrivilegio
POST services_captiveportal_filemanager.php nombre de archivofile_put_contents cpelements/{$data['name']}Integridad: Probado en laboratorio: el nombre captiveportal-../../../../../oracle/... omitió el prefijo y escribió fuera de cpelements. La escritura PHP como root es RCE en el host en esta plataforma.
mismo remanentemismo sinkReconocimiento: Inferido: sobrescribir config.xml o PHP de www.
mismo remanentemismo sinkDisponibilidad: Inferido: sobrescribir archivos críticos.

Requiere: page-services-captiveportal-filemanager. CSRF-magic en POST salvo que se indique lo contrario. WebGUI PHP-FPM es root.

Requiere: page-services-captiveportal-filemanager. 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

Un nombre sin la subcadena recibe el prefijo y no puede escapar de esa forma. El PHP documentado dentro del jail del portal es una característica diferente.

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

Laboratorio

cd lab
./run.sh

Loopback 127.0.0.1:19000. Proyecto Compose pfsense-cp-filemanager-write. Testigo PFSENSE-CP-FILEMANAGER-WRITE-WITNESS. Solo loopback: 127.0.0.1:19000. Proyecto Compose pfsense-cp-filemanager-write. Testigo PFSENSE-CP-FILEMANAGER-WRITE-WITNESS. Gadget PHP de las líneas fijadas. El stack se desmonta tras la ejecución.

Última línea:

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

Corrección

Aplicar basename() al nombre de carga. Prefijar siempre. Rechazar .. .

Referencias

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