首页
论坛
课程
招聘
恶意样本分析——XOR加密与进程注入
2021-8-30 16:22 7096

恶意样本分析——XOR加密与进程注入

2021-8-30 16:22
7096

本文是一篇关于《恶意代码分析实战》书中的实验Lab12-02样本的分析报告,这个样本涉及到进程注入和XOR加密技术,样本难度适中。
分析中如有不当的地方还请各位大佬指教。

 

分析工具:
PEID
PEView
IDA pro
火绒剑
strings提取字符串
WinHex

 

分析环境:Windows xp系统,VMware虚拟机

 

一、基础静态分析:
1、查壳:
图片描述
无壳
2、提串:
图片描述
一堆乱码,全是A,说明这个样本加密了,但是刚刚查壳有发现没有壳,于是打算看看PE文件有没有加密的迹象。

 

3、查看PE文件:
图片描述
可以看到这部分没什么问题,并没有加密的迹象,我一个一个节查看,发现后面的资源节有问题,被加密了,就如我提串时看到的字符串一样全是A,如下图。
图片描述
至此,我可以确定,这个样本使用了资源节加密技术,而且加密的资源节类型是UNICODE,名字是LOCALIZATION,但是加密方法、密钥我都不知道,所以接下来的分析就要注意这个问题。

 

4、查看导入表:
图片描述
图片描述
我看到有几个明显的可疑函数:
VirtualAllocEx、WriteProcessMemory这几个函数一般用来进程替换,所以推测这个样本可能还使用了进程替换技术;
SizeofResource、LoadResource、FindResource都是用来加密资源节必要的函数,证明了之前的判断

 

到此,静态分析结束,我得到如下结论:
样本使用了资源节加密技术,目前并不清楚加密方法和密钥;
样本可能使用了进程替换技术,目前只是猜测。

 

二、基础静态分析:
双击运行恶意样本程序,用火绒剑观察进程变化。
图片描述
没运行时的初始状态
图片描述
运行之后的前一小段时间,进程中出现了Lab12-02.exe进程和它创建的子进程svchost.exe
图片描述
一段时间后,只剩下svchost.exe进程

 

三、IDA pro反汇编分析:
进入_main函数:
图片描述
看到字符串“\svchost.exe”,极有可能就是代表在此目录下创建svchost.exe进程(正如动态分析时看到的那样),所以跳转到sub_40132C函数(sub_40149D函数跳转进去只是一些字符串的操作,对分析的帮助不大)
图片描述
跳转到loc_401362的位置,出现了”UNICODE”和”LOCALIZATION”字符串,刚好和加密的资源节名称吻合,猜测下面是加密功能的代码,接着向下进行。
图片描述
出现了之前导入表中和资源节加密有关的一系列函数,说明 sub_40132C 函数应该就是加密资源节的作用,所以接着向下分析,看看能不能找出加密方法和密钥。
图片描述
到这里我看到有一个函数sub_401000被调用,而之前的所有代码调用的只有导入表中存在的API,所以我判断这个函数一定和加密的内核功能有关联,并且我注意到了这个函数还有一个参数41h被传入进去,这是个16进制数。跳转进去。
图片描述
一步一步向下分析,就到了跳转到loc_401016这个位置。有一条指令引起了我的注意:xor al, [ebp+arg_8]。这条指令在对寄存器eax的低8位内容进行异或运算,而一般的异或运算大多都是寄存器自身异或来清除内容,所以这个异或运算显得很不寻常。

 

这里使用了一些跳转语句,像是循环结构,所以按下空格键查看一下代码结构。
图片描述
这里就清晰的看出了这是个典型的循环结构,而核心部分就在图中高亮的那行代码,显而易见,这个循环结构的目的就是让所有的内容进行一次异或运算,所以我判断,资源节加密的加密方法就是异或运算加密,密钥就是之前传入的参数41h。

 

之后,我导出了PE文件中加密 图片描述的文件,用WinHex进行解密,果然显现出了明文,证明了我的判断,这里就不放图了。
图片描述
回到_main函数,恶意代码完成资源节加密操作后,又调用了sub_4010EA函数,跳转过去看看。
图片描述
往后看,发现了一些用于进程替换的函数调用(之前在导入表看到过),看到ntdll.dll,之前动态运行的时候在恶意进程中看到过这个文件。

 

再次回到_main函数后,再往下的代码并没有什么实际作用可以分析,至此,反汇编分析结束。

 

四、总结:
这个恶意样本有如下恶意行为和功能:
该恶意样本进行了资源节内容加密,并且在运行时解码内容,释放出一个二进制文件。加密方法是异或运算加密,密钥是41h,可以用WinHex解密查看明文内容;
该恶意样本使用了进程替换技术,用释放的二进制文件替换svchost.exe;
总体来看,该恶意样本的目的就是利用进程替换,秘密地执行自己的进程。

 

这个样本虽然具有进程替换,资源节加密的技术使用,但是替换出的进程并没有什么很恼人的恶意行为,应该是因为这个样本是教学使用的原因吧。


[注意] 欢迎加入看雪团队!base上海,招聘CTF安全工程师,将兴趣和工作融合在一起!看雪20年安全圈的口碑,助你快速成长!

上传的附件:
收藏
点赞0
打赏
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回