Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

FeedContattoPrivacy© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
pfsense-ipsec-login-banner — pfSense CE 2.9.0-DEVELOPMENT - Alto - Remoto - RCE - IPsec login_banner start-scripts | Kitploit
Strumenti/GitHubGitHub/abraxas/pfsense-ipsec-login-banner
Analisi delle VulnerabilitàExploitSfruttamento di Applicazioni WebPenetration TestingCommand and ControlPaper e RicercaRed TeamingSviluppo PayloadLab e Pratica
GitHubabraxas/pfsense-ipsec-login-banner

pfsense-ipsec-login-banner

pfSense CE 2.9.0-DEVELOPMENT - Alto - Remoto - RCE - IPsec login_banner start-scripts

Vedi Repository
112 giorni faNon ancora revisionato

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

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 Portata: Remota

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

Il banner di login di IPsec Mobile viene memorizzato con un solo controllo di lunghezza, poi riversato senza virgolette in strongswan.conf come charon.plugins.attr.28672. strongSwan termina un valore non quotato su }. Un banner compatibile con Form_Input (senza newline) può chiudere attr / plugins e aprire charon.start-scripts. Apply su quella pagina è strongswanrc restart. charon esegue popen sui percorsi di start-scripts quando si avvia. Il privilegio è page-vpn-ipsec-mobile, non IPsec advanced / Diagnostics: Command.

IDnessuna CVE al momento
ClasseRCE
PortataRemota (WebGUI autenticata)
CWECWE-74
CVSSAlto: 8.8 CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
ProdottopfSense CE
Affetto2.9.0-DEVELOPMENT (9363ac5b8651a1c7a333180425ce7719070f95f9) IPsec login_banner
AuthSessione WebGUI con page-vpn-ipsec-mobile
LicenzaGNU Affero GPL v3.0
Labsolo 127.0.0.1

Ho fissato il master pubblico 9363ac5. Il lab è fissato a ipsec_strongswan_confgen più il vero /usr/lib/ipsec/charon. Loopback 127.0.0.1:18850. Il prefisso include non è stato usato.

Cosa può fare un attaccante

MetodoSinkPrivilegio
POST vpn_ipsec_mobile.php save con login_banner_enable + un banner che chiude attr/plugins e apre charon.start-scripts, poi POST applyipsec_strongswan_confgen non quotato key = {$value} (ipsec.inc:1378-1384); charon popen di start-scriptsIntegrità (dimostrata in lab): il vero charon ha caricato la conf generata ed eseguito popen sul percorso di start-scripts (charon=yes). Il banner di controllo Welcome è rimasto dentro attr (control-no-scripts=yes).
Stesso popenfilesystem dell'hostRicognizione (inferita): config.xml, chiavi.
strongswan.conf non valido o riavvio IPseccharonDisponibilità (inferita): i tunnel IPsec cadono o non si avviano. Apply riavvia già IPsec.

Dimostrato in lab vs inferito: control-no-scripts, start-scripts nella conf generata e il popen del vero charon sono dimostrati in lab. La ricognizione del filesystem è inferita da quel popen. Le sezioni fittizie dopo il blocco iniettato assorbono i tre chiusori di confgen così il file rimane un albero di impostazioni valido.

Richiede: sessione WebGUI con page-vpn-ipsec-mobile. Token CSRF. Save poi Apply sulla stessa pagina. Non richiede page-all, page-vpn-ipsec-editphase1, o una textarea di configurazione raw IPsec.

Superficie adiacente che rimane chiusa

SuperficieLab
Banner di controllo Welcomerimane dentro attr, nessun start-scripts
Non autenticato / CSRF senza tokenchiuso
OpenVPN config.ovpnresiduo diverso (G2)
XSS HTML P1skip-list SA-26_14
page-vpn-ipsec-editphase1non richiesto
Diagnostics: Commandrimane chiuso a meno che non sia anche concesso

Il dns_domain di IPsec mobile su questa pagina usa già is_domain().

Lab

cd lab
./run.sh

Loopback 127.0.0.1:18850. Progetto Compose pfsense-ipsec-login-banner. Tag immagine pfsense-ipsec-login-banner:2.9.0-dev. Witness PFSENSE-IPSEC-LOGIN-BANNER-WITNESS. Ultima riga:

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

La correzione

Quotare / effettuare l'escape di login_banner in ipsec_strongswan_confgen. Rifiutare } # e newline al salvataggio (il widget HTML è già un Form_Input a riga singola). is_domain() esiste già su questa pagina per il dominio DNS; il banner necessita della stessa classe di controllo.

Riferimenti

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