ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

十五、Kali Linux 2 拒绝服务攻击

2022-02-21 18:30:01  阅读:275  来源: 互联网

标签:拒绝服务 IP 攻击 Kali -- 地址 Linux 数据包


拒绝服务攻击

拒绝服务攻击即是攻击者想办法让目标机器停止提供服务,是黑客常用的攻击手段之一。其实对网络带宽进行的消耗性攻击只是拒绝服务攻击的一小部分,只要能够对目标造成麻烦,使某些服务被暂停甚至主机死机,都属于拒绝服务攻击。拒绝服务攻击问题也一直得不到合理的解决,究其原因是因为网络协议本身的安全缺陷,从而拒绝服务攻击也成为了攻击者的终极手法。攻击者进行拒绝服务攻击,实际上让服务器实现两种效果:一是迫使服务器的缓冲区满,不接收新的请求;二是使用IP欺骗,迫使服务器把非法用户的连接复位,影响合法用户的连接。

 一、数据链路层的拒绝服务攻击

在目前的网络架构中,大部分在局域网内的通信的设备都是通过交换机进行。相比较集线器,交换机的优点就是有“记忆”和“学习”的功能,这两个功能通过交换机的CAM表来实现,这张表保存了交换机每个接口所连接计算机的MAC地址信息,这些信息可以通过动态学习来完成。

而在数据链路层发起的拒绝服务攻击并不是攻击二层交换机,让其停止工作,而是让其以一种不正常的方式工作。

比如,在就局域网中,A主机向B主机发送数据时,会将这个数据包发送给交换机,由交换机进行转发,交换机在收到这个数据包时会提取出数据包的目的MAC地址,并查询CAM表,如果能查找到对应的表项,就将数据包从找到的接口发出去。如果没有找到,再将数据包向所有接口发送。在转发数据包的时候,交换机还会进行一个学习的过程,交换机会将接收到的数据包中的源MAC地址提取出来,并查询CAM表,如果表中没有这个源MAC地址对应接口的信息,则会将这个数据包中的源MAC地址与收到这个数据包的接口作为新的表项插入到CAM表中。交换机的学习是一个动态的过程,每个表象都不是固定的,而是有一个定时器(通常为5分钟),从这个表项插入到CAM表开始起,当该定时器递减到零时,该CAM项就会被删除。

这个机制保证采用交换机设备的局域网的数据包都是单播的,但是CAM表的容量时有限的,如果短时间内收到大量不同源MAC地址发来的数据包,CAM表就会被填满。当填满之后,新到的条目就会覆盖之前的条目。这样网络中正常数据包到达交换机之后,而CAM表已经被填满了,无法找到正确的对饮关系,只能将数据包广播出去。这时受到攻击的交换机实际上已经退化成集线器,hack只需要在自己的计算机上将网卡设置为混杂模式,就可以监听整个网络的通信了。

这种攻击的核心为,短时间内伪造大量的数据包发送到交换机,这些数据包中的端MAC地址和目的MAC地址都是随机的,很快就可以将CAM表填满。

专门的攻击工具——macof,它是 Dsniff 工具集的成员,常用命令如下:

Dsniff:kali@kali:~$ sudo apt install dsniff

使用方法:Usage: macof [-s src] [-d dst] [-e tha] [-x sport] [-y dport] [-i interface] [-n times]

使用macof:Kali@kali:~#sudo macof

二、网络层的拒绝服务攻击

位于网络层的协议包括 ARP、IP 和 ICMP 等,其中 ICMP 主要用于在主机、路由器之间传递控制消息。我们平时检测网络连通情况时使用的 ping 命令就基于 ICMP。

但到想办法增加发送到目标主机的数据包的数量时,这里主要就有两种方法:

一是同时使用多台主机发送 ICMP 数据包

二是提高发送 ICMP 数据包的速度 

我们采用Kali Linux 2 中自带的 hping3 进行拒绝服务攻击。hping3 是一款用于生成和解析 TCP/IP 数据包的开源工具,之前还推出过 hping 和 hping2 两个版本。hping3 也是一个命令式工具,各种功能要依靠设置参数来实现。

hping3中的各个参数含义具体如下:

-h    --help           显示帮助信息

-v    --version       显示当前hping的版本

-c    --count          发送指定数据包的次数

-i     --interval       发送数据包之间的间隔时间(格式为uX,表示间隔时间为X微秒)

-n    --numeric      数值化的输出

-q    --quiet           静默模式,只显示最后的统计数据

-I     --interface     指定需要使用的网络接口

-V    --verbose      详细模式

-D    --debug         调试信息

