Wannacry浅析「建议收藏」

Wannacry浅析「建议收藏」Wannacry浅析今年刚刚接触病毒分析,学一个东西最好的方式就是先提问,带着问题分析会抓住做一些自己关注的重点。随着学习的深入,问题也会越来越高深。现阶段我的问题是,恶意代码是如何传播的,如何在受害者上运行的,有什么网络特征,是否加壳。对于勒索病毒:勒索病毒使用什么加密方式,加密后是否擦除,是否可以通过逆向方式找到密钥,如何找到密钥。

大家好,欢迎来到IT知识分享网。

Wannacry浅析

今年刚刚接触病毒分析,学一个东西最好的方式就是先提问,带着问题分析会抓住做一些自己关注的重点。随着学习的深入,问题也会越来越高深。现阶段我的问题是,恶意代码是如何传播的,如何在受害者上运行的,有什么网络特征,是否加壳。对于勒索病毒:勒索病毒使用什么加密方式,加密后是否擦除,是否可以通过逆向方式找到密钥,如何找到密钥。
  
通过逆向分析出病毒的运行方式,他的网络特征、加密方式是什么,如何启动的,如何进行感染。
今天浅析的是影响深远的永恒之蓝,他是一个勒索病毒,传播方式利用的是永恒之蓝漏洞,加密方式是RSA+AES。AES加密文件,RSA加密AES。

本实验使用的样本:MD5: 84C82835A5D21BBCF75A61706D8AB549

                  SHA1: 5FF465AFAABCBF0150D1A3AB2C2E74F3A4426467

IT知识分享网

拿到样本,先查看一下是否有壳。使用得工具是PEiD,查看结果是没有壳,如图1。
Wannacry浅析「建议收藏」

IT知识分享网                                            图1

然后进行对永恒之蓝勒索病毒进行基础的动态和静态分析。

一.进行基础的静态分析,首先查看一下字符串,通过字符串可以看出来有个cmd,可以推测勒索病毒进行一些命令行操作,如图2。 之后看一看导入表的导入函数,在Kernel32的导入函数里发现了 LoadResource、LockResourse、OpenMutexA等函数,这些函数时进行资源的锁定和打开互斥锁的,如图3。 最后看一看有什么重要的资源,把样本拖入Resourse Hacker中查看一下,会看到2058:1033中二进制文件时PK开头的,可以推测这个资源文件是个压缩的格式,如图4。提取资源后,修改扩展名为.zip格式,查看资源内的内容是如图5。
在这里插入图片描述

                                             图2

在这里插入图片描述

IT知识分享网                                           图3

在这里插入图片描述

                                              图4

在这里插入图片描述

                                                图5

二、进行基础的动态分析,本次使用的工具是火绒剑,主要看一下执行监控、文件监控、注册表监控和网络监控。

1.查看执行监控,会看到一些勒索病毒释放的文件,如图6。
在这里插入图片描述

                                          图6

2.查看文件监控,会有一些启动自释放文件的程序,会有一些文件读写和修改的操作,如图7、8。
在这里插入图片描述

                                            图7

在这里插入图片描述

                                                                                 图8

3.注册表监控,查看注册表监控没有明显的修改,但是在执行监控这看到了有关注册表的操作,应该是样本不同,我这个样本没有修改注册表,如图9。
在这里插入图片描述

                                                             图9

4.查看网络监控,正常样本是检测一些端口的,我的样本没有操作,如图10。
在这里插入图片描述

                                            图10

进行的基础的静态动态分析,大概分析了一下永恒之蓝的一些初步操作。下面就行详细的分析,可以用IDA分析到这个勒索病毒的具体代码,用OD一步一步的执行一下观察一下该勒索病毒时如何加密的。

把永恒之蓝拖进ida中分析主函数wcry.exe,按F5进入C程序代码,如图11。wcry.exe主要是勒索病毒的准备工作,获取当前的路径,设置注册表项,添加比特币用户,导入密钥,然后调用主要加密文件程序TaskStart函数,当加密完成擦去密钥,释放内存。
在这里插入图片描述

                                                     图11

继续分析一下加密函数TaskStart。TaskStart函数在t.wnry.dll模块中,分析时打开它g到0x10005AE0地址反编译为C代码,如图12,13。有些函数会创建互斥体,常用来防止两个进程或线程在同一时刻访问相同的共享资源。

重点来了,如何永恒之蓝时如何加密的呢?首先用函数CreatePubPriFile创建两个文件进行保存00000000.pky文件保存主机生成的Tkp公钥,00000000.eky保存加密后主机生成的TKS私钥,如图14。公钥用于加密加密文件的对称密钥,私钥则被病毒带过来的公钥Wkp加密。WKP的密钥对WKS是由勒索者掌控,是勒索赎金的筹码。然后利用密钥进行加密,加过程很复杂,很多层的嵌套,暂时还没分析明白,主要是我还没弄明白这个加密的代码逻辑。

在这里插入图片描述

                                              图12

在这里插入图片描述

                                            图13

在这里插入图片描述

                                        图14

最后看一下taskdl.exe程序,它主要是进行最后的收尾工作,删除文件,释放内存。StartTaskdl 第四个线程回调函数以隐藏的方式启动taskdl.exe,如图15。
在这里插入图片描述

                                            图15

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/7434.html

(0)

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信