首页
社区
课程
招聘
[原创] 萌新对 Wanna Cry 的分析(初次尝试请多指教...)
发表于: 2018-6-10 14:53 7213

[原创] 萌新对 Wanna Cry 的分析(初次尝试请多指教...)

2018-6-10 14:53
7213

前辈们你们好我是萌新(•ᴗ•)

第一次尝试病毒分析,想挑一个资料多的来写(免得我找不着北...),于是决定分析之前非常出名的WannaCry

(过程中几次卡壳都从前辈们的报告里得到了思路,感谢每一位前辈!)

文章中问题肯定不少,就麻烦各位多多指正帮助了!

这个样本是我从B站一个测试病毒的视频里给的网址下的(叫1500个病毒啥的),拖进IDA之后直接到了WinMain,因为之前已经看过各大厂商写的分析报告,大概观察了一下于是得出结论:我的样本病毒是主程序生成的负责进行加密文件勒索用户的模块(主程序负责释放勒索模块和传播),不过我现在还在学习阶段,就先只研究一下病毒的恶意行为也是极好的 ⊙﹏⊙‖ ...


文件名称:wcry.exe

MD5:84C82835a5d21bbcf75a61706d8ab549

文件类型:EXE

出品公司:MicrosoftCorporation

壳或编译器信息: MicrosoftVisualC++6.0


首先样本向注册表写入了两个键值:

RegCreateKeyW

然后使用内置的解压软件,以WNcry@2ol7为解压密码,释放了b、c、r、s、t.wnry文件,u.wnry、taskdl/se.exe是PE32文件,一个多国语言支持包...

果然 “制作恶意程序的人往往也是出色的开发者” 一点儿没错...


解压缩资源文件的代码,Str是压缩密码。


上面几个函数里面实在是复杂,看的眼睛都瞎了...大体上都是循环解压的函数。


释放的文件的字节码:

b.wnry字节码:查资料之后得知是BMP文件。

c.wnry字节码:查资料之后得知上面的比特币钱包地址,下面的像是木马的下载地址

r.wnry字节码:这个就很明显了,是勒索窗口里显示的文字。

s.wnry字节码:查资料后得知PK是zip文件头,解压之后是TaskData(这么乱果然是代码...ヾ( ̄▽ ̄)~)


t.wnry字节码:看不出来是什么,这么乱应该也是代码吧

接下来到这里:三个字符串是比特币钱包。但是之后这里我没看懂,从c.wnry里读取了30C字节数据,然后好像也没往里写什么呀?

就又写回去了,函数的第二参数为1是读文件,0是写文件



把程序所在目录的文件属性设为了隐藏。但是我没找到对应代码......


接下来:无窗口创建进程,命令行参数: attrib +h .

无窗口创建进程,命令行参数:icacls . /grant Everyone:F /T /C /Q

然后获得要用的API

这里是导入一个密钥,程序里的加密操作使用Crypt系列函数做的。

(密钥相关的知识我现在力所不能及...等以后有时间了再好好研究一下吧)

然后到了主体中最重要的部分:动态加载t.wnry作为dll并调用其中的TaskStart函数 (注:这是整理的时候加上的)

可以看到打开t.wnry,ReadFile。

现在我可以确定文件里的东西很重要...应该就是代码

下面又到了一处:解密了t.wnry之后把数据映射到了内存中,可以看到PE头。

因此得出结论:t.wnry是一个dll文件,并且病毒自己实现了LoadLibrary,里面应该才是核心代码。

节区信息



终于做完了准备工作,要到关键函数了:


FindTaskStart函数:

这里因为看过报告...所以知道是密钥相关的文件

释放密钥文件之后函数去t.wnry里搜索导出函数,可以看到里面只有一个函数:TaskStart。

t.wnry的导出表:

到这里勒索模块主体的静态分析就结束了,于是我试着把释放出来的Dll dump下来继续分析,但是这里因为内存的类型是Private,OllyDump和LordPE都无法访问内存ヾ(゚∀゚ゞ)

纠结了一阵子之后悟出方法如下:内存窗口打开这块内存,全选二进制复制,WinHex新建文件,粘贴进去选择ASC Hex

(作为萌新,我猜除了我一定还有其他人以前没想到这么简单也可以dump的吧…(⊙_⊙;)…)

于是愉快的继续分析,IDA打开可以看到代码比之前清楚得多,应该是因为准备工作都做好了吧


首先创建了一个互斥体

获得PC的SID(安全标识符,用于标识用户,组和计算机帐户)

这段代码是:查找文件对象的所有者,取得该对象的所有权来更改文件对象(查资料得知的,没太理解)


获得文件属性,但是GetLastError说文件不存在,直接返回了

