WannaCry 蠕虫详细分析

背景:

2017 年 5 月 12 日,WannaCry 蠕虫通过 MS17-010 漏洞在全球范围大爆发,感染了大量的计算机,该蠕虫感染计算机后会向计算机中植入敲诈者病毒,导致电脑大量文件被加密,本文对其进行详细分析。

木马概况:

WannaCry 木马利用前阵子泄漏的方程式工具包中的“永恒之蓝”漏洞工具,进行网络端口扫描攻击,目标机器被成功攻陷后会从攻击机下载 WannaCry 木马进行感染,并作为攻击机再次扫描互联网和局域网其他机器,行成蠕虫感染大范围超快速扩散。

木马母体为 mssecsvc.exe,运行后会扫描随机 ip 的互联网机器,尝试感染,也会扫描局域网相同网段的机器进行感染传播,此外会释放敲诈者程序 tasksche.exe,对磁盘文件进行加密勒索。

木马加密使用 AES 加密文件,并使用非对称加密算法 RSA 2048 加密随机密钥,每个文件使用一个随机密钥,理论上不可破解。

详细分析:

mssecsvc.exe 行为:

1、开关:

木马在网络上设置了一个开关,当本地计算机能够成功访问 http://www.iuqerfsodp9ifjaposdfjhgosurijfaewrwergwea.com 时,退出进程,不再进行传播感染。目前该域名已被安全公司接管。

2、蠕虫行为:

通过创建服务启动,每次开机都会自启动

从木马自身读取 MS17_010 漏洞利用代码,playload 分为 x86 和 x64 两个版本。

创建两个线程,分别扫描内网和外网的 IP,开始进程蠕虫传播感染。

对公网随机 ip 地址 445 端口进行扫描感染

对于局域网,则直接扫描当前计算机所在的网段进行感染

感染过程,尝试连接 445 端口

如果连接成功,则对该地址尝试进行漏洞攻击感染

3、释放敲诈者

tasksche.exe 行为:(敲诈者)

解压释放大量敲诈者模块及配置文件,解压密码为 WNcry@2ol7

首先关闭指定进程,避免某些重要文件因被占用而无法感染

遍历磁盘文件,避开含有以下字符的目录

\ProgramData

\Intel

\WINDOWS

\Program Files

\Program Files (x86)

\AppData\Local\Temp

\Local Settings\Temp

This folder protects against ransomware. Modifying it will reduce protection

同时,也避免感染木马释放出来的说明文档

木马加密流程图

遍历磁盘文件,加密以下 178 种扩展名文件。

.doc, .docx, .xls, .xlsx, .ppt, .pptx, .pst, .ost, .msg, .eml, .vsd, .vsdx, .txt, .csv, .rtf, .123, .wks, .wk1, .pdf, .dwg, .onetoc2, .snt, .jpeg, .jpg, .docb, .docm, .dot, .dotm, .dotx, .xlsm, .xlsb, .xlw, .xlt, .xlm, .xlc, .xltx, .xltm, .pptm, .pot, .pps, .ppsm, .ppsx, .ppam, .potx, .potm, .edb, .hwp, .602, .sxi, .sti, .sldx, .sldm, .sldm, .vdi, .vmdk, .vmx, .gpg, .aes, .ARC, .PAQ, .bz2, .tbk, .bak, .tar, .tgz, .gz, .7z, .rar, .zip, .backup, .iso, .vcd, .bmp, .png, .gif, .raw, .cgm, .tif, .tiff, .nef, .psd, .ai, .svg, .djvu, .m4u, .m3u, .mid, .wma, .flv, .3g2, .mkv, .3gp, .mp4, .mov, .avi, .asf, .mpeg, .vob, .mpg, .wmv, .fla, .swf, .wav, .mp3, .sh, .class, .jar, .java, .rb, .asp, .php, .jsp, .brd, .sch, .dch, .dip, .pl, .vb, .vbs, .ps1, .bat, .cmd, .js, .asm, .h, .pas, .cpp, .c, .cs, .suo, .sln, .ldf, .mdf, .ibd, .myi, .myd, .frm, .odb, .dbf, .db, .mdb, .accdb, .sql, .sqlitedb, .sqlite3, .asc, .lay6, .lay, .mml, .sxm, .otg, .odg, .uop, .std, .sxd, .otp, .odp, .wb2, .slk, .dif, .stc, .sxc, .ots, .ods, .3dm, .max, .3ds, .uot, .stw, .sxw, .ott, .odt, .pem, .p12, .csr, .crt, .key, .pfx, .der

程序中内置两个 RSA 2048 公钥,用于加密,其中一个含有配对的私钥,用于演示能够解密的文件,另一个则是真正的加密用的密钥,程序中没有相配对的私钥

木马随机生成一个 256 字节的密钥,并拷贝一份用 RSA2048 加密,RSA 公钥内置于程序中

构造文件头,文件头中包含有标志、密钥大小、RSA 加密过的密钥、文件大小等信息

使用 CBC 模式 AES 加密文件内容,并将文件内容写入到构造好的文件头后,保存成扩展名为.WNCRY 的文件,并用随机数填充原始文件后再删除,防止数据恢复

