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

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

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

订阅源联系隐私© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
pfsense-openvpn-wizard-crlf — pfSense CE 2.9.0-DEVELOPMENT - 高危 - 远程 - RCE - OpenVPN 向导 CRLF | Kitploit
工具/GitHubGitHub/abraxas/pfsense-openvpn-wizard-crlf
漏洞分析漏洞利用Web应用程序漏洞利用渗透测试命令与控制远程访问工具实验室与实践
GitHubabraxas/pfsense-openvpn-wizard-crlf

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →

pfsense-openvpn-wizard-crlf

pfSense CE 2.9.0-DEVELOPMENT - 高危 - 远程 - RCE - OpenVPN 向导 CRLF

查看仓库
222天前尚未审核
分享

Abraxas Labs - pfsense-openvpn-wizard-crlf

abraxaslabs.tech  ·  github.com/abraxas  ·  @abraxas_null  ·  [email protected]  ·  pfsense-openvpn-wizard-crlf

pfsense-openvpn-wizard-crlf

类别: RCE 可达性: 远程

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

OpenVPN 向导将 Default Domain / NetBIOS scope 复制到 dns_domain / netbios_scope 时没有进行 is_domain() 检查,随后 openvpn_add_dhcpopts() 将它们写入一个已经带有 script-security 3 的服务器 config.ovpn。一个引号加 LF 即可闭合 push "dhcp-option ..." 行,并添加包括 up 在内的服务器指令。所需权限为 Wizard Subsystem,而非 OpenVPN advanced。这是 SA-26_07 的同类问题,后者仅点名了 vpn_openvpn_server.php。

ID暂无 CVE
类别RCE
可达性远程(已认证 WebGUI)
CWECWE-74 / CWE-78
CVSSHigh: 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) OpenVPN 向导
认证具有 page-pfsensewizardsubsystem 的 WebGUI 会话
许可证GNU Affero GPL v3.0
实验环境仅 127.0.0.1

我固定了公共 master 9363ac5。实验环境为固定版本的向导分配加上 openvpn_add_dhcpopts,然后在 tun0 上运行 OpenVPN 2.6.14。回环地址 127.0.0.1:18820。如果 2.9.0-RELEASE 已修复该辅助函数,那么这与 SA-26_07 是同一个 SA。

攻击者能做什么

方法汇聚点权限
完成 OpenVPN Remote Access 向导;将 Default Domain(或 NetBIOS scope)设置为一个能闭合 push 行并添加 up 的值openvpn_add_dhcpopts 写入服务器 config.ovpn(openvpn.inc:697-738),且带有 script-security 3(:905)完整性(实验证明): OpenVPN 2.6.14 在 tun0 上执行了该 up 并写入了见证文件(up-exec=yes)。对照值 example.com 保持为单个 DOMAIN push。
同一主机命令OpenVPN up 以守护进程用户身份执行(在 pfSense 上为 root)侦察(推断): 主机文件系统、config.xml、密钥。
破坏 OpenVPN 配置或主机命令OpenVPN 服务器可用性(推断): OpenVPN / 防火墙中断。

实验证明 vs 推断: 向导分配、dhcpopts up、script-security 3、对照干净、以及 tun0 up-exec 均为实验证明。文件系统侦察是从 up 进程推断的。CCD blob 中的相同投毒未被执行(ccd-up-ignored=yes)。

要求: 具有 page-pfsensewizardsubsystem 的 WebGUI 会话。CSRF token。不需要 page-openvpn-server 或 page-openvpn-server-advanced。

保持关闭的相邻攻击面

攻击面实验
对照域名 example.com单个 DOMAIN push,control-clean=yes
CCD up(OpenVPN 2.6 子集)ccd-up-ignored=yes
未认证 / 无 token 的 CSRF关闭
OpenVPN custom_options预期的 advanced 权限
诊断:Command除非同时被授予,否则保持关闭

实验

cd lab
./run.sh

回环地址 127.0.0.1:18820。Compose 项目 pfsense-openvpn-wizard-crlf。镜像标签 pfsense-openvpn-wizard-crlf:2.9.0-dev。见证 PFSENSE-OPENVPN-WIZARD-CRLF-WITNESS。最后一行:

SUCCESS PFSENSE-OPENVPN-WIZARD-CRLF wizard-assign=yes dhcpopts-up=yes script-security-3=yes control-clean=yes up-exec=yes PFSENSE-OPENVPN-WIZARD-CRLF-WITNESS

修复方案

在向导的 defaultdomain / nbtscope 变为 dns_domain / netbios_scope 之前,对其应用 is_domain()(或剥离 CR/LF/引号),与 IPsec mobile 已有的做法相同。在 openvpn_add_dhcpopts() 内部进行净化,以覆盖所有调用方,包括向导。

参考资料

  • github.com/pfsense/pfsense 9363ac5b8651a1c7a333180425ce7719070f95f9
  • openvpn_wizard.inc
  • openvpn.inc openvpn_add_dhcpopts
  • 被点名的页面(非此遗留问题):SA-26_07 / Redmine #16899 / commit fd301381(不在此公共代码树中)
  • CWE-74 / CWE-78
下载工具