Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

FeedsKontaktDatenschutz© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
pfsense-ipsec-login-banner — pfSense CE 2.9.0-DEVELOPMENT - Hoch - Remote - RCE - IPsec login_banner start-scripts | Kitploit
Tools/GitHubGitHub/abraxas/pfsense-ipsec-login-banner
SchwachstellenanalyseExploitationWebanwendungs-ExploitationPenetrationstestsCommand and ControlPapers & ForschungRed TeamingPayload-EntwicklungLabs & Praxis
GitHubabraxas/pfsense-ipsec-login-banner

pfsense-ipsec-login-banner

pfSense CE 2.9.0-DEVELOPMENT - Hoch - Remote - RCE - IPsec login_banner start-scripts

Repository anzeigen
11vor 2 TagenNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

Abraxas Labs - pfsense-ipsec-login-banner

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

pfsense-ipsec-login-banner

Klasse: RCE Reichweite: Remote

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

Das IPsec-Mobile-Login-Banner wird nur mit einer Längenprüfung gespeichert und dann unquoted als charon.plugins.attr.28672 in strongswan.conf geschrieben. strongSwan beendet einen unquoted Wert bei }. Ein Form_Input-sicheres Banner (keine Zeilenumbrüche) kann attr / plugins schließen und charon.start-scripts öffnen. Apply auf dieser Seite ist strongswanrc restart. charon popent start-scripts-Pfade beim Start. Die Berechtigung ist page-vpn-ipsec-mobile, nicht IPsec advanced / Diagnostics: Command.

IDnoch keine CVE
KlasseRCE
ReichweiteRemote (authentifiziertes WebGUI)
CWECWE-74
CVSSHigh: 8.8 CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
ProduktpfSense CE
Betroffen2.9.0-DEVELOPMENT (9363ac5b8651a1c7a333180425ce7719070f95f9) IPsec login_banner
AuthWebGUI-Sitzung mit page-vpn-ipsec-mobile
LizenzGNU Affero GPL v3.0
Labnur 127.0.0.1

Ich habe den öffentlichen Master 9363ac5 gepinnt. Das Lab ist auf ipsec_strongswan_confgen plus echtes /usr/lib/ipsec/charon gepinnt. Loopback 127.0.0.1:18850. Das Präfix include wurde nicht verwendet.

Was ein Angreifer tun kann

MethodeSinkBerechtigung
POST vpn_ipsec_mobile.php save mit login_banner_enable + einem Banner, das attr/plugins schließt und charon.start-scripts öffnet, dann POST applyipsec_strongswan_confgen unquoted key = {$value} (ipsec.inc:1378-1384); charon popen von start-scriptsIntegrität (im Lab bewiesen): echtes charon lud die generierte Konfiguration und popente den start-scripts-Pfad (charon=yes). Kontroll-Banner Welcome blieb innerhalb von attr (control-no-scripts=yes).
Derselbe popenHost-DateisystemRecon (abgeleitet): config.xml, Schlüssel.
Ungültige strongswan.conf oder IPsec-NeustartcharonVerfügbarkeit (abgeleitet): IPsec-Tunnel brechen ab oder starten nicht. Apply startet IPsec ohnehin neu.

Im Lab bewiesen vs. abgeleitet: control-no-scripts, start-scripts in der generierten Konfiguration und echtes charon popen sind im Lab bewiesen. Dateisystem-Recon wird aus diesem popen abgeleitet. Dummy-Abschnitte nach dem injizierten Block absorbieren die drei Closer von confgen, damit die Datei ein gültiger Einstellungsbaum bleibt.

Erfordert: WebGUI-Sitzung mit page-vpn-ipsec-mobile. CSRF-Token. Save, dann Apply auf derselben Seite. Erfordert nicht page-all, page-vpn-ipsec-editphase1 oder eine IPsec-Raw-Config-Textarea.

Angrenzende Angriffsfläche, die geschlossen bleibt

AngriffsflächeLab
Kontroll-Banner Welcomebleibt innerhalb von attr, keine start-scripts
Unauth / CSRF ohne Tokengeschlossen
OpenVPN config.ovpnanderer Überrest (G2)
P1 HTML XSSSA-26_14 Skip-List
page-vpn-ipsec-editphase1nicht erforderlich
Diagnostics: Commandbleibt geschlossen, sofern nicht zusätzlich gewährt

IPsec-Mobile dns_domain auf dieser Seite verwendet bereits is_domain().

Lab

cd lab
./run.sh

Loopback 127.0.0.1:18850. Compose-Projekt pfsense-ipsec-login-banner. Image-Tag pfsense-ipsec-login-banner:2.9.0-dev. Witness PFSENSE-IPSEC-LOGIN-BANNER-WITNESS. Letzte Zeile:

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

Der Fix

login_banner in ipsec_strongswan_confgen quoten / escapen. } # und Zeilenumbrüche beim Speichern ablehnen (das HTML-Widget ist bereits ein einzeiliges Form_Input). is_domain() existiert auf dieser Seite bereits für DNS-Domain; das Banner braucht dieselbe Art von Prüfung.

Referenzen

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