千家信息网

Wannacry勒索软件母体主程序逆向分析

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,Wannacry勒索软件母体主程序逆向分析0×01 逆向分析好了,说正题,我从这里下载了Wannacry样本,一些枯燥的汇编分析细节就不多讲,我们尽量快速的了解到整体过程。首先会通过一个函数算出一个标
千家信息网最后更新 2026年11月01日Wannacry勒索软件母体主程序逆向分析

Wannacry勒索软件母体主程序逆向分析

0×01 逆向分析

好了,说正题,我从这里下载了Wannacry样本,一些枯燥的汇编分析细节就不多讲,我们尽量快速的了解到整体过程。


首先会通过一个函数算出一个标识,我们将这个函数命名为getDisplayName,本质就是通过GetComputerNameW获取计算机名然后取随机数算出一个唯一对应的标识(我们命名为DisplayName),后面的执行过程会用到这个标识

接下来会做几件事情,任意一项未执行成功都会退出


检查命令行参数是否为两个,并且是否有/i这个参数


检查并尝试在ProgramData目录 或 Intel目录 或 Temp系统临时目录下创建前面算出的DisplayName为标识的目录


将这个工作目录设置为6也就是0×2 和 0×4(FILE_ATTRIBUTE_HIDDEN 和 FILE_ATTRIBUTE_SYSTEM )隐藏和系统


创建自身的副本并命名为tasksche.exe


将tasksche.exe优先以服务方式启动,如果失败则以普通进程方式启动(副本启动的入口点和原始文件启动的入口点不同,从而实现不同的逻辑)

通过互斥体Global\\MsWinZonesCacheCounterMutexA来判断是否启动成功

以上几项都成功完成后流程才会继续,否则终止。

创建注册表项HKEY_LOCAL_MACHINE\Software\WanaCrypt0r\wd ,写入当前路径值

从资源中释放PE文件taskdl.exe、taskse.exe,为了免杀,资源中的PE文件是加了密的,释放过程中会解密,比较繁琐

会给释放的资源传一个类似key之类的参数过去,参数值为WNcry@2ol7

然后在当前目录下读取c.wnry文件

如果读取到了c.wnry文件,就会将13AM4VW2dhxYgXeQepoHkHSQuy6NgaEb94通过一个随机数加密后写回到c.wnry,而这一串数字就是***的比特币地址,也就是说c.wnry文件里保存的是加密后的***的比特币地址


上图就是c.wnry文件的加密算法,这个加密很简单,只用了两句来实现

下面的临时解决方案的自动化工具里就用到了这三个***的比特币地址

13AM4VW2dhxYgXeQepoHkHSQuy6NgaEb94

12t9YDPgwueZ9NyMgw519p7AA8isjr6SMw

115p7UMMngoj1pMvkpHijcRdfJNXj6LrLn

执行这两句命令

attrib +h .

icacls . /grant Everyone:F /T /C /Q

attrib命令将DisplayName工作目录设置为隐藏

icacls命令开放目录的用户权限

接下来是动态获取所需的API地址

首先是获取kernel32.dll中的文件相关的API

然后是获取advapi32.dll中的加解密相关的API

CSP用的是系统默认或者是RSA and AES

加密文件以WANACRY!为特征头

被加密的文件涉及到各种文档、文本、虚拟机、压缩包、镜像、图片、视频、音乐、源代码、脚本、数据库、邮件、证书等近200种文件类型,几乎涵盖了方方面面,但确没有BT种子文件,看来***还是有所为有所不为啊^_^

0×02 临时解决方案自动化工具

网上流传了一个临时解决方案的思路是:

获取***收款地址的交易记录

将别人支付赎金的记录信息(交易hash值)冒充是自己付的发送给***来蒙混过关(挺贼的^_^)

通过https://btc.com/可以查询到交易记录,但是我们需要有***的收款地址,上面我们已经分析出来了

13AM4VW2dhxYgXeQepoHkHSQuy6NgaEb94

12t9YDPgwueZ9NyMgw519p7AA8isjr6SMw

115p7UMMngoj1pMvkpHijcRdfJNXj6LrLn

网上有个python的自动化脚本,这里再优化一下,而且还有很多人不是搞IT的,不懂什么python,于是做了一个傻瓜式的exe程序来自动获取交易记录

工具链接: http://pan.baidu.com/s/1hsbwQaC 密码: p263

0×03 结尾

从下午开始一直坐在电脑前就没起过身,分析、码字、写工具,一晃现在都到半夜了,搞这行伤不起啊。写不动了,今天先休息了。不过也能猜到其他还要做什么,就是扫端口,找到开放了445端口SMBv1的就使用NSA老大的Eternalblue Doublepulsar实现蠕虫式传播

最后再分享下这次罪魁祸首的工具:

https://github.com/x0rz/EQGRP_Lost_in_Translation

https://github.com/misterch0c/shadowbroker

是工具(没有源码),用了一个python***框架Fuzzbunch简称fb,这个框架怎么用,可以看这里http://www.freebuf.com/articles/system/133853.html

微软的补丁信息:https://blogs.technet.microsoft.com/msrc/2017/04/14/protecting-customers-and-evaluating-risk/

文章地址:http://www.freebuf.com/vuls/134602.html

文件 目录 地址 工具 加密 分析 参数 命令 就是 标识 交易 成功 方案 系统 解决方案 资源 过程 自动化 不同 接下来 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 科技与互联网 今日互联网科技 关于新基建和互联网科技 中资互联网科技 上海互联网科技有限公司 互联网金融科技创新 互联网科技公司有哪些 居家互联网科技有限公司 剑昆互联网络科技有限公司临桂 字节跳动和互联网科技 常德市电业局互联网科技部 互联网金融科技公司干啥的 佳云科技和互联网广告 江阴互联网智能科技产品进口 区块链结合互联网科技 本届互联网大会上的黑科技 上海同邻互联网科技有限公司规模 福建互联网展示科技馆设计 美国五大互联网科技公司市值多少 互联网科技创业有什么好项目 重生之互联网科技帝国 没上市的科技互联网公司 互联网科技公司发展 互联网与新科技 北京华百购互联网科技有限公司 互联网金融科技公司干啥的 燊美集互联网科技有限公司 南京一网一红互联网科技有限公司 互联网高科技行业有哪些企业 科技互联网专业工作会议发言稿
0