腾讯安全团队深入解析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等系统补丁,已经支持所有主流系统,请立即更新)。
XP、Windows Server 2003、win8等系统访问:http://www.catalog.update.microsoft.com/Search.aspx?q=KB4012598
Win7、win8.1、Windows Server 2008、Windows 10, Windows Server 2016等系统访问: https://technet.microsoft.com/zh-cn/library/security/ms17-010.aspx
3、装置腾讯电脑管家,电脑管家会自动敞开自动防护进行阻拦查杀;
4、付出比特币并不能解密文件,不要付出比特币,保存被加密的文件,等候解密。