Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

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

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

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
opensvp — Opensvp 是一款安全工具,其实现“攻击”以测试防火墙对协议级攻击的抵抗能力。 | Kitploit
工具/GitHubGitHub/regit/opensvp
漏洞分析漏洞利用IDS/IPS规避网络安全渗透测试
GitHubregit/opensvp

opensvp

Opensvp 是一款安全工具,其实现“攻击”以测试防火墙对协议级攻击的抵抗能力。

查看仓库
49729年前Kitploit 审核通过

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

Opensvp

简介

Opensvp 是一个安全工具,实现了各种“攻击”,用于测试防火墙对协议层攻击的抵抗能力。它既实现了经典攻击,也实现了针对应用层网关(在 Netfilter 世界中称为 helper)的一些新型攻击。

例如,在某些条件下(详见下文说明),opensvp 能够在保护 FTP 服务器的防火墙上打开一个针孔(pin hole):即使过滤策略保证只有 21 端口对服务器开放,你仍然可以通过 opensvp 打开服务器上的“任意”端口。

假设 192.168.2.3 是一台位于防火墙之后、运行 FTP 的服务器。如果用户以 root 身份运行::

opensvp --attacker -t 192.168.2.3 --helper ftp --port 23 -v -i eth0

那么,无论防火墙规则如何,他都将临时获得服务器 23 端口的访问权限。

文档“Secure use of iptables and connection tracking helpers” https://home.regit.org/netfilter-en/secure-use-of-helpers/ 描述了针对此类攻击的防护方法。

已实现的攻击

针对 helper 的欺骗攻击

有关所实现攻击的精确描述,请参见下一章。

攻击者位于通过 eth0 接口直接连接到防火墙的网络中,可以运行以下命令::

opensvp --attacker -t 192.168.2.3 --helper ftp --port 23 -v -i eth0

192.168.2.3 是 FTP 服务器的地址,23 是我们要在服务器上打开的端口。攻击成功后,即可连接到 192.168.2.3 的 23 端口。

滥用 helper

客户端可以发送一条伪造的命令消息,防火墙可能将其解释为开启动态连接。可以使用标准服务器发起攻击;而使用自定义服务器时,你可以获知可能的 NAT 网关所进行的转换。

一个典型的会话如下。在 IP 地址为 1.2.3.4 的服务器上,你可以运行::

$ opensvp --server --helper irc -v

然后,在客户端上运行::

$ opensvp --client -t 1.2.3.4 --helper irc --port 23 -v 2.3.4.5:23 should be opened from outside

服务器端会显示以下消息::

You should be able to connect to 2.3.4.5:23

这里的 2.3.4.5 是客户端的公网地址。

针对 DPI 解决方案的 TTL 攻击

在攻击者一侧,你需要启动 opensvp,并指定所使用的 Netfilter 队列以及输出接口::

opensvp -n -q 0 -i eth1

然后,你需要使用 iptables 将希望隐藏于协议识别机制的流量发送到用户空间::

iptables -I INPUT -p tcp --sport 443 -j NFQUEUE iptables -I OUTPUT -p tcp --dport 443 -j NFQUEUE

完成后,按 CTRL+C 中断攻击进程。

针对 helper 的攻击描述

原理

一些网络协议在客户端和服务器之间通信时会使用多条连接。最著名的例子是 FTP:命令通过 21 端口的连接传输,数据交换则使用两种不同模式完成(从 20 端口发起连接,或使用动态连接)。

某些防火墙实现带有应用层网关(ALG),以检测这种并行连接并动态地授权它们。其它解决方案是使用应用中继(透明代理),或开放所有可能的流量(几乎全部放行)。

ALG 分析流量,检测并解析对等方之间发送的命令,以声明并行连接的参数。完成后,它们会在防火墙中临时打开针孔,让可能产生的流量通过。

这种攻击的思路是伪造这类消息,以在防火墙中打开针孔——但打开的针孔本不应被打开。

条件:

  • 攻击者计算机位于直接连接到防火墙的网络中。
  • 防火墙对该攻击敏感(例如,将 rp_filter 设置为 0 的 Netfilter)。
  • 攻击者能够嗅探数据包(通过 pcap 嗅探,或自行运行数据连接)。

攻击过程如下:

  1. 攻击者网络上的嗅探器从协议流中捕获一个数据包

    • 交换以太网帧的目的地址和源地址
    • 增加 IP 中的 ID 和 TCP 的序列号
    • 将负载设置为所需的命令(带有选定的 端口)
  2. 将伪造的数据包发送到连接到防火墙的接口

  3. 防火墙将该数据包传回客户端,并开始期待根据攻击者输入特征的数据包

攻击 IRC

该攻击是上述原理的直接应用。一旦收到数据包,攻击者就会发送伪造的 DCC 命令。

攻击 FTP

在这种攻击中,客户端连接由攻击者打开。他连接到防火墙后面的 FTP 服务器,并建立一个真实连接。会话建立后,他通过发送伪造的 227 命令发动攻击。

如果使用 IPv6,则通过伪造的 229 命令完成相同的攻击。

攻击的影响

可能的目标

root@kitploit:~

这些攻击的主要限制是,攻击者必须位于直接连接到防火墙的网络中。

因此,主要可能性有:
 * 从用户局域网发起攻击
 * 在托管机房发起攻击

这两种情况都可能造成严重的信息泄露,因为攻击者可以访问未受保护的服务。

Linux
~~~~~

已知在 rp_filter 设置为 0 的情况下,该攻击对 IPv4 Netfilter 防火墙有效(希望这不是默认值)。

目前还没有针对 IPv6 的反向路径过滤实现,因此防火墙不受保护,防护必须设置在防火墙规则中(见下一章)。

已知以下一些防火墙软件容易受到攻击:
 * fwbuilder:需要设置特定策略
 * shorewall:最新版本修复了该问题
 * edenwall:存在漏洞

该攻击对网关防火墙和本地防火墙都有效。在本地防火墙上,需要激活 FORWARD 过滤,并在此链上设置 ESTABLISHED ACCEPT 规则。运行虚拟机的系统就可能出现这种情况。

防御该攻击
==========================
Linux
-----

参见专门讨论该主题的文档:https://home.regit.org/netfilter-en/secure-use-of-helpers/

其他操作系统和设备
--------------------

基本要求是启用严格的反欺骗,并在可能的情况下控制 ALG 的加载。
下载工具