完成所有文件加密后释放说明文档,弹出勒索界面,需支付价值数百美元不等的比特比到指定的比特比钱包地址,三个比特币钱包地址硬编码于程序中

115p7UMMngoj1pMvkpHijcRdfJNXj6LrLn

12t9YDPgwueZ9NyMgw519p7AA8isjr6SMw

13AM4VW2dhxYgXeQepoHkHSQuy6NgaEb94

解密程序:

木马解密程序中内置了其中一个公钥的配对私钥,可以用于解密使用该公钥加密的几个文件,用于向用户“证明”程序能够解密文件,诱导用户支付比特币。

此后,程序判断本地是否存在“00000000.dky”文件,该文件为真实解密所需私钥文件。若存在,则通过解密测试文件来检测密钥文件是否正确。

若正确,则解密,若错误或不存在,木马将程判断解压后的 Tor 目录下是否存在 taskhsvc.exe,若不存在,则生成该文件,并且调用 CreateProcessA 拉起该进程:

该程序主要为 tor 匿名代理工具,该工具启动后会监听本地 9050 端口,木马通过本地代理通信实现与服务器连接。

在点击“Check Payment”按钮后,由服务端判断是否下发解密所需私钥。若私钥下发,则会在本地生成解密所需要的 dky 文件。

而后,程序便可利用该 dky 文件进行解密。不过,到目前为止,未曾有解密成功的案例。

文件列表及作用:

b.wnry: 中招敲诈者后桌面壁纸

c.wnry: 配置文件,包含洋葱域名、比特币地址、tor 下载地址等

r.wnry: 提示文件,包含中招提示信息

s.wnry: zip 文件,包含 Tor 客户端

t.wnry: 测试文件

u.wnry: 解密程序

f.wnry: 可免支付解密的文件列表

安全建议:

由于之前爆发过多起利用 445 端口共享漏洞攻击案例,运营商对个人用户关闭了 445 端口。因校园网是独立的,故无此设置,加上不及时更新补丁,所以在本次事件中导致大量校园网用户中招。管家提供以下安全建议

1,关闭 445、139 等端口,方法详见:http://mp.weixin.qq.com/s/7kArJcKJGIZtBH1tKjQ-uA

2、下载并更新补丁,及时修复漏洞(目前微软已经紧急发布 XP、Win8、Windows server2003 等系统补丁,已经支持所有主流系统,请立即更新);

3、安装腾讯电脑管家,管家会自动开启主动防御进行拦截查杀;

4,支付比特币并不能解密文件,不要支付比特币,保留被加密的文件,等待解密

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

编辑于

杜成法的专栏

1 篇文章1 人订阅

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Spark学习技巧

大数据集群安全系列之kafka使用SSL加密认证

Apache kafka允许客户端通过SSL进行连接。默认情况下SSL是禁止状态,可以根据需要开启。本文就是浪尖亲测,开启SSL认证。 1,为每一个kafka ...

47810
来自专栏落影的专栏

iOS如何保证下载资源的可靠性

前言 有时需要在本地存储资源,并且从服务器下载资源,因为涉及到运行期间的安全性,有必要添加校验的逻辑,因此有了本文的一些思考。 ipa包被篡改的情况 首先思考的...

4456
来自专栏张绍文的专栏

基于 TLS 1.3的微信安全通信协议 mmtls 介绍(下)

随着近些年网络安全事情的频繁发生,使得用户对网络通信安全的意识越来越强。国内外的网络服务提供商都逐渐提供全站的安全通信服务,如国内的淘宝、百度先后宣布已经完成了...

1.2K1
来自专栏偏前端工程师的驿站

.Net魔法堂:史上最全的ActiveX开发教程——部署篇

一、前言                                   接《.Net魔法堂:史上最全的ActiveX开发教程——发布篇》,后我们继续来部署...

1795
来自专栏信安之路

无线渗透测试总结

如今,几乎人人都有手机,移动端设备数不胜数,手机、平板、笔记本都要使用无线网络,所以无线安全是非常重要的,本文的主要目的是无线渗透测试的方法总结,本文来源于老外...

970
来自专栏java一日一条

如何针对老旧浏览器设置 HTTPS 策略

几天前,一位朋友问我:都说推荐用 Qualys SSL Labs 这个工具测试 SSL 安全性,为什么有些安全实力很强的大厂家评分也很低?我认为这个问题应该从两...

2032
来自专栏拂晓风起

网站安全登录 web应用安全登录 密码 防截获

1383
来自专栏FreeBuf

Rapid勒索病毒分析与检测

勒索病毒一直是安全行业的一个热点,近期安全人员发现了一款名为rapid的勒索病毒,该勒索病毒使用了 RSA加AES对文件进行加密,它不仅会感染计算机上已有的文件...

4777
来自专栏运维技术迷

Nginx配置SSL证书

前段时间根据老谢写的博文,自己也搞了一个SSL证书,由于虚拟主机权限不够我折腾的,所以就入手了一台新加坡的VPS开始折腾。由于SSL证书是要求独立IP的,所以我...

69810
来自专栏刺客博客

免费泛解析证书获取及后续安装方法

3435

扫码关注云+社区