# 264/tcp - Pentesting Check Point Firewall
Tip
学习和实践 AWS 黑客技术:
HackTricks Training AWS Red Team Expert (ARTE)
学习和实践 GCP 黑客技术:HackTricks Training GCP Red Team Expert (GRTE)
学习和实践 Azure 黑客技术:
HackTricks Training Azure Red Team Expert (AzRTE)
支持 HackTricks
- 查看 订阅计划!
- 加入 💬 Discord 群组 或 Telegram 群组 或 在 Twitter 🐦 上关注我们 @hacktricks_live.
- 通过向 HackTricks 和 HackTricks Cloud GitHub 仓库提交 PR 来分享黑客技巧。
可以与 CheckPoint Firewall-1 防火墙交互,以发现有价值的信息,例如防火墙的名称和管理站的名称。 这可以通过向端口 264/TCP 发送查询来完成。
获取防火墙和管理站名称
使用预认证请求,您可以执行针对 CheckPoint Firewall-1 的模块。以下是此操作所需的命令:
use auxiliary/gather/checkpoint_hostname
set RHOST 10.10.10.10
在运行时,该模块尝试联系防火墙的 SecuRemote Topology 服务。如果成功,它会确认存在 CheckPoint Firewall,并检索防火墙和 SmartCenter 管理主机的名称。下面是输出可能的示例:
[*] Attempting to contact Checkpoint FW1 SecuRemote Topology service...
[+] Appears to be a CheckPoint Firewall...
[+] Firewall Host: FIREFIGHTER-SEC
[+] SmartCenter Host: FIREFIGHTER-MGMT.example.com
[*] Auxiliary module execution completed
发现 Hostname 和 ICA Name 的另一种方法
另一种技巧是通过一个直接的 command,向 firewall 发送特定查询并解析响应以提取 firewall 的 hostname 和 ICA name。该 command 及其结构如下:
printf '\x51\x00\x00\x00\x00\x00\x00\x21\x00\x00\x00\x0bsecuremote\x00' | nc -q 1 10.10.10.10 264 | grep -a CN | cut -c 2-
该命令的输出会提供有关 firewall 的证书名称 (CN) 和组织 (O) 的详细信息,如下所示:
CN=Panama,O=MGMTT.srv.rxfrmi
HTTP Security Server Format String Bug (CAN-2004-0039)
受影响的版本: NG FCS, NG FP1, NG FP2, NG FP3 HF2, 和 NG 带有 Application Intelligence R54/R55。
要求: 必须启用 HTTP Security Server 或 AI HTTP proxy,并对目标端口进行透明检查;如果 HTTP inspection 被禁用,则永远不会触发易受攻击的代码路径。
触发错误处理程序
该 proxy 会拒绝格式错误的 HTTP 消息,并用 sprintf(errbuf, attacker_string); 构建自己的错误页面,使攻击者控制的字节充当格式化字符串。通过 firewall 发送一个无效请求,并查找由 proxy 生成且反映你 payload 的错误:
printf 'BOGUS%%08x%%08x%%08x%%n HTTP/1.0\r\nHost: internal.local\r\n\r\n' | nc -nv [FIREWALL_IP] 80
If HTTP inspection is active, the firewall (not the backend server) answers immediately, proving the middlebox parsed and replayed the request line.
利用
Format string primitive
- 将 parser 强制进入 error routine(invalid method、URI 或 headers)。
- 将 attacker-controlled dwords 放在前面,使
%x、%s和%n指令将它们当作栈参数处理。 - 使用
%x/%s来 leak 指针,然后用%n/%hn将格式化后的字节计数写入选定地址,覆盖 return pointers、vtables 或 heap metadata,随后通过注入的 shellcode 或 ROP 劫持执行。
Heap overflow primitive
相同的不安全 sprintf() 会写入固定大小的 heap buffer。将长请求体与超大指令(例如 %99999x)混合,使格式化输出超出分配并破坏相邻的 heap 结构,从而让你伪造 freelist pointers 或 function tables,后续被解引用。
影响
代理被攻破会在 firewall 进程内获得代码执行(在 Windows appliances 上为 SYSTEM,在 UNIX 上为 root),从而可以更改规则、拦截流量并在管理网络中向更深层 pivot。
参考资料
- https://supportcenter.checkpoint.com/supportcenter/portal?eventSubmit_doGoviewsolutiondetails=&solutionid=sk69360
- https://bitvijays.github.io/LFF-IPS-P2-VulnerabilityAnalysis.html#check-point-firewall-1-topology-port-264
- https://www.cisa.gov/news-events/alerts/2004/02/05/http-parsing-vulnerabilities-check-point-firewall-1
- http://xforce.iss.net/xforce/alerts/id/162
Tip
学习和实践 AWS 黑客技术:
HackTricks Training AWS Red Team Expert (ARTE)
学习和实践 GCP 黑客技术:HackTricks Training GCP Red Team Expert (GRTE)
学习和实践 Azure 黑客技术:
HackTricks Training Azure Red Team Expert (AzRTE)
支持 HackTricks
- 查看 订阅计划!
- 加入 💬 Discord 群组 或 Telegram 群组 或 在 Twitter 🐦 上关注我们 @hacktricks_live.
- 通过向 HackTricks 和 HackTricks Cloud GitHub 仓库提交 PR 来分享黑客技巧。


