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

admin 2023年12月2日13:55:01评论11 views字数 6146阅读20分29秒阅读模式

大家好!今天我们将介绍DOS/DDOS攻击,这里我们将介绍什么是dos攻击;如何对任何目标网络发动 Dos 攻击,其结果是什么,以及受害者如何预测其网络遭受 Dos 攻击。

此内容仅供学习和参考,请勿非法用途!

【要求]:

攻击机: Kali Linux

受害机器: Ubuntu

可选: Wireshark(我们在教程中添加了它,以便我们可以清楚地确认网络所有传入和传出的数据包)

什么是 DOS/DDOS 攻击

来自维基百科

拒绝服务攻击 DoS 攻击)是一种网络攻击,攻击者试图通过暂时或无限期地干扰连接到 Internet 的主机的服务,使其故意用户无法使用机器或网络资源。拒绝服务通常是通过向目标计算机或资源发送过多的请求来实现的,试图使系统超载并阻止部分或全部合法请求得到满足。

分布式拒绝服务攻击 DDoS 攻击)中,淹没受害者的传入流量来自许多不同的来源。DoS DDoS 攻击类似于一群人挤在商店或企业的入口处或大门,不让合法方进入商店或企业,从而扰乱正常运营。

基本上,攻击者机器要么自己在目标机器上发送无限的请求数据包,而不等待来自目标网络的回复数据包,要么使用僵尸程序(主机)在目标机器上发送请求数据包。让我们使用下图进行更多研究,在这里您可以观察到三个阶段,攻击者 机器放置在顶部,而中间部分持有由攻击者机器控制的主机在底部,您可以看到目标机器。

从下图中可以看出,攻击者机器希望在机器人的帮助下向目标机器发送 ICMP 回显请求数据包,因此这将增加攻击者的数量和目标网络上的请求数据包的数量,并导致流量洪流。此时,目标网络会过载,从而导致某些服务瘫痪,然后阻止部分或所有合法请求得到满足。

DOS/DDOS 类别

  • 基于流量的攻击:攻击的目标是通过每秒发送 ICMPUDP TCP 流量来淹没目标网络的带宽。

  • 基于协议的攻击:此类攻击通过每秒发送 TCP SYN 洪水、Ping of Death 或分段数据包攻击等数据包来集中实际目标服务器资源,以摧毁目标并使其无法响应其他合法请求。

  • 应用层攻击:攻击者不会尝试摧毁整个服务器,而是通过每秒发送请求来将攻击重点放在正在运行的应用程序上,例如,通过对apache进行无限请求来攻击WordPressJoomla Web服务器,使其对其他合法请求无响应。

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

如何进行DOS攻击?

如果您了解 OSI 7 层模型,那么您可能知道,每当我们向服务器发送请求数据包以访问任何特定服务(例如,浏览 Google.com)时,该过程都会通过 OSI 模型的 7 层执行,并在最后我们就可以在浏览器上访问Google.com了。

现在假设目标网络 (192.168.1.107) 中打开了端口 80,用于访问其 HTTP 服务,以便您可以通过浏览器打开其网站并获取这些网页中的可用信息。因此,基本上攻击者计划减慢另一个想要通过端口 80 与目标计算机交互的用户的 HTTP 服务,因为结果服务器将无法回复其他合法请求,这将被视为协议 Dos 攻击。

攻击者可以使用任何工具进行 DOS 攻击,但我们使用 Hping3 进行攻击,为目标网络产生流量洪流,从而减慢其他用户的 HTTP 服务速度。

hping3 -F --flood -p 80 192.168.1.107

上述命令将每秒在目标网络的端口 80 上发送无尽的请求数据包。

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

Dos攻击会产生什么影响?

正如我们所描述的,任何类型的 Dos 攻击都会影响服务器为其用户和客户端建立连接的服务。这里,当我们在目标网络的端口 80 上发送无限请求数据包时,它应该使合法用户无法使用 HTTP 服务。

因此,现在如果我将在您的浏览器上探索目标 IP 以作为合法用户访问其网站,那么您可以观察到浏览器无法与 HTTP 服务的服务器连接,如下图所示。

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

如何预测网络中的 DOS 攻击?

在您的网络中配置 IDS,它将监视网络上的传入网络流量并向系统管理员生成可疑流量警报。我们已经在系统(ubuntu192.168.1.107)上安装了 Snort 作为 NIDS(网络入侵检测系统),请阅读我们之前与 Snort 安装(手动 或使用 apt-respiratory)相关文章及其 规则配置 ,以将其启用为 IDS你的网络。

