简单的DOS攻击之死亡之ping详解-泓源视野

简单的DOS攻击之死亡之ping详解

DOS攻击之死亡之ping详解,dos攻击,俗称拒绝服务攻击,通过发送大量的无用请求数据包给服务器,耗尽服务器资源,从而无法通过正常的访问服务器资源,导致服务器崩溃。

如果多个ip通过发起对一个服务器的攻击,如果无防御措施,不管服务器内存多大,宽带多宽,CPU多快,都无法抵御这种攻击。

努力找了半天,在一篇文章的字里行间发现了 ping 的来历~

root@node2:/# apt-get install inetutils-ping

还有ifconfig   可以用 apt-get install net-tools 来安装~

或者fping 

fping 192.168.0.1 192.168.0.125 192.168.0.126 2>/dev/null

fping -g 192.168.1.0/24 2>/dev/null


tcping替代ping来验证服务器是否运行正常

使用tcping

$ tcping
error: Usage: tcping [-q] [-t timeout_sec] [-u timeout_usec] <host> <port>

$ tcping -t 3 www.baidu.com 80

$ echo $?

根据$?的返回值, README里面有详细的说明:

Return values to the shell are:
-1      an error occured
0       port is open
1       port is closed
2       connection establishment timed out
————————————————

死亡之ping代码:

打开系统的命令窗口,windows电脑按win+R ,输入cmd命令后进入命令界面:

输入: ping -l 65500 目标ip -t (65500 表示数据长度上限,-t 表示不停地ping目标地址) 这就是简单的拒绝服务攻击。

  1. ping -65500 192.168.1.1 -t简单的DOS攻击之死亡之ping详解插图

查找ip存活方法

1,使用arp -a查看ip缓存中存在的ip地址

2,使用netstat -a查看监听与本机通信中的ip和端口​

2,编写一个ping.bat/windows批处理文件,自动发送ping数据包检测网段内从1-254的主机在线检测然后ping -a 192.168.1.254​ 查找主机名称。下面是bat脚本代码

@echo off

set /p ip="请输入IP地址段,格式如:"192.168.1." >>> "

for /L %%i in (1,1,254) do (

Ping.exe -n 1 -l 16 -w 100 %ip%%%i>>ipscan.txt

if not errorlevel 1 (echo %ip%%%i 可以ping通)

)

pause

死亡之ping是如何工作的呢?
首先是因为以太网长度有限,IP包片段被分片。当一个IP包的长度超过以太网帧的最大尺寸(以太网头部和尾部除外)时,包就会被分片,作为多个帧来发送。接收端的机器提取各个分片,并重组为一个完整的IP包。在正常情况下,IP头包含整个IP包的长度。当一个IP包被分片以后,头只包含各个分片的长度。分片并不包含整个IP包的长度信息,因此IP包一旦被分片,重组后的整个IP包的总长度只有在所在分片都接受完毕之后才能确定。
在IP协议规范中规定了一个IP包的最大尺寸,而大多数的包处理程序又假设包的长度超过这个最大尺寸这种情况是不会出现的。因此,包的重组代码所分配的内存区域也最大不超过这个最大尺寸。这样,超大的包一旦出现,包当中的额外数据就会被写入其他正常区域。这很容易导致系统进入非稳定状态,是一种典型的缓存溢出(Buffer Overflow)攻击。在防火墙一级对这种攻击进行检测是相当难的,因为每个分片包看起来都很正常。
由于使用ping工具很容易完成这种攻击,以至于它也成了这种攻击的首选武器,这也是这种攻击名字的由来。当然,还有很多程序都可以做到这一点,因此仅仅阻塞ping的使用并不能完全解决这个漏洞。预防死亡之ping的最好方法是对操作系统打补丁,使内核将不再对超过规定长度的包进行重组。

常见攻击与防范

SYN Flood攻击:
问题就出在TCP连接的三次握手中,假设一个用户向服务器发送了SYN报文后突然死机或掉线,那么服务器在发出SYN+ACK应答报文后是无法收到客户端的ACK报文的(第三次握手无法完成),这 种情况下服务器端一般会重试(再次发送SYN+ACK给客户端)并等待一段时间后丢弃这个未完成的连接,这段时间的长度我们称为SYN Timeout,一般来说这个时间是分钟的数量级(大约为30秒 -2分钟);一个用户出现异常导致服务器的一个线程等待1分钟并不是什么很大的问题,但如果有一个恶意的攻击者大量模拟这种情况,服务器端将为了维护一个非常大的半连接列表而消耗非常多的资源----数以万计的半连接,即使是简单的保存并遍历也会消耗非常多的CPU时间和内存,何况还要不断对这个列表中的IP进行SYN+ACK的重试。实际上如果服务器的TCP/IP栈不够强大,最 后的结果往往是堆栈溢出崩溃---即使服务器端的系统足够强大,服务器端也将忙于处理攻击者伪造的TCP连接请求而无暇理睬客户的正常请求(毕竟客户端的正常请求比率非常之小),此时从 正常客户的角度看来,服务器失去响应,这种情况我们称作:服务器端受到了SYN Flood攻击(SYN洪水攻击)。
防范:
第一种是缩短SYN Timeout时间
第二种方法是设置SYN Cookie,就是给每一个请求连接的IP地址分配一个Cookie,如果短时间内连续受到某个IP的重复SYN报文,就认定是受到了攻击,以后从这个IP地址来的包会被一概丢弃。

