欢迎来到 黑吧安全网 聚焦网络安全前沿资讯,精华内容,交流技术心得!

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

来源:本站整理 作者:expsky 时间:2017-05-15 TAG: 我要投稿

挺长时间没做逆向分析了,以前做逆向伤到了脑,也就成了所谓的脑残。但今天我手机里的微信公众号被Wannacry强势刷屏,于是又忍不住分析了下。
Wannacry勒索软件的背景大家都知道了,就是老美的重武器泄漏出来,结果被其他人捡了便宜所利用。类似这样的事情几年前我在以前的公司也做过,从国外弄来的高级样本,然后逆向后改良成自己的产品。毕竟这些高级货能原创出来的人太少了,逆向分析下改造改造这个擅长^_^
0×01 逆向分析
好了说正题,一些枯燥的汇编分析细节就不多讲,我们尽量快速的了解到整体过程。

首先会通过一个函数算出一个标识,我们将这个函数命名为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文件里保存的是加密后的黑客的比特币地址

[1] [2]  下一页

【声明】:黑吧安全网(http://www.myhack58.com)登载此文出于传递更多信息之目的,并不代表本站赞同其观点和对其真实性负责,仅适于网络安全技术爱好者学习研究使用,学习中请遵循国家相关法律法规。如有问题请联系我们,联系邮箱admin@myhack58.com,我们会在最短的时间内进行处理。
  • 最新更新
    • 相关阅读
      • 本类热门
        • 最近下载