方法论
在简单了解了Linux的发展史并掌握了Linux的系统&操作逻辑后,KALI手册的第一课,就是如何进行有效的压力测试。在七层模型(OSI)中,压力测试通常会测试传输层和网络层,以保证系统的三要素(机密性、完整性、可用性)。
压力测试有着不同的测试原理,同时也有着不同的方法和工具。总的来说,大概可以分成三种,即1、LOT(专用设备、物联网设备)压力测试
2、基于IP传输协议的WAN压力测试
3、基于SIP\TCP\的互联网压力测试
在我阅读KALI手册时,我发现一个很重要的问题:作者使用一块蛋糕的各个层次来讲解OSI七层模型,特别的晦涩难懂,于是我还是参考了许多CSDN上大佬的讲解,如有理解不当之处,还请原谅。
以下一段文字引用自KALI使用手册
你需要保证正在使用系统的安全,无论是你还是系统都应该有被测试的权限。无论看起来多么简单的测试,总是有可能造成损害。
接下来是KALI的一个小彩蛋:
工具篇
fragroute
一个很老的程序,采用最简单的规则:生成一些虚假的数据,然后拆分成许多数据包(可能是首尾不相连的,首尾重复的,或者其他任何一种上下连接方式),随后发往用户指定的IP地址,观察系统能否正确的处理这些碎片包的偏移量。
在使用此工具时,最理想的情况是目标主机没有受到任何有用的数据,这不是最终的目的,压力测试的最终目的只是收集信息。
fragroute配置:
ip_chaff dub 7 //字段生存时间7
ip_frag 64 new //IP数据包字节分段为64位
drop random 33 //丢包概率33%
dup random 40 //随机复制数据包概率40%
order random // 执行
print // 打印细节
此配置理想情况下,数据到达被测试端点时,不会存在任何内容。相关细节会显示出来,从而说明对收到的数据包执行的操作。使用fragroute -f frag.rules 192.168.XX.XX命令执行发送指令,规则文件的名称是可以改变的。
通常,此方法只用来测试单个系统,要测试本地网络中的片段,可以向目标网络发送ping命令来发送请求,使用规则文件的fragroute输出。
fragroute -f frag.rules 192.168.XX.XX
hping3
此工具可以再命令行上进行制作数据包,并进行IP和传输表头字段的自动填充。hping3可以不需要任何等待时间就可以实现洪水攻击,该工具可以自动德、快速的发送尽可能多的流量。
hping3 --flood -S -p 80 192.168.XX.XX //使用hping3,使用SYN消息,通过80端口向目标主机进行洪水攻击
我在台式机上运行hping3,对我的笔记本电脑进行了一次测试。在攻击开始后,我的笔记本电脑网络完全没有响应,但是系统资源的占用并不高。同时,网络的占用量也并没有达到我的预期值(最高占用5M/S,我使用的是超六类网线,带宽为500M)。原因是,操作系统中保留了包含传输控制协议(TCP)协议的内存,为了使系统表现良好并且能够完成连接,系统使用半开连接插槽。如果这些插槽数量用完,那么系统就不会接受新的连接,包括来自合法客户端的连接。所以,系统完全能够处理SYN洪水。但是我的网络端口确实遭受了很强的冲击,完全无法联网,说明比网络层我想象的要脆弱的多。
inviteflood
使用inviteflood通过SIP协议进行洪水攻击。
inviteflood eth0 XXX.COM 192.168.XX.XX 150000 //指定invitefloo作为发送信息的端口,目标为SIP服务器用户名,随后与之相关的域名,发送150000个请求
因为SIP是一个VoIP协议,所以我们的目标需要是一套配置了用户名的服务器,如果不知道用户名,可以用目标系统的IP地址,那么命令中会出现两个相同的IP地址。
Pentmenu
高集成的自动化工具总是能提高我们的效率。Pentmenu是GitHub上的一个开源的集成化测试工具,KALI并没有收录,需要去GitHub上自行下载资源包。
https://github.com/GinjaChris/pentmenu
随后使用unzip命令解压压缩包,记住解压后的目录,并调用最高管理员权限,一步步找到pentmenu所在的文件夹,使用is文件打开其中的shell script文件即可进入程序
或者,直接文件管理器打开文件夹,把script文件拖进终端回车,效果相同。
随后选择第二项,Dos攻击,会列出可用的攻击模式。
简单介绍一下这些模式:
1:Echo报文洪水,发送大量的ICMP请求报文(ICMP ECHO)信息给目标主机,目标主机会回应一个reply报文。在此过程中,会占用大量CPU资源,从而导致服务器瘫痪。
2:著名的黑护士攻击,攻击者曾在2017年使用15M的带宽打瘫了思科防火墙。通过每秒发送40,000至50,000个类型和代码均为3的ICMP报文,致使服务器的负载过重。
3:SYN洪水,向服务器发送大量的伪造的IP报文,占满服务器的半连接插槽(SYN连接队列),从而导致服务器不能处理其他请求。
4:ACK洪水,向目标主机发送带ACK标志位的TCP报文,目标主机会监测报文是否合法,是则回复端口开放,不是则不作回应。
5:RST复位洪水。攻击者伪造一个路由B,当合法路由A(同时也是被攻击者)向服务器发送TCP连接请求报文时,立刻向A发送复位请求,这时A会立刻释放连接并清空缓存,导致永远也连接不上服务器。
6:XMAS洪水,与前几个相同,但是发送所有的TCP标记
7:UDP洪水,将UDP数据包发送到指定的IP和端口
8:SSL DOS攻击,使用OpenSSL尝试DOS目标。
9:完全不清楚作用
10:完全不清楚作用
11:使用hping3从选择的目标主机IP启动多个TCP SYN扫描,这不是攻击
12:通过向不存在的域发送大量DNS查询对您的DNS进行压力测试。
版权归原作者 AUG元直 所有, 如有侵权,请联系我们删除。