首页
论坛
专栏
课程

[病毒木马] [原创]恶意代码分析实战第13章Lab13-01.exe分析

2019-2-2 22:01 2541

[病毒木马] [原创]恶意代码分析实战第13章Lab13-01.exe分析

2019-2-2 22:01
2541

结合恶意代码分析实战实验课后题,分析样本Lab13-01.exe

1.样本信息

病毒名称:Lab13-01.exe

MD5: A9A2734D080E3AE0F5ADA35E878DA7C8

SHA1: E8AACB0990E9F3A415AC7D5E24E7F7287665C110

CRC32: CBFD3466

2.测试环境及工具

2.1 测试环境

Windows 7 32位操作系统

2.2 测试工具

查壳工具:PEID

监测工具:火绒剑、PCHunter

调试工具:OD、IDApro

3.行为分析

将病毒样本拖入火绒剑中,过滤到网络监控,可以看到病毒在以Get请求访问图3-1中的网址:

 

图3-1 病毒的网络监控

在查看Lab13-01.exe中的字符串,发现了http://%s/%s/访问网址的字符串,可以结合网络监控中访问的http://www.practicalmalwareanalysis.com/V0lOLTBMUlI4Q0dR/得知两个%s分别是www.practicalmalwareanalysis.com与V0lOLTBMUlI4Q0dR,但是在字符串搜索时却没有发现这两个字符串,可以初步认定这两个字符串经过了加密。

 

图3-2 查看字符串

4.恶意代码分析

4.1 病毒查壳

   使用PEID进行查壳,如图4-1病毒并没有加壳,是一个VC 6.0的程序

 

图4-1 病毒查壳

4.2 恶意程序的代码分析

将程序载入IDAPro中,找到main函数,如图4-2,WSAStartup是一个初始化网络功能的函数。

 

图4-2 main函数

使用F5快捷键,查看伪C代码,如图4-3,很清晰地看出这是一个循环体,这可能是一个循环等待接受消息。

 

图4-3 伪C代码

使用IDA Pro搜索恶意代码中字符串‘xor’,可以发现可能为加密的函数。

 

图4-4 搜索xor

进入函数内部,通过辨认,可以得知这个函数解密了一串数据。

 

图4-5 XorEncode函数

交叉引用,查看调用解密函数的位置,可以发现程序使用了资源。

 

图4-6 调用解密函数

用ResourceHacker可以看到资源中的加密数据。

 

图4-7 资源中加密数据

在od中动态执行解密函数,可以得到解密后的数据。

 

图4-8 动态解密

这时我们已经找到了其中的一处加密,通过实验的课后问题提示,我们用PEid中的插件Krypto ANALyzer扫描其他的加密机制。

 

图4-9 其他加密

在ida中找到004050E8的位置,看出这是base64编码用到的数据。

     

图4-10 Base64编码

对数据段进行交叉引用,更加确定这是base64的函数,并找到最开始的调用,发现加密的字符串是获取到的主机名,如图4-11

 

图4-11 字符串来源

通过动静态结合,发现加密的字符串是主机名的前12位

 

图4-12 加密的字符串

经过加密,可以得到加密后的数据:V0lOLTBMUlI4Q0dR

 

图4-13 加密后的数据

最后发现,进入图4-3中的sub_4011c9函数,这里就是调用Base64_Encode的函数,也是最主要的函数,函数的作用是打开相应的网站并进行数据的读取,当返回的数据是‘o’时,al置1,则结束程序,否则一直循环等待。

 

图4-14 sub_4011c9函数

至此,恶意代码分析完毕。



[招聘]欢迎市场人员加入看雪学院团队!

最后于 2019-2-3 09:29 被VicZ编辑 ,原因:
上传的附件:
最新回复 (6)
wyfe 2019-2-2 22:36
2
0
学习一下,春节快乐!
Editor 2019-2-3 09:40
3
0
赞!感谢分享!
killpy 2 2019-2-11 08:51
4
0
谢谢分享
heruikan 2019-2-17 16:42
5
0
hbkccccc 2019-2-19 12:24
6
0
谢谢分享
0xbird 6 2019-2-21 10:26
7
0
超哥 666
游客
登录 | 注册 方可回帖
返回