于是我猜了一下:这个文件应该是交了钱之后装着密钥的,如果存在就会开始解密了而不是加密文件。于是就跳过了一个超复杂的函数

(确认后的确是这样,猜对了就很开心...ヽ(✿゚▽゚)ノ)



[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

最后于 2018-6-11 12:43 被theme_编辑 ,原因:
收藏
免费 1
支持
分享
最新回复 (15)
雪    币: 649
活跃值: (314)
能力值: ( LV7,RANK:110 )
在线值:
发帖
回帖
粉丝
2
emmm,刚才才看到mstwugui版主大大的恶意代码分析报告模板里kanxue大大说的精华标准按照模板来定T﹏T
等我有时间再整理一下重新发一次吧...
2018-6-10 19:36
0
雪    币: 285
活跃值: (1095)
能力值: ( LV13,RANK:405 )
在线值:
发帖
回帖
粉丝
3
wannacry是要有永恒之蓝利用模块,也是比较重要的部分,内存中是可以提取密钥的,没有分析到
2018-6-10 19:54
0
雪    币: 649
活跃值: (314)
能力值: ( LV7,RANK:110 )
在线值:
发帖
回帖
粉丝
4
漏洞利用部分是在病毒主程序里用来传播的,我拿到的样本是主程序释放的勒索模块。
最后于 2018-6-11 12:45 被theme_编辑 ,原因:
2018-6-11 09:08
0
雪    币: 649
活跃值: (314)
能力值: ( LV7,RANK:110 )
在线值:
发帖
回帖
粉丝
5
等我再修炼一整子,重新找一个带传播的样本主体。。再试一次
最后于 2018-6-11 12:46 被theme_编辑 ,原因:
2018-6-11 09:28
0
雪    币: 649
活跃值: (314)
能力值: ( LV7,RANK:110 )
在线值:
发帖
回帖
粉丝
6
有人知道自己怎么删自己的回复吗...?只发现了编辑功能...
最后于 2018-6-11 17:12 被theme_编辑 ,原因:
2018-6-11 12:41
0
雪    币: 1994
活跃值: (1526)
能力值: ( LV8,RANK:120 )
在线值:
发帖
回帖
粉丝
7
设置隐藏用得cmd    命令
2018-6-12 09:50
0
雪    币: 649
活跃值: (314)
能力值: ( LV7,RANK:110 )
在线值:
发帖
回帖
粉丝
8
basketwill 设置隐藏用得cmd 命令
感谢前辈!!前辈一句话胜读十天书♪(^∀^●)ノ
之前我还在研究命令行都能干啥,但是直接搜搜不出来...于是就放弃了。当时看到创建进程的时候完全没想到...
命令行参数:attrib  +h:设置文件夹属性为隐藏
命令行参数:icacls  .  /grant  Everyone:F  /T  /C  /Q:设置所有用户完全访问(读取,写入)特定文件夹。
应该没啥问题了吧^_^
2018-6-12 19:51
0
雪    币: 649
活跃值: (314)
能力值: ( LV7,RANK:110 )
在线值:
发帖
回帖
粉丝
9
妈呀(┬_┬)。。谢谢kanxue版主大大!!我会继续努力的!!!
2018-6-13 00:28
0
雪    币: 1
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
最后于 2018-6-13 11:52 被枝枝呀 ෆ编辑 ,原因:
2018-6-13 09:37
0
雪    币: 4120
活跃值: (5822)
能力值: ( LV8,RANK:120 )
在线值:
发帖
回帖
粉丝
11
PE dump能详细说一下嘛大表哥
2018-7-25 14:29
0
雪    币: 649
活跃值: (314)
能力值: ( LV7,RANK:110 )
在线值:
发帖
回帖
粉丝
12
blck四 PE dump能详细说一下嘛大表哥
加载完dll之后,alt+m打开内存窗口,找到被加载到内存的dll,右键菜单里有全选,然后右键二进制复制去WinHex里ASC-Hex黏贴就好了
2018-7-29 11:24
0
雪    币: 1795
活跃值: (63)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
13
上次我也是只拿到勒索模块,没拿到永恒之蓝的利用模块,分析完之后贼失落
2018-7-29 11:52
0
雪    币: 649
活跃值: (314)
能力值: ( LV7,RANK:110 )
在线值:
发帖
回帖
粉丝
14
myangel 上次我也是只拿到勒索模块,没拿到永恒之蓝的利用模块,分析完之后贼失落
。。。进了公司就能下样本了不是,现在有了但是不敢传出来.. :)
2018-7-30 13:20
0
雪    币: 44
活跃值: (117)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
能发一下完整的样本吗?正在分析wannacry
2018-8-6 15:09
0
游客
登录 | 注册 方可回帖
返回
//