Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

FluxContactConfidentialité© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
pfsense-ipsec-login-banner — pfSense CE 2.9.0-DEVELOPMENT - Élevé - À distance - RCE - IPsec login_banner start-scripts | Kitploit
Outils/GitHubGitHub/abraxas/pfsense-ipsec-login-banner
Analyse des VulnérabilitésExploitationExploitation d'Applications WebTests d'IntrusionCommandement et ContrôleArticles et RechercheRed TeamingDéveloppement de Charges Utiles
Labs et Pratique
GitHubabraxas/pfsense-ipsec-login-banner

pfsense-ipsec-login-banner

pfSense CE 2.9.0-DEVELOPMENT - Élevé - À distance - RCE - IPsec login_banner start-scripts

Voir le dépôt
11il y a 2 joursPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

Abraxas Labs - pfsense-ipsec-login-banner

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

pfsense-ipsec-login-banner

Classe : RCE Portée : Distante

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

La bannière de connexion IPsec Mobile est stockée avec une simple vérification de longueur, puis injectée sans guillemets dans strongswan.conf en tant que charon.plugins.attr.28672. strongSwan termine une valeur non quotée sur }. Une bannière compatible Form_Input (sans retours à la ligne) peut fermer attr / plugins et ouvrir charon.start-scripts. L'application sur cette page est strongswanrc restart. charon exécute popen sur les chemins start-scripts à son démarrage. Le privilège est page-vpn-ipsec-mobile, et non IPsec avancé / Diagnostics : Command.

IDpas encore de CVE
ClasseRCE
PortéeDistante (WebGUI authentifiée)
CWECWE-74
CVSSÉlevé : 8.8 CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
ProduitpfSense CE
Affecté2.9.0-DEVELOPMENT (9363ac5b8651a1c7a333180425ce7719070f95f9) IPsec login_banner
AuthSession WebGUI avec page-vpn-ipsec-mobile
LicenceGNU Affero GPL v3.0
Lab127.0.0.1 uniquement

J'ai épinglé le master public 9363ac5. Le lab est épinglé sur ipsec_strongswan_confgen plus le vrai /usr/lib/ipsec/charon. Loopback 127.0.0.1:18850. Le préfixe include n'a pas été utilisé.

Ce qu'un attaquant peut faire

MéthodePoint de sortiePrivilège
POST vpn_ipsec_mobile.php save avec login_banner_enable + une bannière qui ferme attr/plugins et ouvre charon.start-scripts, puis POST applyipsec_strongswan_confgen non quoté key = {$value} (ipsec.inc:1378-1384) ; charon popen des start-scriptsIntégrité (prouvé en lab) : le vrai charon a chargé la conf générée et a exécuté popen sur le chemin start-scripts (charon=yes). La bannière de contrôle Welcome est restée à l'intérieur de attr (control-no-scripts=yes).
Même popensystème de fichiers de l'hôteRecon (déduit) : config.xml, clés.
strongswan.conf invalide ou redémarrage IPseccharonDisponibilité (déduit) : les tunnels IPsec tombent ou échouent au démarrage. Apply redémarre déjà IPsec.

Prouvé en lab vs déduit : control-no-scripts, start-scripts dans la conf générée, et le vrai charon popen sont prouvés en lab. La reconnaissance du système de fichiers est déduite de ce popen. Des sections factices après le bloc injecté absorbent les trois fermetures de confgen afin que le fichier reste un arbre de paramètres valide.

Nécessite : une session WebGUI avec page-vpn-ipsec-mobile. Un jeton CSRF. Save puis Apply sur la même page. Ne nécessite pas page-all, page-vpn-ipsec-editphase1, ni une zone de texte de configuration brute IPsec.

Surface adjacente qui reste fermée

SurfaceLab
Bannière de contrôle Welcomereste à l'intérieur de attr, pas de start-scripts
Non authentifié / CSRF sans jetonfermé
OpenVPN config.ovpnautre résidu (G2)
XSS HTML P1SA-26_14 skip-list
page-vpn-ipsec-editphase1non requis
Diagnostics : Commandreste fermé sauf si également accordé

Le dns_domain d'IPsec mobile sur cette page utilise déjà is_domain().

Lab

cd lab
./run.sh

Loopback 127.0.0.1:18850. Projet Compose pfsense-ipsec-login-banner. Tag d'image pfsense-ipsec-login-banner:2.9.0-dev. Témoin PFSENSE-IPSEC-LOGIN-BANNER-WITNESS. Dernière ligne :

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

Le correctif

Quoter / échapper login_banner dans ipsec_strongswan_confgen. Rejeter } # et les retours à la ligne à l'enregistrement (le widget HTML est déjà un Form_Input sur une seule ligne). is_domain() existe déjà sur cette page pour le domaine DNS ; la bannière a besoin du même type de vérification.

Références

  • github.com/pfsense/pfsense 9363ac5b8651a1c7a333180425ce7719070f95f9
  • vpn_ipsec_mobile.php
  • ipsec.inc ipsec_strongswan_confgen / ipsec_setup_strongswan
  • strongswan.conf charon.start-scripts
  • CWE-74
Télécharger l’outil