WannaCry勒索病毒分析
WannaCry勒索病毒分析
前言
第一个分析勒索病毒分析的实践,仅用于记录自己的学习情况,大部分参考网上资料
分析病毒的步骤
在工作中,病毒分析师的任务就是从中毒的机器中提取样本,第一时间手工清理或是修复机器现场,之后再做分析。
- 提取样本,手工清理机器
- 行为分折,获取病毒行为
- 详细分折,找到行为的恶意代码
- 提出解决方案,提取特征给公司产品,完成查杀,编写文档报告,有条件编写专杀工具
病毒背景介绍
WannaCry勒索病毒 通过windows操作系统漏洞EternalBlue永恒之蓝 发起攻击。3月14 微软已经发布补丁,由于很多受害者没有及时安装补丁,导致被病毒攻击,计算机中的文件被加密
详细分析
病毒分为漏洞利用模块,加密器,解密器
攻击逻辑如下:
攻击者发起攻击,被攻击机器由于存在漏洞,导致自身中毒。中毒之后漏洞利用模块启动,漏洞利用模块运行之后,释放加密器和解密器,启动攻击线程,随机生成ip地址,攻击全球。加密器启动之后,加密指定类型的文件。文件全部加密之后,启动解密器。解密器启动之后,设置桌面背景显示勒索信息,弹出窗口 显示付款账号和勒索信。威胁用户指定时间内不付款文件无法恢复。
样本信息
目前已经知道的样本信息如下
文件: C:\Users\15PB\Desktop\Wannary\WannaCry.exe
- 大小: 3723264 bytes
- 文件版本:6.1.7601.17514 (win7sp1_rtm.101119-1850)
- 修改时间: 2017年5月13日, 13:55:05
- MD5: DB349B97C37D22F5EA1D1841E3C89EB4
- SHA1: E889544AFF85FFAF8B0D0DA705105DEE7C97FE26
- SHA256:24d004a104d4d54034dbcffc2a4b19a11f39008a575aa614ea04703480b1022c
- CRC32: 9FBB1227
文件: C:\ProgramData\znemvazsnwpqy217\Wannacry.exe
- 大小: 3514368 bytes
- 文件版本:6.1.7601.17514 (win7sp1_rtm.101119-1850)
- 修改时间: 2022年7月11日, 13:22:29
- MD5: 84C82835A5D21BBCF75A61706D8AB549
- SHA1: 5FF465AFAABCBF0150D1A3AB2C2E74F3A4426467
- CRC32: 4022FCAA
程序分析
MD5: db349b97c37d22f5ea1d1841e3c89eb4
我们在这里把他定义为db程序
0x0 壳查询
0x1 导入表分析
用stud_PE查看一下程序的导入表,可以看到导入了7个库的91个函数
导入表分析
KERNEL32.dll | 系统相关库 |
---|---|
ADVAPI32.dll | 与服务,注册表,加密有关的库 |
WS2_32.dll | 网络有关服务的库 |
MSVCP60.dll | 提供了一系列标准 C++ 库函数和运行时支持 |
iphlpapi.dll | 获取网卡信息的库 |
WININET.dll | HTTP相关库 |
MSVCRT.dll | 提供了一系列标准C库函数和C运行时支持 |
0x2 资源分析
用ResourceHack发现存在一个exe资源,提取出来
查一下MD5值
发现是第二个样本,那么第二个样本就是这个样本释放出来的了
加密算法分析
对于这种勒索病毒肯定是有加密函数的,于是我们用PEid的插件Krypto ANALyzer查看用到那些算法
可以看到存在加密函数和解密函数,并且存在加密S盒和逆转盒,并且提示了AES,可以知道采用的是AES加密
MD5: 84C82835A5D21BBCF75A61706D8AB549
我们在这里把他定义为84程序
0x0 壳查询
可以知道程序是32位的,并且没有加壳
0x1 导入表分析
用stud_PE查看一下程序的导入表,可以看到导入了4个库的114个函数
导入表分析和上面差不多。
0x2 资源分析
用ResourceHack发现存在一个zip资源,提取出来
又释放了一些程序和数据,并且是加密的
行为分析
使用火绒剑,将样本拖到火绒剑,对样本进行监控
获取样本之后,在虚拟机中,使用监控工具监控样本的运行。待病毒执行差不多之后,查看病毒的行为。(本病毒程序需要断网)
主要分析如下:文件操作,注册表操作,进程操作,网络操作
分析样本的行为之后,发现的恶意行为
在C:\Windows目录下创建病毒文件:tasksche.exe,在C:\ProgramData目录下创建文件夹:znemvazsnwpqy217
创建@Please_Read_Me@.txt文件,将文件感染为.WINCRY文件
创建注册表键值、设置注册表键值
HKEY_LOCAL_MACHINE\Software\Microsoft\Tracing\WannaCry_RASAPI32
HKEY_LOCAL_MACHINE\Software\Microsoft\Tracing\WannaCry_RASMANCS
设置启动项:C:\ProgramData\znemvazsnwpqy217\tasksche.exe
创建进程、跨进程写内存、打开设备、跨进程恢复线程
大量的持续性的网络连接行为(445端口)
参考链接
https://zhuanlan.zhihu.com/p/26926887