本帖最后由 1277832129 于 2015-2-5 19:28 编辑

从昨天晚上开始,陆续在群里面看到几位服主服务器遭到攻击,大概检查了一下,发现原理很简单.

先说下什么是PING攻击,不是CMD里面的那个PING,获取服务器MOTD后 客户端会向服务端发送PING包,来检测延迟,
在熊吧看到,有人想通过获取MOTD的方式打服,那样太没效率,会因为使用的套接字太多,最后被服务器拦下的.
但是通过PING攻击,只需要使用几个套接字即可,基本不会被抓.

原理:
先上图说说,ping攻击.我这里所演示的服务器,是某位熊孩子的,我就不说了.


如图所示红框部分,就是PING状态,并不是MOTD部分,而是单独的.怎么说好呢···总之先看吧.


如图所示,可以发现,在获取MOTD后 就可以发送PING包了 这个时候你PING一次 服务器同样也会返回一次,
所以熊孩子估计就用了这点吧


先说说效果,一般的随便找台宽带不错的服务器,用差不多5个socket打服 就可以达到很好的效果,
服务器那边的现象是,不会有任何提示,服务器无缘无故内存溢出(报错outofmemory),最后服务器崩溃.
在这种情况下很难找到真实IP,所以很麻烦.因为是MC协议,防火墙也不会拦截,认为这是一次正常的访问.


实战:
我实战的目的只是为告诉大家威力,希望大家重视,不希望被熊孩子利用
我选取了一台服务器,这台服务器是刚刚攻击其他人的,我只是用来做演示,并无恶意.
根据原理 我写好了一套简单的工具 直接开始演示威力
还是刚刚看到的那个服务器,开始攻击后


可以看到宽带占用量大幅提高

一会可以看到 基本挂了 过不了多久 就会垮掉.


防御:
两种办法
接到Ping包后 返回一次就行了 接着close掉socket
或者是直接发完MOTD后 断开连接
这里举两个例子

BungeeCord服的自动防御:


如图所示 这样的好处在于 可以看到PING条 会是绿的

一些MOTD为了满足特殊需求,不能发送PING包 但是歪打正着的防御了PING攻击 比如动态MOTD插件



如图所示是一款动态MOTD插件抓包的截图,为了实现动态MOTD,不得不放弃PING.

可以看到这里的绿灯变成了红灯,这种方法也是有效的


另外这个BUG也提交给保护插件的作者了 所以估计很快 保护插件 会增加这个的防御





3.png (22.33 KB, 下载次数: 48)

3.png