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

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

高级病毒分析(下)


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


Lab 11-3

本节实验使用样本Lab11-03.exe和Lab11-03.dll。

使用基础的静态分析过程,你可以发现什么有趣的线索?

在Lab11-03.exe包含跟“cisvc”相关的字符串,说明该程序应该会进行跟cisvc服务相关的操作,同时,该程序还跟Lab11-03.dll有关联。
1

Lab11-03.dll则包含有键盘监听相关的函数:GetForegroundWindow和GetAsyncKeyState。
2

当运行这个恶意代码时,发生了什么?

使用IDA反汇编Lab11-03.exe,在代码开始处,发现它会将“Lab11-03.dll”复制到“C:\WINDOWS\System32\inet_epar32.dll”,然会,拼凑字符串“C:\WINDOWS\System32\cisvc.exe”,调用函数0x401070对cisvc.exe进行操作,最后调用system函数执行命令“net start cisvc”。
3

凭直觉,主要的恶意操作在函数0x401070中。进入到该函数,它会调用CreateFile、CreateFileMappingA和MapViewOfFile将cisvc.exe映射到内存中,然后对cisvc.exe的数据进行篡改。
4

映射完cisvc.exe后,rep指令将0x4E*4个字节的数据复制到映射文件中,复制的内容为在0x409030处的代码,如下所示,依稀可以看到可疑字符串“C:\WINDOWS\System32\inet_epar32.dll”和“zzz69806582”。
5

在数据窗口右键,选择反汇编,可以看到写入的shellcode代码,不过仅仅是看看而已,这样也看不出该shellcode做了什么操作。
6

不过,可以猜到它大概的功能,应该就是加载Lab11-03.dll并调用它的zzz69806582函数。
7

扫描二维码关注公众号,回复: 4841185 查看本文章

Lab11-03.exe如何安装Lab11-03.dll使其长期驻留?

如上,将一段加载shllcode写入cisvc.exe中,使该程序每次启动时都调用Lab11-03.dll。

这个恶意代码感染Windows系统的哪个文件?

C:\WINDOWS\System32\cisvc.exe

Lab11-03.dll做了什么?

查看Lab11-03的导出函数zzz69806582,首先会创建一个线程。
8

该线程首先创建一个文件kernel64x.dll,然后调用函数0x10001380向该文件中写入数据。
9

该函数的功能也跟我们预想的一样,做些键盘记录的操作。
10

这个恶意代码将收集的数据存放在何处?

存储在C:\WINDOWS\System32\kernel64x.dll。
11

猜你喜欢

转载自blog.csdn.net/m0_37552052/article/details/85128196