进程注入分析(中)
教程参考自《恶意代码分析实战》
程序来自:http://www.nostarch.com/malware.htm
Lab 12-2 & Lab 12-3
本节实验使用样本Lab12-02.exe。
这个程序的目的是什么?
从资源节加载恶意payload,然后注入到svchost.exe进程中运行。
启动器恶意代码是如何隐藏执行的?
使用PE注入的方式将恶意PE注入到svchost.exe中。
启动器恶意代码是如何隐藏执行的?
使用PE注入的方式将恶意PE注入到svchost.exe中。
恶意代码的负载存储在哪里?
存储在资源节LOCALIZATION中。
但是一眼望去,发现这个代码不是PE文件格式,同时有多个”A”,所以可以判断,该恶意代码被加密了。
恶意负载是如何被保护的?
在IDA中,我们找到了加密的函数0x401000,加密原理为将恶意代码与0x41进行异或运算。
这个恶意负载的目的是什么?
将资源节中的payload提取并解密后(或直接使用Lab21-3.exe),是个PE文件,我们可以直接使用IDA分析了。瞄一下字符串表,发现很多见键盘类的敏感字符串,所以我们猜测这是一个用于键盘监控的payload。
索引过去,可以找到键盘相应的代码,记录的信息包括用户当前窗口的标题和击键值。
恶意负载是如何注入自身的?
调用SetWindowsHookExA进行注入,第一个参数13的值为WH_KEYBOARD_LL,第二个函数为回调函数fn,这样当当用户有键盘击键消息时就能自动调用fn函数。
这个程序还创建哪些其他文件?
practicalmalwareanalysis.log