查看原文
其他

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

fickle 看雪学苑 2022-07-01


本文为看雪论坛优秀文章
看雪论坛作者ID:fickle


本文是一篇关于《恶意代码分析实战》书中的实验Lab12-02样本的分析报告,这个样本涉及到进程注入和XOR加密技术,样本难度适中。

分析中如有不当的地方还请各位大佬指教。
 
分析工具:

PEID

PEView

IDA pro

火绒剑

strings提取字符串

WinHex

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

1


基础静态分析


1、查壳:


无壳。

2、提串:


一堆乱码,全是A,说明这个样本加密了,但是刚刚查壳有发现没有壳,于是打算看看PE文件有没有加密的迹象。

3、查看PE文件:


可以看到这部分没什么问题,并没有加密的迹象,我一个一个节查看,发现后面的资源节有问题,被加密了,就如我提串时看到的字符串一样全是A,如下图。


至此,我可以确定,这个样本使用了资源节加密技术,而且加密的资源节类型是UNICODE,名字是LOCALIZATION,但是加密方法、密钥我都不知道,所以接下来的分析就要注意这个问题。

4、查看导入表:




我看到有几个明显的可疑函数:

VirtualAllocEx、WriteProcessMemory这几个函数一般用来进程替换,所以推测这个样本可能还使用了进程替换技术;

SizeofResource、LoadResource、FindResource都是用来加密资源节必要的函数,证明了之前的判断。

到此,静态分析结束,我得到如下结论:

样本使用了资源节加密技术,目前并不清楚加密方法和密钥;

样本可能使用了进程替换技术,目前只是猜测。

 

2


基础动态分析


双击运行恶意样本程序,用火绒剑观察进程变化。

没运行时的初始状态:


运行之后的前一小段时间,进程中出现了Lab12-02.exe进程和它创建的子进程svchost.exe。


一段时间后,只剩下svchost.exe进程。


3


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函数后,再往下的代码并没有什么实际作用可以分析,至此,反汇编分析结束。
 

4


总结


这个恶意样本有如下恶意行为和功能:

该恶意样本进行了资源节内容加密,并且在运行时解码内容,释放出一个二进制文件。加密方法是异或运算加密,密钥是41h,可以用WinHex解密查看明文内容;

该恶意样本使用了进程替换技术,用释放的二进制文件替换svchost.exe;
总体来看,该恶意样本的目的就是利用进程替换,秘密地执行自己的进程。
 
这个样本虽然具有进程替换,资源节加密的技术使用,但是替换出的进程并没有什么很恼人的恶意行为,应该是因为这个样本是教学使用的原因吧。



 


看雪ID:fickle

https://bbs.pediy.com/user-home-919734.htm

*本文由看雪论坛 fickle 原创,转载请注明来自看雪社区






# 往期推荐

1. 超级长的IE调试总结:CVE-2013-1347 IE CGenericElement UAF漏洞分析

2. MS17-010 “永恒之蓝”漏洞分析与复现

3.11个小挑战,Qiling Framework 入门上手跟练

4. VMP导入表修复

5. 初探Windows调试原理和反附加手段

6. 破解某抢票软件的VPN抓包



公众号ID:ikanxue
官方微博:看雪安全
商务合作:wsc@kanxue.com



球分享

球点赞

球在看



点击“阅读原文”,了解更多!

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存