ftester全参数详细教程!Kali Linux入门教程!黑客渗透测试!

简介

The Firewall Tester (防火墙测试仪,FTester)是一款专为测试防火墙而设计的工具 过滤策略和入侵检测系统(IDS)功能。 主要用于测试防火墙规则和网络安全设备的有效性。它可以生成不同类型的数据包,发送到目标防火墙或网络设备,帮助测试其对特定流量的过滤能力。

该工具由两个 perl 脚本、一个数据包注入器 (ftest) 和一个 监听嗅探器(ftestd)。第一个脚本注入自定义数据包,定义 在 ftest.conf 中,当嗅探器监听时,数据部分带有签名 这样标记的数据包。这两个脚本都写入一个日志文件,该文件位于同一个文件中 两个脚本的形式。两个生成的日志文件(ftest.log 和 ftestd.log)的比较 概述由于过滤规则而无法到达嗅探器的数据包 如果这两个脚本在位于不同一侧的主机上运行 防火墙。状态检查防火墙通过“连接”进行处理 欺骗'选项。还可以使用名为 freport 的脚本自动 解析日志文件。

使用该工具不是一个完全自动化的过程,ftest.conf 必须 适合各种不同的情况。示例和规则包含在 附加的配置文件。

可以使用IDS(入侵检测系统)测试功能 仅使用 ftest 或使用 ftestd 进行处理的额外支持 状态检查IDS,ftest也可以使用常见的IDS规避技术。这 脚本还可以处理snort规则定义文件。 

特征:

  •     防火墙测试
  •     入侵检测系统测试
  •     模拟状态检测防火墙和 IDS 的真实 TCP 连接
  •     TCP连接欺骗
  •     IP 分段/TCP 分段
  •     IDS规避技术 

主要功能

1. 生成自定义流量

支持生成多种协议的流量,包括 TCP、UDP、ICMP 等。可自定义源地址、目标地址、端口号等参数。

2. 流量检测与分析

通过发送精确控制的数据包,检测防火墙对不同流量的处理方式。帮助定位防火墙规则配置中的漏洞或错误。

3. 规则验证

验证防火墙规则是否按照预期生效,确保不允许的流量被阻止,允许的流量能够正常通过。

4. 模拟攻击

可以模拟常见的网络攻击流量,如端口扫描、SYN flood 攻击等,测试防火墙的防护能力。

安装

Kali Linux 默认安装好ftester工具包。也可以通过以下命令进行安装

sudo apt install ftester

使用

ftest

1. 帮助文档

直接输入ftest就可以查看帮助文档。可以看到我当前的 FTester 客户端版本是 v1.0。

ftest

配置选项

2. -f file 

从文件中读取配置。 

ftest -f firewall_test.conf

3. -c <source_ip>:<source_port>:<dest_ip>:<dest_port>:<flags>:<protocol>:<tos>

源IP:源端口:目标IP:目标端口:标志:协议:tos 

注入单个数据包(覆盖 -f 选项)。 

ftest -c 192.168.174.134:1234:192.168.174.129:80:SYN:TCP:0

4. -v <verbose>

打印到标准输出注入的数据包并进行详细说明。 

ftest -f firewall_test.conf -v

计时选项

5. -d <delay, 0.25 = 250 ms>

每次数据包注入之间的延迟(以毫秒为单位)。 

ftest -f firewall_test.conf -d 0.5
6. -s <sleep time, 1 = 1 s>

等待连接欺骗回复的睡眠时间(以秒为单位)。

ftest -f firewall_test.conf -s 1

逃避选项

7. -e <evasion method>

设置流量的绕过方法(用于逃避 IDS/IPS 检测)。

ftest -f firewall_test.conf -e stream

入侵检测系统规避(IDS EVASION)

实施了许多 IDS 规避技术,您可以使用以下命令激活它们 -e 使用“ids-conn”和“insert-conn”模式时的标志。 TCP分裂是可以控制的使用 -p 标志。

-e stream

packet => [packet1(ATT) + packet2(ACK)]

tcp流的简单分割

-e stream1

packet => [packet1(ATT) + packet(GARBAGE) [无效校验和] + packet2(ACK)]

如果 IDS 不执行校验和分析,它会看到“ATTGARBAGEACK”而不是“ATTACK”

-e ttl1 

packet => [packet1(ATT) [ttl n] + packet(GARBAGE) [ttl p] + packet2(ATT) [ttl n]]

如果 p 的 TTL 足以到达 IDS,但 IDS 将看到“ATTGARBAGEACK” 目标主机。 ttl 可以使用 -t 标志指定

-e rst1 

packet => [packet1(ATT) + rst [无效校验和] + packet2(ACK)]

如果 IDS 执行的连接跟踪效果不佳并且不执行校验和 分析它将关闭连接并忽略后续数据包

-e rst2 

packet => [packet1(ATT) [ttl n] + rst [ttl p] + packet2(ACK) [ttl n]]

如果 p 的 TTL 足以到达 IDS,则 IDS 将关闭连接,但是 不是目标主机。 ttl 可以使用 -t 标志指定

-e desync1

packet => [packet1(ATT) + syn [错误的确认] + packet2(ACK)]

如果 IDS 执行的连接跟踪效果不佳,它将重新同步 针对连接后 SYN 的错误序列号的连接

-e desync2

