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-ipsec-login-banner — pfSense CE 2.9.0-DEVELOPMENT - Alta - Remota - RCE - IPsec login_banner start-scripts | Kitploit
Herramientas/GitHubGitHub/abraxas/pfsense-ipsec-login-banner
Análisis de VulnerabilidadesExplotaciónExplotación de Aplicaciones WebPruebas de PenetraciónComando y ControlPapers e InvestigaciónRed TeamingDesarrollo de Payloads
Labs y Práctica
GitHubabraxas/pfsense-ipsec-login-banner

pfsense-ipsec-login-banner

pfSense CE 2.9.0-DEVELOPMENT - Alta - Remota - RCE - IPsec login_banner start-scripts

Ver Repositorio
11hace 2 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-ipsec-login-banner

abraxaslabs.tech  ·  github.com/abraxas  ·  @abraxas_null  ·  [email protected]  ·  pfsense-ipsec-login-banner

pfsense-ipsec-login-banner

Clase: RCE Alcance: Remoto

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

El banner de inicio de sesión de IPsec Mobile se almacena solo con una comprobación de longitud, y luego se vuelca sin comillas en strongswan.conf como charon.plugins.attr.28672. strongSwan termina un valor sin comillas en }. Un banner seguro para Form_Input (sin saltos de línea) puede cerrar attr / plugins y abrir charon.start-scripts. Aplicar en esa página es strongswanrc restart. charon hace popen de las rutas de start-scripts cuando se inicia. El privilegio es page-vpn-ipsec-mobile, no IPsec advanced / Diagnostics: Command.

IDsin CVE todavía
ClaseRCE
AlcanceRemoto (WebGUI autenticada)
CWECWE-74
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) IPsec login_banner
AutenticaciónSesión WebGUI con page-vpn-ipsec-mobile
LicenciaGNU Affero GPL v3.0
Laboratoriosolo 127.0.0.1

Fijé el master público 9363ac5. El laboratorio está fijado a ipsec_strongswan_confgen más el /usr/lib/ipsec/charon real. Loopback 127.0.0.1:18850. No se usó el prefijo include .

Qué puede hacer un atacante

MétodoSinkPrivilegio
POST a vpn_ipsec_mobile.php save con login_banner_enable + un banner que cierra attr/plugins y abre charon.start-scripts, luego POST applyipsec_strongswan_confgen sin comillas key = {$value} (ipsec.inc:1378-1384); popen de charon sobre start-scriptsIntegridad (probado en laboratorio): el charon real cargó la conf generada e hizo popen de la ruta de start-scripts (charon=yes). El banner de control Welcome permaneció dentro de attr (control-no-scripts=yes).
Mismo popensistema de archivos del hostRecon (inferido): config.xml, claves.
strongswan.conf inválido o reinicio de IPseccharonDisponibilidad (inferido): los túneles IPsec se caen o no arrancan. Apply ya reinicia IPsec.

Probado en laboratorio vs inferido: control-no-scripts, start-scripts en la conf generada y el popen del charon real están probados en laboratorio. El reconocimiento del sistema de archivos se infiere de ese popen. Las secciones dummy después del bloque inyectado absorben los tres cierres de confgen para que el archivo siga siendo un árbol de configuración válido.

Requiere: sesión WebGUI con page-vpn-ipsec-mobile. Token CSRF. Guardar y luego Aplicar en la misma página. No requiere page-all, page-vpn-ipsec-editphase1 ni un textarea de configuración raw de IPsec.

Superficie adyacente que permanece cerrada

SuperficieLaboratorio
Banner de control Welcomepermanece dentro de attr, sin start-scripts
Sin autenticación / CSRF sin tokencerrado
OpenVPN config.ovpnresiduo diferente (G2)
XSS HTML de P1lista de omisión SA-26_14
page-vpn-ipsec-editphase1no requerido
Diagnostics: Commandpermanece cerrado a menos que también se otorgue

El dns_domain de IPsec mobile en esta página ya usa is_domain().

Laboratorio

cd lab
./run.sh

Loopback 127.0.0.1:18850. Proyecto Compose pfsense-ipsec-login-banner. Etiqueta de imagen pfsense-ipsec-login-banner:2.9.0-dev. Testigo PFSENSE-IPSEC-LOGIN-BANNER-WITNESS. Última línea:

SUCCESS PFSENSE-IPSEC-LOGIN-BANNER control-no-scripts=yes start-scripts=yes charon=yes PFSENSE-IPSEC-LOGIN-BANNER-WITNESS

La solución

Poner entre comillas / escapar login_banner en ipsec_strongswan_confgen. Rechazar } # y saltos de línea al guardar (el widget HTML ya es un Form_Input de una sola línea). is_domain() ya existe en esta página para el dominio DNS; el banner necesita el mismo tipo de comprobación.

Referencias

  • github.com/pfsense/pfsense 9363ac5b8651a1c7a333180425ce7719070f95f9
  • vpn_ipsec_mobile.php
  • ipsec.inc ipsec_strongswan_confgen / ipsec_setup_strongswan
  • strongswan.conf charon.start-scripts
  • CWE-74
Descargar herramienta