从昨天晚上开始,陆续在群里面看到几位服主服务器遭到攻击,大概检查了一下,发现原理很简单.
先说下什么是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)