Fuzzbunch,WannaCry 和 Windows Update

还记得上一次更新你的 Windows 是什么时候吗?

反正我已经是几年前了,因为几年前我就放弃了对 Windows 的使用,全面投入使用我更加熟悉的 Linux 了. 有趣的是,国内许多 Windows 用户的最后一个 Update 也是几年前,究其原因,大多都是在安装电脑后或是被人鼓动关闭 Windows Update,或是发现 Windows 更新给自己带来了很多麻烦,然后自行找资料关闭了 Update.

应该是 5 月 13 号早上,和往常一样,打开电脑第一件事就是看 Feedly 订阅的几十个新闻源,在 TheHackerNews 中第一次看到了 WannaCry,不过由于 TheHackerNews 属于安全类媒体,向来都是这样的消息,当时那一条新闻并没有引起我的太大关注,便被我忽略了. 如果仅仅是这样也就不会有本文了

然而与之前不同的是,之后几天,我收到了大量的邮件和同学的询问,而且问题大致类似,基本都是 “比特币病毒怎么破?”,” 我的电脑是否安全” 之类的问题…

“比特币病毒” 是什么?

要搞清楚如何面对这些问题,我们先要了解,所谓的 “比特币病毒” 是什么.

第一次听说” 比特币病毒” 的时候我还疑惑,想着是不是比特币的 ECDSA 出现了重大漏洞. 结果看了一下网上关于 WannaCry 的报道之后才发现,这仅仅是一个利用了较新漏洞的勒索病毒而已,要求赎金通过比特币发送… 选择比特币的一个简单原因是这样可以较少地暴露幕后的收款人,况且现在互联网上的绝大多数勒索病毒都是要求比特币付款的… 中国的媒体啊,听得风,是得雨

WannaCry 的来源?

网上已经有很多安全公司和安全研究者对 WannaCry 的逆向工程及研究了,我作为一个非安全工作者就不从 WannaCry 的技术层面上去细述了,这里仅仅提一下这个病毒的来源.

2017 年 4 月中旬,一个自称 “TheShadowBrokers” 的团体放出了美国国家安全局(NSA)的一些攻击工具,其中包含大量 自动化 漏洞攻击工具,具体的介绍可以参考文末的链接.

由于目前世界上桌面系统中 Windows 装机量最大,其中一个被广为流传的就是 Windows 下攻击平台 Fuzzbunch,这个由 Python2.6 编写的平台可以搭载多种 Payload,其中就包含针对 MS17_010 漏洞的 Payload——EternalBlue 和 DoublePulsar. 而我们最近遇到的 WannaCry,正是基于这两者的更加自动化,更加 “商业化” 的应用.

真正令我感到意外的是,这个漏洞居然会被这样利用,按照常理来说一个漏洞的发现的初端(所谓 0day)一定是在补丁被制作前攻击高价值目标,例如核电站,银行系统, 教务网 等,但是这次的 WannaCry 并没有这么做,它发动了一场大规模的蠕虫式的扩散勒索,且 WannaCry 的真正的危险性在于 EternalBlue,而 EternalBlue 可以做到有 90% 几率直接击穿一台没有保护的 Win7.(此处的保护指的是防火墙和微软的补丁而不是 xx 管家这类鸡鸣狗盗之辈)

如何防范 WannaCry?

几周前,我向一些我信得过的同学演示过在内网下使用 Fuzzbunch 来发动攻击(当然,我们事先获得过授权),攻击的过程如教科书般统一,且被攻下的电脑中不乏安装了多套安全卫士,或者各种管家的 其中一台甚至还安装了 XX 安全卫士企业版 ,被攻下的计算机可以直接远程操控开启摄像头,获取 SAM 文件的 Hash,屏幕截图等… 而这些被攻击的计算机都有两个共同的特点:

0.Win7 Build7601

  1. 开放了 445 端口(即 SMB 服务)

了解了这个特点我们大致就可以知道如何防范这个 WannaCry 了,我们分类讨论

家庭用户

国内的家庭用户一般是使用路由器结合 FTTH 终端访问互联网,除非你对路由器做过什么特别的操作(比如把内网主机放在 DMZ 中,或者打了个 L3 GRE 隧道)且你使用的是 Win7,否则不用担心自己电脑的 445 端口暴露在外网,此时只要你的内网环境中没有携带这个病毒的人或者没有会用 Fuzzbunch 的人,至少在家里的网络环境下你是安全的.

学校及企业用户

这个环境下事情就变得很混乱了,拿我们学校来说吧,虽然做了 VLAN 分划,但是各个网段之间是完全可以互通的. 不过由于我校边界路由的限制和 Drcom 积极地不允许我们联网,加上我校并没有 IPv6 资源,所有用户都共享那少得可怜又带宽小的可怜的几个出口,大多数用户没有这个能力把自己的 445 端口暴露到互联网上接受打击.

CQJTU-Network

但是如果在我校有任何一个内部攻击源或者不幸引入了一台被感染的计算机的话,完全有可能导致全校 50% 以上计算机瘫痪(可以尝试一下 nmap -A -p445 10.8.0.0/16| grep "Windows 7" | wc -l,或者不说多的,光 A01 教学楼的电脑就全是 Win7,连接不了外网,从来不更新,自行体会). 如果你不幸在这样一个网段下,我有如下建议:

  1. 关闭 Windows 电脑上的 SMB 服务,方法自行 Google,别告诉我你不会,否则你根本不会看这篇文章.
  2. 赶紧跟上 Windows 的所有 Update.
  3. 删除你电脑上的所有 xx 管家,xx 助手,那些废物除了消耗你的系统资源,扫描你的文件以外没有任何作用(虽然彻底删除他们可能对于很多人而言是个难题),要电脑不中毒还是靠科学的上网习惯.
  4. 贴上你的笔记本电脑摄像头.
  5. 如果你不玩游戏也对 Adode 产品没有什么需求的话,还是早点开始使用 Linux 吧.

本来还想建议先接上路由器再接入校内网络呢,但是网络中心的 Drcom 不允许使用二级路由联网,我也无话可说…Drcom 在这个层面上就是为 WannaCry 的传播两肋插刀:)

哦,还有一点,如果你的摄像头灯亮了,就该拔网线了,别的都是没有用的.

参考链接及扩展阅读:

0.ShadowBrokers 方程式工具包浅析,揭秘方程式组织工具包的前世今生
1.方程式 ETERNALBLUE 之 fb.py 的复现
2.自由谈 (2014 年 3 月 15 日,科英布拉)
3.Wiki-WannaCry cyber attack


我的博客使用了Disqus评论框,如果你看不到评论框,那么多半Disqus服务在你所在的地区被墙,请使用代理访问。