当前位置:主页 > 资料 >

首发 | Wannacry勒索软件母体主程序逆向分析
栏目分类:资料   发布日期:2017-05-14   浏览次数:

导读:本文为去找网小编(www.7zhao.net)为您推荐的首发 | Wannacry勒索软件母体主程序逆向分析,希望对您有所帮助,谢谢! 声明:本文由expsky@MS509Team原创,仅用于技术交流分享 挺长时间没做逆

本文为去找网小编(www.7zhao.net)为您推荐的首发 | Wannacry勒索软件母体主程序逆向分析,希望对您有所帮助,谢谢! 欢迎访问www.7zhao.net



声明:本文由expsky@MS509Team原创,仅用于技术交流分享

copyright www.7zhao.net

挺长时间没做逆向分析了,以前做逆向伤到了脑,也就成了所谓的脑残。但今天我手机里的微信公众号被Wannacry强势刷屏,于是又忍不住分析了下。 欢迎访问www.7zhao.net

Wannacry勒索软件的背景大家都知道了,就是老美的重武器泄漏出来,结果被其他人捡了便宜所利用。类似这样的事情几年前我在以前的公司也做过,从国外弄来的高级样本,然后逆向后改良成自己的产品。毕竟这些高级货能原创出来的人太少了,逆向分析下改造改造这个擅长^_^ 本文来自去找www.7zhao.net

0×01 逆向分析

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

本文来自去找www.7zhao.net


欢迎访问www.7zhao.net

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

内容来自www.7zhao.net

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

内容来自www.7zhao.net


欢迎访问www.7zhao.net

检查命令行参数是否为两个,并且是否有/i这个参数 copyright www.7zhao.net

欢迎访问www.7zhao.net

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

本文来自去找www.7zhao.net

copyright www.7zhao.net

将这个工作目录设置为6也就是0×2 和 0×4(FILE_ATTRIBUTE_HIDDEN 和 FILE_ATTRIBUTE_SYSTEM )隐藏和系统 欢迎访问www.7zhao.net

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

内容来自www.7zhao.net


本文来自去找www.7zhao.net

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

内容来自www.7zhao.net

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

内容来自www.7zhao.net

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

欢迎访问www.7zhao.net

copyright www.7zhao.net

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

copyright www.7zhao.net

copyright www.7zhao.net

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

内容来自www.7zhao.net

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

内容来自www.7zhao.net

然后在当前目录下读取c.wnry文件 本文来自去找www.7zhao.net

去找(www.7zhao.net欢迎您

如果读取到了c.wnry文件,就会将 13AM4VW2dhxYgXeQepoHkHSQuy6NgaEb94 通过一个随机数加密后写回到 c.wnry,而这一串数字就是黑客的比特币地址,也就是说c.wnry文件里保存的是加密后的黑客的比特币地址 本文来自去找www.7zhao.net

www.7zhao.net

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

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

本文来自去找www.7zhao.net

13AM4VW2dhxYgXeQepoHkHSQuy6NgaEb94
www.7zhao.net

12t9YDPgwueZ9NyMgw519p7AA8isjr6SMw

本文来自去找www.7zhao.net

115p7UMMngoj1pMvkpHijcRdfJNXj6LrLn www.7zhao.net

copyright www.7zhao.net

执行这两句命令 本文来自去找www.7zhao.net

attrib +h . www.7zhao.net

icacls . /grant Everyone:F /T /C /Q www.7zhao.net

attrib 命令将 DisplayName工作目录设置为隐藏 www.7zhao.net

icacls 命令开放目录的用户权限 copyright www.7zhao.net

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

www.7zhao.net

本文来自去找www.7zhao.net

首先是获取kernel32.dll中的文件相关的API 去找(www.7zhao.net欢迎您

欢迎访问www.7zhao.net

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

copyright www.7zhao.net

copyright www.7zhao.net

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

欢迎访问www.7zhao.net

www.7zhao.net

加密文件以 WANACRY! 为特征头 去找(www.7zhao.net欢迎您

www.7zhao.net

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

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

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

本文来自去找www.7zhao.net

获取黑客收款地址的交易记录 本文来自去找www.7zhao.net

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

去找(www.7zhao.net欢迎您

通过 可以查询到交易记录,但是我们需要有黑客的收款地址,上面我们已经分析出来了 欢迎访问www.7zhao.net

13AM4VW2dhxYgXeQepoHkHSQuy6NgaEb94

copyright www.7zhao.net

12t9YDPgwueZ9NyMgw519p7AA8isjr6SMw 去找(www.7zhao.net欢迎您

115p7UMMngoj1pMvkpHijcRdfJNXj6LrLn 欢迎访问www.7zhao.net

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

去找(www.7zhao.net欢迎您

www.7zhao.net

工具链接: 密码: p263

内容来自www.7zhao.net

0×03 结尾

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

copyright www.7zhao.net

最后再分享下这次罪魁祸首的工具: 欢迎访问www.7zhao.net

本文来自去找www.7zhao.net

欢迎访问www.7zhao.net

是工具(没有源码),用了一个python攻击框架Fuzzbunch简称fb,这个框架怎么用,可以看这里 copyright www.7zhao.net

微软的补丁信息: copyright www.7zhao.net

*声明:本文由expsky@MS509Team原创,仅用于技术交流分享,转载请注明来自FreeBuf.COM 欢迎访问www.7zhao.net

内容来自www.7zhao.net


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

以上为首发 | Wannacry勒索软件母体主程序逆向分析文章的全部内容,若您也有好的文章,欢迎与我们分享! copyright www.7zhao.net

Copyright ©2008-2017去找网版权所有   皖ICP备12002049号-2 皖公网安备 34088102000435号   关于我们|联系我们| 免责声明|友情链接|网站地图|手机版