首页
社区
课程
招聘
[原创]GandCrabV2.0勒索病毒分析
发表于: 2022-4-7 08:57 7732

[原创]GandCrabV2.0勒索病毒分析

2022-4-7 08:57
7732

 1. 原始样本分析

首先对原本样本hmieuy.exe查壳,没有发现壳。

再使用pe工具查看原始样本:

发现EnumResourceNamesA、FindFirstFIleA、MoveFileW、GetProcAddress等函数,同时原本资源节中还含有内容;初步猜测样本可能会搜索资源节中数据并进行某种操作。

1.1 代码分析

IDA打开原始样本hmieuy.exe分析,在wWinMain函数函数入口发现代码混淆:

寻找关键点,发现分配堆空间函数GlobalAlloc函数的调用,并且分配的起始地址为StarAddress:

向下分析发现样本使用EnumResourceNamesA函数来枚举hmieuy.exe中的资源并将资源节中的内容,也就是shellcode复制到刚刚申请的堆空间中:

继续向下分析,发现在复制完shellcode之后,样本通过使用VirtualProtect函数将申请的堆空间提升为可执行状态;并且在调用shellcode之前(StarAddress())调用了sub_401014函数:

跟进sub_401014函数分析发现了大量的逻辑指令,推测该函数为解密函数,将复制到堆空间的shellcode进行解密:

在IDA中确定刚才分析的关键函数的地址,在OD中下断动态调试分析:

在调用sub_401014解密函数之前,shellcode已经被复制到堆空间中:

调用解密函数之后:

将解密后的shellcode dump下来重命名为shellcode.txt,dump所需大小在pe工具已知为000181B8。

2. Shellcode分析

Shellcode存在部分反调试技术,但是通过Windows Shellcode开发还是可以推测恶意代码行为。IDA中静态分析shellcode.txt:

跟进 sub_2F449A函数分析:

该函数同之前写过的Windows Shellcode开发[3]几乎一致:通过PTE结构下的关键字段定位kernel32.dll,根据PE结构遍历kernel32.dll导出表获取GetProcAddress、LoadLibrary函数。 

跟进sub_2F3C9C函数分析,可知sub_2F3C9C函数获取其他API函数的地址:


在获取其他API结束后,再次申请空间并将数据解密:

将解密后的PE文件加载到内存中:

对于加密后的PE文件,不需要再像之前一样获取kernel32.dll基址及API地址,PE文件中包含导入表,只需修复即可:

OD中查看解密后的PE文件部分:

将此时的PE文件数据dump下名为为PE1.exe。在上面的过程中PE文件并没有在磁盘“落地”,可以避免杀毒软件的文件检测。

3. 反射式DLL注入分析

反射式DLL注入不同于普通的DLL注入关键点是:不再使用LoadLibrary函数完成DLL装载,而是通过使用ReflectiveLoader来实现装载自身。如此一来便避免了文件“落地”,同时它没有通过LoadLibrary等API来完成DLL的装载,DLL并没有在操作系统中”注册”自己,因此更容易通过杀软的行为检测。https://bbs.pediy.com/thread-224143.htm,这里描述了反射式DLL注入的原理和实现。

分析PE1.exe发现病毒通过ReflectiveLoader函数装载解密出的恶意代码,将含有恶意功能的dll数据到自身进程,实现dll不落地即可执行其功能躲避杀软查杀。

经过上面的分析,病毒文件在加载并执行shellcode是会使用VirtualProtect函数来改变页面执行状态。所在在OD中分析PE1.exe时在VirtualProtect函数处下断分析,可知在0x0040114c对分配的内存空间(0x004120c0处为起始地址)执行权限进行修改;将此时的内存dump下来命名为PE2.dll,在0x00401156处PE1.exe释放PE2.dll:

在shellcode分析中,原始样本在将shellcode加载到内存后还存在一个解密过程;这里也是一样,我们已知分配的内存起始地址为0x004120c0,并且该区域内存放的是一个PE(dll)文件,OD中在0x004120c0处设置硬件写入断点后重新运行查找解密DLL的部分,发现下图中选中部分即为解密DLL部分:


[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

最后于 2022-4-7 08:57 被Sin hx编辑 ,原因:
收藏
免费 3
支持
分享
最新回复 (2)
雪    币: 35662
活跃值: (64596)
能力值: (RANK:135 )
在线值:
发帖
回帖
粉丝
2
很多图片不见了,文章是CSDN复制过来的?
2022-4-7 20:15
0
雪    币: 421
活跃值: (111)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
我拍拍,跟csdn也写了一版
2022-4-7 20:27
0
游客
登录 | 注册 方可回帖
返回