-z     --bind            将“ctrl+z”键组合键与发送包的TTL值绑定,按一次TTL值加1

-Z     --unbind        解除“ctrl+z”键组合键与发送包的TTL值的绑定

三、传输层的拒绝服务攻击

TCP 和 UDP 都位于传输层,这两个协议都可以实现拒绝服务攻击,但是攻击方式不相同。UDP 拒绝服务攻击与 ICMP 拒绝服务攻击原理相同,也需要向目标快速地发送大量数据包。不同之处在于 UDP 拒绝服务攻击原理相同,也需要向目标快速地发送大量数据包。

基于 TCP 的拒绝服务攻击有两种:一种是和目标端口完成3次握手,建立一个完整连接;另一种是只和目标端口完成3次握手中的前两次,建立一个不完整的连接,这种攻击之最为常见的,我们通常将这种攻击称为 SYN 拒绝服务攻击。 

hping3参数来构造一次基于TCP协议的拒绝服务攻击,在Kali Linux 2中打开一个终端,然后在终端中输入:

hping3 -q -n -a 10.0.0.1 -S -s 53 --keep -p 22 --flood 192.168.0.2

四、基于应用层的拒绝服务攻击

位于应用层的协议比较多,常见的有 HTTP、FTP、DNS、DHCP 等。每个协议都有可能被用来发起拒绝服务攻击,这里我们以 DHCP 为例进行讲解。DHCP 通常被应用在大型的局域网中,主要作用是集中地管理、分配 IP 地址,使网络环境中地主机动态地获取 IP 地址、网关地址、DNS 服务器地址等信息,并能够提升地址地使用率。

DHCP 攻击地目标也是服务器,怀有恶意地攻击者伪造大量 DHCP 请求发送到服务器,这样 DHCP 服务器地址池中的 IP 地址很快就会被分配完,从而导致合法用户无法申请到 IP 地址。同时大量的 DHCP 请求也会导致服务器高负荷运行,从而导致设备瘫痪。

在本章中我们将会学到两个工具:一个是 Yersinia,这是一个功能十分强大的、图形化的拒绝服务攻击工具;另一个是我们比较熟悉的 Metasploit。

安装 Yersinia 工具的命令:

kali@kali:~$ sudo apt-get install yersinia

启动这个图形化界面工具:

kali@kali:~# sudo yersinia -G 

 

主要是以4种发包的形式的含义具体如下:

sending RAW packet:发送原始数据包

sending DISCOVER packet:发送请求来获取 IP 地址数据包,占用所有的 IP 地址,造成拒绝服务。

creating DHCP rogue server:创建虚假 DHCP 服务器,让用户连接,导致真正的 DHCP 服务器无法工作。

sending RELEASE packet:发送释放 IP 地址请求到 DHCP 服务器,致使正在使用的 IP 地址全部失效。

在本次实验中启动 msfconsole 之前需要先切换为 root 用户:

kali@kali:~$ sudo -i 

root@kali:~# msfconsole 

成功启动 Metasploit 之后,可以使用 search 命令来查找与拒绝服务攻击相关的模块。 

总结:

拒绝服务攻击一直是一个让网络安全人员感到无比头疼的问题,受到这种攻击的服务器将无法提供正常的服务。通常我们所说的拒绝服务攻击一般是指对HTTP服务器发起的TCP连接攻击。但实际上拒绝服务攻击的范畴要远远比这更大,本章按照TCP/IP协议的结构,依次介绍了数据链路层、网络层、传输层和应用层中协议的漏洞,并讲解了如何利用这些漏洞来发起拒绝服务攻击。本章使用几个强大的工具,如 macof、hping3、Yersinia、Metasploit 等。这几个工具各有特色,它们组合起来几乎可以完成所有的拒绝服务攻击。尤其是 hping3,是一款特别灵活的工具,使用它几乎可以构造任何需要的数据包。

本章介绍的攻击都是从一台计算机发起的,也就是拒绝服务攻击。现在更为常见的是分布式拒绝服务攻击,这种攻击方式指借助于客户端/服务端技术,将多台计算机联合起来作为攻击平台,对一个或多个目标发起 DDos 攻击,从而成倍地提高拒绝服务攻击的威力。

截至到本章结束,我们整个 Kali Linux 2 网络渗透测试实践就结束了,希望大家会认真对待渗透测试这门技术,它也是现在社会上网络安全研究的核心问题之一。

 

标签:拒绝服务,IP,攻击,Kali,--,地址,Linux,数据包
来源: https://blog.csdn.net/m0_55313512/article/details/123052274

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有