TCP SYN 洪水

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; )

上述规则将通过生成“SYN Flood Dos”警报来监视 192.168.1.107 上传入的 TCP-SYN 数据包。现在通过在终端中执行以下命令来打开 Snort IDS 模式:

sudo snort -A console -q -u snort -g snort -c /etc/snort/snort.conf -i eth0

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

现在通过使用攻击者的机器发送无限 SYN 数据包来测试上述规则。打开终端并输入Metasploit 框架的msfconsole并执行以下命令来运行 syn 洪水利用。

此漏洞将在目标网络上发送无数 syn 数据包以破坏其服务。

useauxiliary/dos/tcp/synflood msfauxiliary(synflood)> set rhost 192.168.1.107(目标IP) msfauxiliary(synflood)>setshost 192.168.1.105(攻击者IP) msfauxiliary(synflood)>exploit

我们仅在教程中为攻击者的 IP 设置了 shost,否则它是可选的,或者您可以寻址网络的任何随机 IP,现在可以看到 SYN 洪水默认情况下已在端口 80 上启动,它被视为基于协议的 Dos 攻击,如上所述

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

正如我上面所说的,为什么我们在本教程中使用 Wireshark,以便您可以清楚地看到从攻击者网络发送到目标网络的数据包。因此,在下图中,您可以注意到目标网络的端口 80 上已发送无尽的 SYN 数据包。

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

回到你的目标机器,你会注意到snort以完全相同的方式捕获所有传入流量,在这里你会发现它正在生成“SYN Flood Dos”警报因此,您可以阻止攻击者的 IP (192.168.1.105),以保护您的网络不丢弃所有进一步传入您网络的数据包。

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

UDP洪水

现在再次打开本地规则文件以生成 UDP 洪水 Dos 攻击警报,并输入下面给出的规则并保存文件。

alert udp any any -> 192.168.1.107 any (msg: "UDP Flood Dos"; sid:1000001; )

上述规则将通过生成“UDP Flood Dos”警报来监视 192.168.1.107 上传入的 UDP 数据包。现在通过在终端中执行以下命令来打开 Snort IDS 模式:

sudo snort -A console -q -u snort -g snort -c /etc/snort/snort.conf -i eth0

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

我们使用 Hping3 进行攻击,为目标网络生成流量洪流,从而减慢其他用户的 UDP 服务速度,这被视为如上所述的基于流量的 Dos 攻击

hping3 --udp --flood -p 80 192.168.1.107

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

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

从下图中您可以观察到 Wireshark 捕获了从 192.168.1.105 192.168.1.107 UDP 数据包。

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

返回到 Snort 捕获所有传入流量的目标计算机,您将观察到它正在生成 UDP Flood Dos 攻击的警报。因此,您可以阻止攻击者的 IP,以保护您的网络免遭进一步扫描。

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

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 上每秒发送无限位数据包。

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

因此,在下图中,您可以注意到端口 80 上有无数 SYN-FIN 数据包从 192.168.1.105 发送到 192.168.1.107

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

回到你的目标机器,你会注意到 snort 以完全相同的方式捕获所有传入流量,在这里你会发现它正在生成“SYN-FIN Flood Dos”警报因此,您可以阻止攻击者的 IP (192.168.1.105),以保护您的网络不丢弃所有进一步传入您网络的数据包。

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

PUSH ACK 洪水

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

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

上述规则将通过生成“PUSH-ACK Flood Dos”警报来监视 192.168.1.107 上传入的 TCP-PSH/ACK 数据包。现在通过在终端中执行以下命令来打开 Snort IDS 模式:

sudo snort -A console -q -u snort -g snort -c /etc/snort/snort.conf -i eth0

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

我们再次使用 Hping3 进行攻击,为目标网络产生流量洪流,从而减慢其他用户的网络服务速度。

hping3 -PA --flood -p 80 192.168.1.107

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

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

因此,在下图中,您可以注意到端口 80 上有无数的 PSH-ACK 数据包从 192.168.1.105 发送到 192.168.1.107

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

回到你的目标机器,你会注意到snort以完全相同的方式捕获所有传入流量,在这里你会发现它正在生成“PUSH-ACK Flood Dos”警报因此,您可以阻止攻击者的 IP (192.168.1.105),以保护您的网络不丢弃所有进一步传入您网络的数据包。

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

重置洪水

