Skip to content
KitploitKITPLOIT
FerramentasExploitsBlog
Log in
Enviar
FerramentasExploitsBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

FeedsContatoPrivacidade© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
pfsense-ipsec-login-banner — pfSense CE 2.9.0-DEVELOPMENT - Alta - Remota - RCE - IPsec login_banner start-scripts | Kitploit
Ferramentas/GitHubGitHub/abraxas/pfsense-ipsec-login-banner
Análise de VulnerabilidadesExploraçãoExploração de Aplicações WebTestes de PenetraçãoComando e ControlePapers e PesquisaRed TeamingDesenvolvimento de PayloadsLabs e Prática
GitHubabraxas/pfsense-ipsec-login-banner

pfsense-ipsec-login-banner

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

Ver Repositório
11há 2 diasAinda não revisado

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

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 Alcance: Remoto

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

O banner de login do IPsec Mobile é armazenado apenas com uma verificação de comprimento e depois inserido sem aspas em strongswan.conf como charon.plugins.attr.28672. O strongSwan encerra um valor sem aspas em }. Um banner seguro para Form_Input (sem quebras de linha) pode fechar attr / plugins e abrir charon.start-scripts. Aplicar nessa página é strongswanrc restart. O charon faz popen nos caminhos de start-scripts quando inicia. O privilégio é page-vpn-ipsec-mobile, não IPsec advanced / Diagnostics: Command.

IDsem CVE ainda
ClasseRCE
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
ProdutopfSense CE
Afetado2.9.0-DEVELOPMENT (9363ac5b8651a1c7a333180425ce7719070f95f9) IPsec login_banner
AutenticaçãoSessão WebGUI com page-vpn-ipsec-mobile
LicençaGNU Affero GPL v3.0
Labapenas 127.0.0.1

Fixe o master público 9363ac5. O lab está fixado em ipsec_strongswan_confgen mais o /usr/lib/ipsec/charon real. Loopback 127.0.0.1:18850. O prefixo include não foi usado.

O que um atacante pode fazer

MétodoSinkPrivilégio
POST vpn_ipsec_mobile.php save com login_banner_enable + um banner que fecha attr/plugins e abre charon.start-scripts, depois POST applyipsec_strongswan_confgen sem aspas key = {$value} (ipsec.inc:1378-1384); charon popen de start-scriptsIntegridade (comprovada em lab): o charon real carregou a conf gerada e fez popen no caminho de start-scripts (charon=yes). O banner de controle Welcome permaneceu dentro de attr (control-no-scripts=yes).
Mesmo popensistema de arquivos do hostRecon (inferido): config.xml, chaves.
strongswan.conf inválido ou reinício do IPseccharonDisponibilidade (inferido): túneis IPsec caem ou falham ao iniciar. O Apply já reinicia o IPsec.

Comprovado em lab vs inferido: control-no-scripts, start-scripts na conf gerada e popen do charon real são comprovados em lab. O recon do sistema de arquivos é inferido a partir desse popen. Seções dummy após o bloco injetado absorvem os três fechamentos do confgen para que o arquivo permaneça uma árvore de configurações válida.

Requer: sessão WebGUI com page-vpn-ipsec-mobile. Token CSRF. Save e depois Apply na mesma página. Não requer page-all, page-vpn-ipsec-editphase1 ou uma textarea de configuração bruta do IPsec.

Superfície adjacente que permanece fechada

SuperfícieLab
Banner de controle Welcomepermanece dentro de attr, sem start-scripts
Não autenticado / CSRF sem tokenfechado
OpenVPN config.ovpnresíduo diferente (G2)
XSS HTML do P1skip-list SA-26_14
page-vpn-ipsec-editphase1não requerido
Diagnostics: Commandpermanece fechado a menos que também concedido

O dns_domain do IPsec mobile nesta página já usa is_domain().

Lab

cd lab
./run.sh

Loopback 127.0.0.1:18850. Projeto Compose pfsense-ipsec-login-banner. Tag da imagem pfsense-ipsec-login-banner:2.9.0-dev. Witness PFSENSE-IPSEC-LOGIN-BANNER-WITNESS. Última linha:

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

A correção

Colocar login_banner entre aspas / escapar em ipsec_strongswan_confgen. Rejeitar } # e quebras de linha ao salvar (o widget HTML já é um Form_Input de linha única). is_domain() já existe nesta página para o domínio DNS; o banner precisa do mesmo tipo de verificação.

Referências

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