Skip to content
KitploitKITPLOIT
工具漏洞利用博客
Log in
提交
工具漏洞利用博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

订阅源联系隐私© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
pfsense-ipsec-login-banner — pfSense CE 2.9.0-DEVELOPMENT - 高危 - 远程 - RCE - IPsec login_banner 启动脚本 | Kitploit
工具/GitHubGitHub/abraxas/pfsense-ipsec-login-banner
漏洞分析漏洞利用Web应用程序漏洞利用渗透测试命令与控制论文与研究红队Payload 开发实验室与实践
GitHubabraxas/pfsense-ipsec-login-banner

pfsense-ipsec-login-banner

pfSense CE 2.9.0-DEVELOPMENT - 高危 - 远程 - RCE - IPsec login_banner 启动脚本

113天前尚未审核

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
查看仓库
分享

Abraxas Labs - pfsense-ipsec-login-banner

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

pfsense-ipsec-login-banner

类别: RCE 可达性: 远程

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

IPsec 移动登录横幅仅经过长度检查后存储,随后未加引号地写入 strongswan.conf,作为 charon.plugins.attr.28672。strongSwan 在遇到 } 时结束未加引号的值。一个 Form_Input 安全的横幅(无换行符)可以关闭 attr / plugins 并打开 charon.start-scripts。在该页面上应用即执行 strongswanrc restart。charon 在启动时会对 start-scripts 路径执行 popen。所需权限为 page-vpn-ipsec-mobile,而非 IPsec 高级 / 诊断:命令。

ID暂无 CVE
类别RCE
可达性远程(已认证 WebGUI)
CWECWE-74
CVSS高危:8.8 CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
产品pfSense CE
受影响版本2.9.0-DEVELOPMENT (9363ac5b8651a1c7a333180425ce7719070f95f9) IPsec login_banner
认证具有 page-vpn-ipsec-mobile 的 WebGUI 会话
许可证GNU Affero GPL v3.0
实验环境仅 127.0.0.1

我固定了公共 master 9363ac5。实验环境固定了 ipsec_strongswan_confgen 以及真实的 /usr/lib/ipsec/charon。回环地址 127.0.0.1:18850。未使用 include 前缀。

攻击者能做什么

方法汇聚点权限
POST vpn_ipsec_mobile.php 保存,携带 login_banner_enable 以及一个关闭 attr/plugins 并打开 charon.start-scripts 的横幅,然后 POST 应用ipsec_strongswan_confgen 未加引号的 key = {$value}(ipsec.inc:1378-1384);charon 对 start-scripts 执行 popen完整性(实验环境已证实): 真实 charon 加载了生成的配置并对 start-scripts 路径执行了 popen(charon=yes)。对照横幅 Welcome 保持在 attr 内(control-no-scripts=yes)。
同样的 popen主机文件系统侦察(推断): config.xml、密钥。
无效的 strongswan.conf 或 IPsec 重启charon可用性(推断): IPsec 隧道中断或无法启动。应用本身已会重启 IPsec。

实验环境已证实 vs 推断: control-no-scripts、生成的配置中的 start-scripts,以及真实 charon popen 均为实验环境已证实。文件系统侦察由该 popen 推断而来。注入块之后的虚拟节吸收了 confgen 的三个闭合符,使文件保持为有效的设置树。

要求: 具有 page-vpn-ipsec-mobile 的 WebGUI 会话。CSRF 令牌。在同一页面上先保存再应用。不需要 page-all、page-vpn-ipsec-editphase1 或 IPsec 原始配置文本区域。

保持关闭的相邻攻击面

攻击面实验环境
对照横幅 Welcome保持在 attr 内,无 start-scripts
未认证 / 无令牌的 CSRF关闭
OpenVPN config.ovpn不同的遗留问题(G2)
P1 HTML XSSSA-26_14 跳过列表
page-vpn-ipsec-editphase1不需要
诊断:命令除非同时被授予,否则保持关闭

此页面上的 IPsec 移动 dns_domain 已使用 is_domain()。

实验环境

cd lab
./run.sh

回环地址 127.0.0.1:18850。Compose 项目 pfsense-ipsec-login-banner。镜像标签 pfsense-ipsec-login-banner:2.9.0-dev。见证字符串 PFSENSE-IPSEC-LOGIN-BANNER-WITNESS。最后一行:

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

修复方案

在 ipsec_strongswan_confgen 中对 login_banner 加引号 / 转义。在保存时拒绝 } # 和换行符(HTML 控件已经是单行 Form_Input)。此页面上 DNS 域已存在 is_domain();横幅需要同类检查。

参考资料

  • github.com/pfsense/pfsense 9363ac5b8651a1c7a333180425ce7719070f95f9
  • vpn_ipsec_mobile.php
  • ipsec.inc ipsec_strongswan_confgen / ipsec_setup_strongswan
  • strongswan.conf charon.start-scripts
  • CWE-74
下载工具