netstat -n -p tcp >result.txt

Smurf攻击:
发送伪装的ICMP数据包,目的地址设为某个网络的广播地址,源地址设为要攻击的目的主机,使所有收到此ICMP数据包的主机都将对目的主机发出一个回应,使被攻击主机在某一段时间内收到 成千上万的数据包
防范:
在cisco路由器上配置如下可以防止将包传递到广播地址上:
Router(config-if)# no ip directed-broadcast
Ping of Death:
"ping ofdeath"攻击就是我们常说的"死亡Ping"
这种攻击通过发送大于65536字节的ICMP包使操作系统崩溃;通常不可能发送大于65536个字节的ICMP包,但可以把报文分割成片段,然后在目标主机上重组;最终会导致被攻击目标缓冲区溢出,引起拒绝服务攻击。有些时候导致telne和http服务停止,有些时候路由器重启。
teardown攻击:
对于一些大的IP数据包,往往需要对其进行拆分传送,这是为了迎合链路层的MTU(最大传输单元)的要求。比如,一个6 000字节的IP包,在MTU为2 000的链路上传输的时候,就需要分成3个IP 包。在IP报头中有一个偏移字段和一个拆分标志(MF)。如果MF标志设置为1,则表示这个IP包是一个大IP包的片段,其中偏移字段指出了这个片段在整个IP包中的位置。例如,对一个6 000字 节的IP包进行拆分(MTU为2 000),则3个片段中偏移字段的值依次为0,2000,4 000。这样接收端在全部接收完IP数据包后,就可以根据这些信息重新组装这几个分次接收的拆分IP包。在这 里就有一个安全漏洞可以利用了,就是如果黑客们在截取IP数据包后,把偏移字段设置成不正确的值,这样接收端在收到这些分拆的数据包后,就不能按数据包中的偏移字段值正确组合这些拆分的数据包,但接收端会不断尝试,这样就可能致使目标计算机操作系统因资源耗尽而崩溃。
Land(LandAttack)攻击:
在Land攻击中,黑客利用一个特别打造的SYN包--它的原地址和目标地址都被设置成某一个服务器地址进行攻击。此举将导致接受服务器向它自己的地址发送SYN-ACK消息,结果这个地址又发回ACK消息并创建一个空连接,每一个这样的连接都将保留直到超时,在Land攻击下,许多UNIX将崩溃,NT变得极其缓慢(大约持续五分钟)。

IP欺骗:
这种攻击利用TCP协议栈的RST位来实现,使用IP欺骗,迫使服务器把合法用户的连接复位,影响合法用户的连接。假设有一个合法用户(100.100.100.100)已经同服务器建了正常的连接,攻击者构造攻击的TCP数据,伪装自己的IP为100.100.100.100,并向服务器发送一个带有RST位的TCP数据段。服务器接收到这样的数据后,认为从100.100.100.100发送的连接有错误,就会清空缓冲区中已建立好的连接。这时,合法用户100.100.100.100再发送合法数据,服务器就已经没有这样的连接了,该用户就被拒绝服务而只能重新开始建立新的连接。

简单的DOS攻击之死亡之ping详解插图1

ARP攻击:

当发现上网明显变慢,或者突然掉线时,我们可以用arp -a命令来检查ARP表:(点击“开始”按钮-选择“运行”-输入“cmd”点击"确定"按钮,在窗口中输入“arp -a”命令)如果发现网关的MAC地址发生了改变,或者发现有很多IP指向同一个物理地址,那么肯定就是ARP欺骗所致。这时可以通过”arp -d“清除arp列表,重新访问。

ARP攻击方式简析:

1. 简单的诈骗攻击

这是对比多见的攻击,经过发送伪造的ARP包来诈骗路由和方针主机,让方针主机认为这是一个合法的主机,便完成了诈骗,这种诈骗多发生在同一网段内,因为路由不会把本网段的包向外转发,当然完成不一样网段的攻击也有办法,便要经过ICMP协议来告诉路由器从头挑选路由。

2. 根据ARP的DOS

这是新呈现的一种攻击办法,D.O.S又称拒绝服务攻击,当大量的衔接请求被发送到一台主机时,因为主机的处理才能有限,不能为正常用户提供服务,便呈现拒绝服务。这个过程中假如运用ARP来躲藏自己,在被攻击主机的日志上就不会呈现真实的IP攻击,也不会影响到本机。

3. MAC Flooding

这是一个对比风险的攻击,能够溢出交流机的ARP表,使全部网络不能正常通讯。

4. 交流环境的嗅探

在开始的小型局域网中咱们运用HUB来进行互连,这是一种广播的办法,每个包都会经过网内的每台主机,经过运用软件,就能够嗅探到全部局域网的数据。现在的网络多是交流环境,网络内数据的传输被锁定的特定方针。既已断定的方针通讯主机,在ARP诈骗的根底之上,能够把自己的主机伪装成一个中心转发站来监听两台主机之间的通讯。

等等……未完待续

本文由 泓源视野 作者:admin 发表,其版权均为 泓源视野 所有,文章内容系作者个人观点,不代表 泓源视野 对观点赞同或支持。如需转载,请注明文章来源。
4
admin

发表评论

Protected with IP Blacklist CloudIP Blacklist Cloud
您是第8231756 位访客, 您的IP是:[108.162.219.117]