腾讯安全团队深入解析wannacry蠕虫病毒

前言

原文作者:腾讯电脑管家
来源:http://www.freebuf.com/articles/system/134578.html
我只是知识的搬运工

hacker

背景

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端口进行扫描感染。

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

07.png

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

08.png

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

3、释放敲诈者
tasksche.exe行为:(敲诈者)

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

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

12.png

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

\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. 支付比特币并不能解密文件,不要支付比特币,保留被加密的文件,等待解密。

上一篇:Requests库详解


下一篇:beego入门