文章目录

我写这篇文章其实是为了印证 为什么说我们是在数字世界裸奔的 里面的内容

你无法控制的基础软件的漏洞

啥OpenSSH啊,Strut2,ImageMagick,这些完全不是你的错,错就错在你用了他。一个漏洞从被人发现,验证,黑产利用,CVE等机构发出来,再到被你知道,已经经过很长时间了,你的防护有时候是跟不上的,我知道Strut2漏洞出来,已经就有人到厦门某银行内网逛了一圈。

科普:BIND9是什么?

BIND由美国加州大学Berkeley分校开发和维护的,全名为Berkeley Internet Name Domain,它是目前世界上使用最为广泛的DNS服务器软件,我忘记多少了但是据说90%以上的DNS服务器使用BIND搭建的。13台根服务器有10台在使用他。你在上网时每时每刻都在使用DNS协议,浏览器内输入www.baidu.com,通过DNS协议会告诉你是访问那台,有点类似黄页的概念。也就是,没有DNS,你看到的都是404,甚至404都看不到!

BIND9有漏洞是正常的

虽然这次BIND9的DoS攻击不算是漏洞,但是你还是会很烦,全校不能上网是什么情况,小区宽带4G网络无法上网是啥情况。所以说严重其实也是蛮严重的。接下来应该有一大堆很苦逼的运维人员开始花时间10分钟到几个小时(如果你太懒了太久没有更新了,你发现你的操作系统安全补丁已经EOL了)来修复这个问题,还有一些精力旺盛明明其他事情还很多的人开始写博客。。。耗电又增加了,GDP增加了。

其实对于BIND软件来说,他有漏洞是常态,以DoS居多,可看 BIND 9 Security Vulnerability Matrix,所以我有事没事都会执行一下系统更新。所以假设我还不知道这个事情的前提下推演一下下面的事情会如何发生。

发生在平行世界的修复故事

有个人无聊跑了namedown.py,然后厦门大学DNS当了,全校人无法上网。Nagios监控监控到了,但是监控TMD的是根据域名访问的,所以监控邮件发送不出去,短信也发不出去,哑巴了。虽然DNS有缓存有备用,但是我应该会很快接到电话,这么严重的事情,大家都是你的监控传感器。这个症状很明显,1秒验证下DNS有问题,10秒登录服务器,重启下DNS服务,就正常了。当然首先是我在电脑前。虽然我不知道是啥问题引起的,找了半天Log没找到,于是我就很无聊的升级起系统来了,apt-get update,apt-get dist-upgrade,然后就结束了,这个事情就没了。如果不是要保留现场定位问题,原则是首先把系统升级到最新了再来找问题。过几天看到这条新闻,哦,原来可能是这个。

也就是说,幸好我可以一直升级到最新,最新的BIND有啥漏洞不是我的事了,但是对于那些没有这个习惯的人,他可能要被这个无聊人搞死。

漏洞消息传播路径

接着我们来看看这个严重的DoS攻击消息是如何传达到我这边的。前提是我们居然没人在跟踪CVE。以下是时间表:

时间 作者 内容
2016-02-26 CVE CVE生成CVE-2016-2776
2016-09-14 ISC ISC提前通知部分重要用户
2016-09-21 ISC Added information about the Stable Preview release to versions affected.
2016-09-27 ISC 公开披露,Assertion Failure in buffer.c While Building Responses to a Specifically Constructed Request
2016-10-03 Martin Tartarelli 作者根据ISC的修复源代码写出了PoCA TALE OF A DNS PACKET (CVE-2016-2776)
2016-10-04 ISC 提示PoC已经有了,Metasploit脚本有了,一大波攻击正在来临。
2016-10-05 Ubuntu 推出补丁
2016-10-10 CCERT 发布 ISC BIND 9拒绝服务漏洞
2016-10-14 在某个安全群里知道了这个信息,修复。
NaN 你看到了

所以说这个周期确实很长,大家各安天命吧。

看完了很想吐槽,为什么CVE2月份就生成了,ISC都不当回事?以前BIND DoS貌似没有过这么简单的PoC,只要下载一个Python脚本,改一个IP地址,你就可以让一台DNS死掉?我是不是应该怎么订阅下CVE了?