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

简介:










本文转自 运维小当家 51CTO博客,原文链接:http://blog.51cto.com/solin/1925949 腾讯安全团队深入解析wannacry蠕虫病毒

背景:

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

木马概况:

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

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

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

01.png


详细分析:

mssecsvc.exe行为:

1、开关:

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

02.png

2、蠕虫行为:

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

03.png

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

04.png

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

05.png

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

06.png

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

07.png

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

08.png

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

09.png

3、释放敲诈者

10.png

tasksche.exe行为:(敲诈者)

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

11.png

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

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

13.png

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

14.png

木马加密流程图:

QQ图片20170514011158.png

遍历磁盘文件,加密以下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公钥,用于加密,其中一个含有配对的私钥,用于演示能够解密的文件,另一个则是真正的加密用的密钥,程序中没有相配对的私钥。

16.png

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

17.png

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

18.png

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

19.png

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

115p7UMMngoj1pMvkpHijcRdfJNXj6LrLn

12t9YDPgwueZ9NyMgw519p7AA8isjr6SMw

13AM4VW2dhxYgXeQepoHkHSQuy6NgaEb94

20.png

解密程序:

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

21.png

22.png

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

23.png

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

24.png

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

25.png

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

26.png

而后,程序便可利用该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、支付比特币并不能解密文件,不要支付比特币,保留被加密的文件,等待解密。

原文地址:http://www.freebuf.com/articles/system/134578.html

,如需转载请自行联系原作者
目录
相关文章
|
2月前
|
SQL 监控 数据库连接
数字安全网:深入解析服务容错的三大绝招“
数字安全网:深入解析服务容错的三大绝招“
22 1
|
4月前
|
Kubernetes 安全 Cloud Native
云原生|kubernetes|pod或容器的安全上下文配置解析
云原生|kubernetes|pod或容器的安全上下文配置解析
110 0
|
7月前
|
安全 数据处理
无线振弦采集仪应用隧道安全监测的方案解析
无线振弦采集仪应用隧道安全监测的方案解析 隧道是一种特殊的工程结构,它们在道路、铁路和地铁等交通设施中起着至关重要的作用。隧道安全监测是确保隧道运行安全的必要手段之一,其中振弦采集仪是一种常用的监测设备。在本文中,我们将分析无线振弦采集仪在隧道安全监测中的应用方案。
无线振弦采集仪应用隧道安全监测的方案解析
|
1月前
|
存储 安全 网络安全
Git 安全远程访问:SSH 密钥对生成、添加和连接步骤解析
SSH(Secure Shell)是一种用于安全远程访问的协议,它提供了加密通信和身份验证机制。在使用 SSH 连接到远程 Git 存储库时,您可以使用 SSH 密钥对来确保安全性。以下是关于如何生成和使用 SSH 密钥对的详细步骤: 生成 SSH 密钥对
98 2
|
3月前
|
JSON fastjson 数据库
字符编码导致Rapidjson(腾讯开源的json解析库)到Fastjson(阿里开发的Java json解析库)转换失败的原因分析
最近在客户端的开发的过程中,使用到了RapidJson,公司的开发是客户端和数据库端都由不同的人进行开发,我负责的客户端的逻辑开发(使用c++),开发工具同时使用了VS2017和QT的编译环境,使用QT主要是为了客户端界面开发方便,而使用了VS环境主要是维护公司开发的数据库接口库,这个库的唯一作用就是作为一个中间桥梁,使用Rapidjson将数据库接口的json数据格式解析为结构体数据,从而在客户端界面进行展示,或者接收客户端的数据,使用Rapidjson将其转换为json数据,发送给数据库接口以保存数据使用 。不太明白的可以参考我上一篇文章说明Rapidjson的使用过程-Parse解析数组
48 0
|
5月前
|
安全
带你读《“DNS+”发展白皮书(2023)》——(二)平台化和安全保障
带你读《“DNS+”发展白皮书(2023)》——(二)平台化和安全保障
|
5月前
|
安全
带你读《“DNS+”发展白皮书(2023)》——(三)安全研究成果(1)
带你读《“DNS+”发展白皮书(2023)》——(三)安全研究成果(1)
|
5月前
|
安全
带你读《“DNS+”发展白皮书(2023)》——(三)安全研究成果(2)
带你读《“DNS+”发展白皮书(2023)》——(三)安全研究成果(2)
|
5月前
|
存储 Rust 安全
深入解析Go非类型安全指针:技术全解与最佳实践1
深入解析Go非类型安全指针:技术全解与最佳实践
180 0
|
6月前
|
供应链 Kubernetes 安全
SOFAStack软件供应链安全产品解析——SCA软件成分分析
本文将着重介绍针对开源组件风险发现场景的软件供应链安全产品——SCA软件成分分析。
177 1

推荐镜像

更多