现在再次打开本地规则文件以生成重置标志数据包的警报,并输入下面给出的规则并保存文件。

alert tcp any any -> 192.168.1.107 any (msg: "Reset Dos"; sid:1000001; flags:R; )

上述规则将通过生成“Reset Dos”警报来监视 192.168.1.107 上传入的 TCP-RST 数据包。现在通过在终端中执行以下命令来打开 Snort IDS 模式:

sudo snort -A console -q -u snort -g snort -c /etc/snort/snort.conf -i eth0

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

我们再次使用 Hping3 进行攻击,为目标网络产生流量洪流,从而减慢其他用户的网络服务速度。

hping3 -R --flood -p 80 192.168.1.107

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

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

因此,在下图中,您可以注意到端口 80 上有无数的 RST(重置)数据包从 192.168.1.105 发送到 192.168.1.107

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

回到你的目标机器,你会注意到snort以完全相同的方式捕获所有传入流量,在这里你会发现它正在生成 Reset Dos”警报因此,您可以阻止攻击者的 IP (192.168.1.105),以保护您的网络不丢弃所有进一步传入您网络的数据包。

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

FIN 洪水

现在再次打开本地规则文件以生成 Fin 标志数据包的警报,并输入下面给出的规则并保存文件。

alert tcp any any -> 192.168.1.107 any (msg: "FIN Dos"; sid:1000001; flags:F; )

上述规则将通过生成“FIN Dos”警报来监视 192.168.1.107 上传入的 TCP-RST 数据包。现在通过在终端中执行以下命令来打开 Snort IDS 模式:

sudo snort -A console -q -u snort -g snort -c /etc/snort/snort.conf -i eth0

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

我们再次使用 Hping3 进行攻击,为目标网络产生流量洪流,从而减慢其他用户的网络服务速度。

hping3 -Fflood -p 80 192.168.1.107

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

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

因此,在下图中,您可以注意到端口 80 上有无数 FIN(完成)数据包从 192.168.1.105 发送到 192.168.1.107

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

回到你的目标机器,你会注意到snort以完全相同的方式捕获所有传入流量,在这里你会发现它正在生成“FIN Dos”警报。因此,您可以阻止攻击者的 IP (192.168.1.105),以保护您的网络不丢弃所有进一步传入您网络的数据包。

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

蓝精灵攻击

smurf 攻击是一种 DDOS 攻击,其中使用大量 Internet 控制消息协议数据包来生成虚假 Echo 请求(ICMP 类型:8),其中包含欺骗的源 IP(实际上是目标网络地址)。然后,该请求数据包被传输到网络上的所有网络主机,然后每个主机向欺骗的源地址(目标 IP)发送 ICMP 响应。目标计算机将被流量淹没;这可能会减慢目标计算机的速度并使其可供其他用户使用。

现在再次打开本地规则文件以生成 ICMP 数据包警报,并输入下面给出的规则并保存文件。

alert icmp any any -> any any (msg: "Smurf 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

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

我们再次使用 Hping3 进行攻击,为目标网络生成流量 ICMP 洪水,从而减慢其他用户的网络服务速度。

hping3 --icmp --flood -c 1000 --spoof 192.168.1.103 192.168.1.255

上面的命令将生成虚假的 ICMP 回显请求数据包,其中包含欺骗源 IP192.168.1.103,这基本上是我们受害者的网络,然后该请求数据包被传输到 192.168.1.255 上的主机网络,然后该主机向欺骗的网络发送 ICMP 响应受害者机器处于 IDS 模式的源地址。

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

从下面给出的图像中,您可以观察到它显示源计算机 192.168.1.103 192.168.1.255 发送 icmp echo 请求数据包,但正如我们所知,实际攻击者是此场景背后的罪魁祸首。

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

回到你的目标机器,你会注意到snort正在捕获从192.168.1.103192.168.1.255的所有流量,并生成“Smurf Dos Attack”警报,这意味着我们的机器(受害者的机器)正在ping另一台主机该网络的。因此,网络管理员应该关注此类流量,并且必须检查其网络数据包的系统活动和合法 ICMP 请求。

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

以上内容仅供学习和参考,请勿非法用途!


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

surface  选择* ,其中Dark

夜晚是最孤独的,也许,就这样吧

原文始发于微信公众号(深网知识库):DOS 攻击渗透测试(第 1 部分)

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年12月2日13:55:01
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   DOS 攻击渗透测试(第 1 部分)http://cn-sec.com/archives/2261920.html

发表评论

匿名网友 填写信息