病毒分析教程第六话--高级病毒分析(中)

版权声明: https://blog.csdn.net/m0_37552052/article/details/84894379

高级病毒分析(中)


教程参考自《恶意代码分析实战》
程序来自:http://www.nostarch.com/malware.htm


Lab 11-2

本节实验使用样本Lab11-02.dll和Lab11-02.ini。

这个恶意DLL导出了什么?

查看导出函数视窗,发现除了DllEntryPoint函数外还有要给installer函数。
1

使用rundll32.exe安装这个恶意代码后,发生了什么?

直接查看install导出函数的代码,功能很清晰,先是将注册表键AppInit_DLL的值篡改为spoolvxx32.dll,然后将自身复制到%SystemRoot%\System32\spoolvxx32.dll。
2

为了使这个恶意代码正确安装,Lab11-02.ini必须放置在何处?

查看DllEntryPoint,在代码的入口处,会尝试去读取系统路径下的Lab11-02.ini文件,若读取失败则直接退出,所以,为了恶意代码能正确安装,Lab11-02.ini必须放置在%SystemRoot%\System32路径下。
3

这个安装的恶意代码如何驻留?

恶意代码将自身安装到AppInit_DLLs的注册表键值中,这样恶意DLL就能加载到所有装载User32.dll的进程中。

这个恶意代码采用的用户态Rootkit技术是什么?

采用的就是Inline Hook,代码如下,首先修改send函数所处的内存属性为RWX,备份send函数的前5字节,然后将前5字节修改为jmp [hook func],最后还原内存属性。
4

如下,是send函数被修改前的前5字节。
在这里插入图片描述

这是修改后的,已经变成了jmp 0x1000113D,这个地址就是挂钩函数。
在这里插入图片描述

挂钩代码做了什么?

代码很简单,若数据包中有“RCPT TO:”字段(邮件格式),就添加多一个收件人邮箱[email protected],目的就是窃取受害人的邮件。
在这里插入图片描述

哪个或者哪些进程执行这个恶意攻击,为什么?

恶意代码在执行上述恶意操作前,会先检查自己是否被加载于如下3个邮件进程中:THEBAT.EXE、OUTLOOK.EXE、MSIMN.EXE,若不是,则不进行恶意操作。
在这里插入图片描述

.ini文件的意义是什么?

恶意代码一开始读取出.ini文件的数据是一堆乱码,很明显加过密了。
在这里插入图片描述

经过0x100010B3函数的解密,我们可以看到刚刚那个字符串变成了[email protected],这个应该是黑客的邮箱。到这里,我们就可以得出结论.ini文件的作用是存储被加密后的黑客邮箱。
在这里插入图片描述

你怎么用Wireshark动态抓获这个恶意代码的行为?

筛选Follow TCP Stream

猜你喜欢

转载自blog.csdn.net/m0_37552052/article/details/84894379
今日推荐