-
-
恶意样本分析——XOR加密与进程注入
-
发表于: 2021-8-30 16:22 11773
-
本文是一篇关于《恶意代码分析实战》书中的实验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;
总体来看,该恶意样本的目的就是利用进程替换,秘密地执行自己的进程。
这个样本虽然具有进程替换,资源节加密的技术使用,但是替换出的进程并没有什么很恼人的恶意行为,应该是因为这个样本是教学使用的原因吧。
赞赏
- [原创]恶意样本分析——进程注入 14662
- [原创][原创]恶意样本分析——特洛伊木马化二进制文件、进程注入 18086
- 恶意样本分析——XOR加密与进程注入 11774
- [原创]恶意样本分析——钩子记录 16124
- [原创]恶意代码GINA拦截样本分析 7572