前端开发入门到精通的在线学习网站

网站首页 > 资源文章 正文

「网络安全」常见攻击篇(16)——ICMP洪水攻击

qiguaw 2024-11-26 07:43:21 资源文章 14 ℃ 0 评论

什么是ICMP协议?

ICMP是(Internet Control Message Protocol)Internet控制报文协议,它是TCP/IP协议族的一个子协议,用于在IP主机、路由器之间传递控制消息。

控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息,这些控制消息虽然并不传输用户数据,但是对于用户数据的传递起着重要的作用。

ICMP报文格式

ICMP报文包含在IP数据报中,属于IP的一个用户,IP头部就在ICMP报文的前面,所以一个ICMP报文包括IP头部、ICMP头部和ICMP报文。

IP头部的Protocol值为1就说明这是一个ICMP报文,ICMP头部中的类型 (Type)域用于说明ICMP报文的作用及格式,此外还有一个代码(Code)域用于详细说明某种ICMP报文的类型,所有数据都在ICMP头部后面。 ICMP报文格式,具体如下:

什么是ICMP flood?

  • ICMP flood的成因
    足够快的数据包速度+足够的带宽,这才是洪水。
    ping.exe和IcmpSendEcho速度慢的另一个原因是它们必须等待目标主机返回REPLY信息,这个过程需要花费大量时间,而Flood—— 洪水,顾名思义,是速度极快的,当一个程序发送数据包的速度达到了每秒1000个以上,它的性质就成了洪水产生器,洪水数据是从洪水产生器里出来的,但这样还不够,没有足够的带宽,再猛的洪水也只能像公路塞车那样慢慢移动,成了鸡肋。要做真正的洪水,就需要有一条足够宽的高速公路才可以,由于ping.exe无法提速,这就需要专门的工具来做洪水了。
  • 实现ICMP洪水的前提
    最大的前提是攻击者的速度,其次是你的机器运行速度和数据吞吐量,由于涉及IP校验和的计算,如果数据处理能力不够,在这步就慢了一个级别,效果当然大打折扣。最后就是目标机器的带宽!如果对方比你大很多那么任何Flood都是无病呻吟。还有许多人都忽略的问题:发送的速度与数据包大小成反比,而且太大的数据包会被路由器等设备过滤掉!找到一个合适的数据包大小,对提高Flood的效率有很大帮助!
  • 洪水——两败俱伤的攻击方式
    别以为洪水无所不能,实际上,你展开洪水攻击时,攻击程序在消耗对方带宽和资源时,也在消耗你的带宽和资源。这只是个看谁撑得住的攻击而已。实际上,有经验的攻击者都是用被控制的服务器(肉鸡)来代替自己的机器发动攻击的,不到万不得已或者你对自己的机器网速有自信,否则尽量少用自己的机器来拼搏!
  • ICMP洪水攻击分类

  • 直接Flood
    要做这个的首要条件是你的带宽够,然后就是要一个好用的ICMP Flooder。直接攻击会暴露自己IP(如果对方没有还击能力那还无所谓,固定IP用户不推荐使用这种Flood),如果可以伪造IP一般还是别用为妙。
    简单示意图:
    攻击者[IP=211.97.54.3]—— ICMP—–>受害者[截获攻击者IP=211.97.54.3]==>换IP回来反击,嘿嘿
  • 伪造IP的Flood
    如果你是Win2000/XP并且是Administrator权限,可以试试看FakePing,它能随意伪造一个IP来Flood,让对方摸不到头脑,属于比较隐蔽阴险的Flood。
    简单示意图:
    攻击者[IP=211.97.54.3]——伪造IP=1.1.1.1的ICMP——>受害者[截获攻击者IP=1.1.1.1]==>倒死
  • 反射
    这种攻击模式里,最终淹没目标的洪水不是由攻击者发出的,也不是伪造IP发出的,而是正常通讯的服务器发出的!实现的原理也不算复杂,Smurf方式把源IP设置为受害者IP,然后向多台服务器发送ICMP报文(通常是ECHO请求),这些接收报文的服务器被报文欺骗,向受害者返回ECHO应答(Type=0),导致垃圾阻塞受害者的门口。从示意图可以看出,它比上面两种方法多了一级路径——受骗的主机(称为“反射源”),所以,一个反射源是否有效或者效率低下,都会对Flood效果造成影响!
    简单示意图:
    攻击者[IP=211.97.54.3]—-伪造受害者的ICMP—->正常的主机—-应答—>受害者[截获攻击者IP=网易?!]==>哭啊……
  • 以上是几种常见的Flood方式,在测试中,我发现一个有趣的现象:一些防火墙(如天网)只能拦截ECHO请求(Ping)的ICMP报文,对于其他 ICMP报文一概睁只眼闭只眼,不知道其他防火墙有没有这个情况。所以想神不知鬼不觉对付你的敌人时,请尽量避开直接ECHO Flood,换用Type=0的ECHO应答或Type=14的时间戳应答最好,其他类型的ICMP报文没有详细测试过,大家可以试试看Type=3、 4、11的特殊报文会不会有更大效果。

    被ICMP Flood攻击的特征

    1. 传输状态里,代表远程数据接收的计算机图标一直亮着,而你没有浏览网页或下载
    2. 防火墙一直提示有人试图ping你
    3. 网络速度奇慢无比
    4. 严重时系统几乎失去响应,鼠标呈跳跃状行走

    ICMP Flood攻击如何防范?

    方法很简单,装个防火墙就可以了啊。


    感谢您的阅读,喜欢的话就转发并关注小编吧。


    上一篇:「网络安全」常见攻击篇(15)——洪水攻击

    下一篇:「网络安全」常见攻击篇(17)——SYN洪水攻击

    Tags:

    本文暂时没有评论,来添加一个吧(●'◡'●)

    欢迎 发表评论:

    最近发表
    标签列表