文章目录
一、前言
本实验旨在简单介绍下使用kali的自带工具hping3进行SYN FLOOD(属于典型的DOS/DDOS攻击)测试攻击,实验环境均在VMware虚拟机内,并无涉及真实IP地址。若因传播或利用本文所提供的信息而造成任何直接或间接的后果,均由使用者本人负责,作者不为此承担任何责任!
二、SYN FLOOD介绍
1、工作原理
SYN Flood是一种针对网络层的拒绝服务(DoS)攻击,它利用TCP三次握手过程,通过向目标系统发送大量TCP/SYN数据包来耗尽目标系统的资源,使其无法响应合法请求。
(1)TCP握手的启动:
- 客户端向服务器发送一个TCP/SYN数据包,来启动连接。
(2)服务器响应:
- 服务器回应一个TCP/SYN-ACK数据包,表示它准备好建立连接。
(3)客户端确认:
- 客户端应该回应一个TCP/ACK数据包,完成握手并建立连接。
2、攻击机制
在SYN洪水攻击中,攻击者向目标服务器发送大量TCP/SYN数据包,通常使用伪造的IP地址。服务器回应SYN-ACK数据包,并等待客户端发送最终的ACK数据包来完成握手。然而,由于IP地址是伪造的或者攻击者没有发送最终的ACK,连接永远无法完成。
3、对目标的影响
(1)资源耗尽:
- 服务器为每个半开连接分配资源(如内存和CPU)。随着半开连接数量的增加,服务器的资源会被耗尽,导致服务中断。
(2)连接表溢出:
- 服务器维护一个连接表,记录所有正在进行的TCP连接。在SYN洪水攻击中,这个表可能会迅速填满,阻止服务器接受新的合法连接。
三、环境准备工作
(1)两台虚拟机:分别为Windows 10 和 Kali
(2)Kali系统自带工具hping3
四、实验过程
1、打开Windows Server 2016虚拟机后
win+r 输入cmd后,输入ipconfig指令,获取当前win10虚拟机的IP地址:192.168.137.129
2、打开Kali虚拟机后
进入管理员(root)权限,然后输入ifconfig指令,查看当前kali的IP地址:192.168.137.130(上述两个IP地址处在同一网段)
3、将两台虚拟机互相ping一下
(1)Windows 10 ping Kali(可以ping通)
(2)Kali ping Windows 10(ping不通)
这里发现 Kali 虚拟机 ping 不通 Windows 10,很大可能虚拟机的防火墙优势会禁止ICMP回显,也就是ping命令不通
针对防火墙问题,有以下两种解决办法:
1)把Windows 10的防火墙彻底关闭
2)修改防火墙的规则
① 打开控制面板
② 进入防火墙设置后点击高级设置
③ 在入站规则的一项中找到文件和打印机共享(回显请求),把四个选项全都启用规则
3)最终 kali 顺利 ping 通 Windows 10
(3)在kali终端中使用nmap工具扫描目的IP地址端口(关闭防火墙)
(4)关键一步来了,使用kali自带的工具hping3对目标IP地址实行测试攻击(SYN FLOOD)
* 以下为几个常用的hping3命令选项:
- -c:发送数据包的个数
- -d:发送每个数据包的大小
- -S:syn set SYN flag
- -w:windows发送字节
- -p:目标端口
- --flood:尽可能快速发送数据包,开启洪水模式
- --rand-source:随机源地址模式
(其中 -a 源地址 ,输入伪造IP攻击,防火墙不会记录本机真实IP地址)
hping3 -c 100000 -d 120 -S -w 64 -p 445 --flood --rand-source 192.168.137.129
1)下图为win10虚拟机被攻击前的CPU利用率
2)受到来自 kali 的DOS/DDOS攻击之后,可以看到在短时间内CPU的利用率迅速升高
3)在 kali 输入快捷键Ctrl+c停止攻击后,Windows 10 的CPU利用率又恢复为原来的程度
五、实验总结
通过本次实验,验证了使用hping3
进行高级SYN Flood攻击的有效性,并观察了其对目标系统的影响。SYN Flood攻击能迅速占用目标系统的网络连接资源和CPU资源,导致服务不可用。了解这种攻击的原理和影响,有助于在实际工作中更好地防范此类攻击,提高系统的安全性和稳定性。
注意事项
进行此类实验时,务必在合法范围内进行,确保对实验环境的控制,避免对他人系统造成影响。建议在虚拟机或专用实验网络中进行测试。