packet => [syn [错误的确认+无效的校验和] + syn + packet1(ATT) + packet2(ACK)]

如果 IDS 正在执行连接跟踪而不进行校验和分析,它将 针对预连接的错误序列号同步连接 同步

-e frag1

packet => [fragment3(C) + fragment2(TA) + fragment1(AT) + fragment4(K)]

如果 IDS 无法正确处理无序 IP 片段,则它不会重新组装数据包

-e frag2

packet => [fragment4(K) + fragment3(C) + fragment2(TA) + fragment1(AT)]

与frag1类似,但先发送最后一个片段

-e frag3

packet => [fragment1(AT) + fragment2(TA) + fragment3(C) + fragment3(C) + fragment4(K)]

复制倒数第二个片段

-e frag4

packet => [fragment1(AT) + fragment1(OO) + fragment3(TACK)]

使用垃圾数据复制第一个片段。重叠攻击有效,如果 IDS 偏爱新数据,主机偏爱旧数据。

-e frag5

packet => [fragment1(OO) + fragment1(AT) + fragment3(TACK)]

发送带有垃圾数据的第一个片段,然后使用正确的有效负载复制它。 如果 IDS 倾向于旧数据而主机倾向于新数据,则重叠攻击有效。 

8. -t <ids_ttl>

使 ttl1/ttl2 规避选项数据包对 IDS 可见的生存时间 但不到达目标主机。

ftest -f firewall_test.conf -t 64

连接选项

9. -r <reset connection>

当处于连接欺骗模式时重置(RST 数据包)创建的连接,有用如果您不想用已建立的条目淹没防火墙的连接跟踪表, 需要 ftestd 回复。

ftest -f firewall_test.conf -r
10. -F <end connection>

当处于连接欺骗模式时终止(FIN 握手)创建的连接, 如果您不想用已建立的连接淹没防火墙的连接跟踪表,则很有用 条目,需要 ftestd 回复。 

ftest -f firewall_test.conf -F
11. -g <IP fragments number, es. 4|IP fragments size, es. 16b>

将 TCP 和 UDP 标记的数据包拆分为指定数量的 IP 片段,适用于检查防火墙的碎片处理和IDS的碎片重组。在 “连接欺骗”或“逃避”模式仅配置中指定的数据包碎片和非连接控制。显然 'fragments_number' 必须 >= 2。 如果指定的片段数量与有效负载长度不兼容,则 ftest 将自动设置最接近的正确值。

此外,如果附加后缀“b”,您可以指定片段大小(以字节为单位) 对于该值(例如 -g 16b),片段大小必须是 8 的倍数。如果指定片段的大小与有效负载长度不兼容 ftest 将自动设置最接近的右值。 

ftest -f firewall_test.conf -g 16b
12. -p <TCP fragments number, es. 4|TCP segments size, es  6b>

指定逃避模式下分割tcp流时的TCP段数, 有关详细信息,请参阅 IDS 规避 。如果指定的段数是 与有效负载长度不兼容 ftest 将自动设置最接近的正确值。

此外,如果附加后缀,您可以指定段大小(以字节为单位) 'b' 为值(例如 -p 16b)。如果指定的段的大小与 有效负载长度 ftest 将自动设置最接近的正确值。

如果未指定,ftest 将使用默认值 2 段。 

ftest -f firewall_test.conf -e stream -p 6b
13. -k <cksum value, es. 60000>

在发送数据包时设置自定义校验和而不是正确的校验和,这对于检测防火墙是否阻止无效数据包。 

ftest -f firewall_test.conf -k 60000
14. -m <marker>

附加到生成的标准签名的自定义标记字符串 数据包和日志的文件名。使用此选项允许多个实例 ftest/ftestd 同时运行,互不干扰。 

ftest -f firewall_test.conf -m TEST_MARKER

ftestd

1. 帮助文档

直接输入ftestd即可获得帮助信息

ftestd

配置选项

2. -i <interface>

指定网络接口,例如 eth0、wlan0 或 lo。

ftestd -i eth0

3. -g <fragments reassembly>

启用 IP 分片的重新组装功能,用于分析分片攻击。

ftestd -i eth0 -g on

4. -m <marker>

设置数据包标记,用于区分不同的测试流量。

ftestd -i eth0 -m 0x1234

5. -v <verbose>

启用详细模式,显示更多调试信息。

ftestd -i eth0 -v

连接选项

6. -c <ttl1:ttl2>(ttl1 设置目前仅适用于 Linux 系统)

设置 TTL(生存时间)的范围,用于测试防火墙或 IDS(入侵检测系统)。

ftestd -i eth0 -c ttl1

7. -m <marker>

设置数据包标记,用于区分不同的测试流量。

ftestd -i eth0 -c ttl1 -m 0x1234

freport

使用方法:

freport ftest.log ftestd.log

总结

ftester 是一款高效的防火墙规则测试工具,适用于验证防火墙和网络安全设备的配置与防护能力。通过发送自定义流量,它帮助安全工程师识别规则配置错误,评估设备的防御效果,确保网络安全策略能够有效执行。

在此特别强调,本教程仅在合法授权的情况下进行测试和研究,请勿用于其他用途。未经授权使用此类工具可能会侵犯他人隐私,触犯相关法律,任何因此引发的法律或利益纠纷与本人无关。

欢迎各位大佬,小白来找我交流。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值