拒绝服务攻击

拒绝服务攻击即是攻击者想办法让目标机器停止提供服务,是黑客常用的攻击手段之一。其实对网络带宽进行的消耗性攻击只是拒绝服务攻击的一小部分,只要能够对目标造成麻烦,使某些服务被暂停甚至主机死机,都属于拒绝服务攻击。拒绝服务攻击问题也一直得不到合理的解决,究其原因是因为网络协议本身的安全缺陷,从而拒绝服务攻击也成为了攻击者的终极手法。攻击者进行拒绝服务攻击,实际上让服务器实现两种效果:一是迫使服务器的缓冲区满,不接收新的请求;二是使用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 网络渗透测试实践就结束了,希望大家会认真对待渗透测试这门技术,它也是现在社会上网络安全研究的核心问题之一。

十五、Kali Linux 2 拒绝服务攻击相关推荐

  1. 【正点原子Linux连载】第三十五章 Linux内核顶层Makefile详解 -摘自【正点原子】I.MX6U嵌入式Linux驱动开发指南V1.0

    1)实验平台:正点原子阿尔法Linux开发板 2)平台购买地址:https://item.taobao.com/item.htm?id=603672744434 2)全套实验源码+手册+视频下载地址: ...

  2. RPG游戏《黑暗之光》流程介绍与代码分析之(十五):主角受攻击效果以及场景切换

    十五章:主角受攻击效果以及场景切换 本篇博客将<黑暗之光>开发的最后工作做完,包括之前未实现的主角被击效果,以及实际运行中的场景切换. 15.1 主角的受攻击效果 我们参照WolfBaby ...

  3. Kali渗透-DDOS拒绝服务攻击

    前言 严正声明:本文仅限于技术讨论与分享,严禁用于非法途径. 本文目的 演示如何借助 Kali Linux 系统内置的一个 TCP/IP 数据包组装/分析工具 hping 和在 Github 上开源的 ...

  4. linux exec 二程序,二十五、Linux 进程与信号---exec函数

    25.1 介绍 在用 fork 函数创建子进程后,子进程往往要调用一种 exec 函数以执行另一个程序 当进程调用一种 exec 函数时,该进程完全由新程序代换,替换原有进程的正文,而新程序则从其 m ...

  5. kali linux实现arp攻击对方主机

    1,通过kali实现arp攻击 攻击原理: 当A发广播询问:我是192.168.43.2,硬件地址macA,我想知道主机IP是192.168.43.3的硬件地址. 此时B回应:我是192.168.43 ...

  6. Kali Linux SQL注入攻击教程

    1 概述 SQL注入是影响企业运营最具破坏力的漏洞之一,他会泄露保存在应用程序数据库中的敏感信息,包括用户名,口令,地址,电话号码以及信用卡明细等容易被利用的信息. SQL注入是这样一种漏洞:应用程序 ...

  7. Linux 驱动开发 三十五:Linux 内核时钟管理

    参考: linux时间管理,时钟中断,系统节拍_u010936265的博客-CSDN博客_系统节拍时钟中断 Linux内核时钟系统和定时器实现_anonymalias的专栏-CSDN博客_linux内 ...

  8. 十五、Linux驱动之USB鼠标驱动

    1. 如何编写USB鼠标驱动 结合十四.Linux驱动之USB驱动分析中的分析,我们开始写一个USB鼠标驱动.      USB的驱动可以分为3类:SoC的USB控制器的驱动,主机端USB设备的驱动, ...

  9. Kali linux 学习笔记(三十五)无线渗透——WPS攻击 2020.3.13

    前言 WPS(wireless protected setup) wifi联盟2006年开发的技术 路由器和网卡各按一个键就能接入无线 PIN码分为前后两段各4位 1.安全漏洞 2011年发现接入发起 ...

最新文章

  1. DirectX10一矩阵代数(二)
  2. python处理数据的优势-选择python进行数据分析的理由和优势
  3. 理解linux time命令的输出
  4. wamp 配置 mysql_PHPWAMP配置应该如何修改,Web服务器、php、mysql的具体配置修改
  5. Numpy Math functions
  6. Buffer(缓冲/字节容器)详解
  7. Spring : BeanDefinition
  8. python接口自动化测试一:http协议
  9. 【开发工具】之source insight 4常用设置
  10. sql 读取本地txt文件批量插入数据库
  11. 室友转行软件测试,月薪1.4万,天天摸鱼没事干
  12. 微信小程序(第二十六章)- json-server环境搭建
  13. 计算机网络英语的参考文献,计算机网络实践英文参考文献 计算机网络实践英语参考文献哪里找...
  14. ic卡信息保存在服务器,智能IC卡网络数据安全保密系统
  15. Python快速计算函数耗时timeit
  16. Confluence使用教程
  17. 最大堆和最小堆(数据结构)
  18. 北上广深之外,互联网经济也在杭州成都西安武汉异军突起
  19. Mac安装brew(无需FQ)
  20. Java 入门练习(6 - 10)

热门文章

  1. 微机接口芯片(2)—— 可编程定时/计数接口芯片 8253/8254
  2. JBoss漏洞总结复现
  3. 冯炜权与他的万事达卡
  4. 对话三维家创始人蔡志森:AIGC让家装从“填空题”变成了“选择题”
  5. 2022年上半年软考(中/高级)考试报名向导
  6. Git 笔记 - git pull
  7. continue语句的作用
  8. 民工14辆三轮摩托风餐露宿3000公里艰辛返乡(图)
  9. 黑苹果完善第一步:洗白条件探究 能否自己推算三码洗白 如何进行洗白
  10. python1加到100_python实现1加到100