病毒分析-资源释放+钩子注入
本文最后更新于:2021-07-12 中午
把上次写的资源释放和全局钩子注入结合起来,做了一个小demo,实现功能就是把自己的写的DLL作为资源加入,然后自释放出来,再调用这个DLL进行钩子注入。
使用dir工具先查看一下基本信息,可以看到当前程序未加壳。
再查看一下导入表的相关信息,看看都使用了哪些API。可以看到一些资源相关API,还有Loadlibrary和getprocaddress,这两个API,写过shellcode都知道使用这两个API可以获取所有dll和其中的函数。
再查看一下字符串的一些信息,可以看到有这样一个字符串“C:\Windows\SysWOW64\kerne132.dll”,可以看到这个dll和系统dll”kernel32.dll”区别是最后一位,用1代替了l。可能是一个恶意的dll被释放到了C:\Windows\SysWOW64\下。
使用IDA查看一下,F5查看伪代码,可以先看到资源释放的过程,其释放了一个名为“kerne132.dll”的文件到C:\Windows\SysWOW64\下。
然后调用了这个DLL里面的函数setglobalhook,从名字可以看出来,这应该是一个钩子的函数。
到目标目录下去查看一下,可以看到这个伪装成kernel32.dll的恶意dll文件。
使用IDA查看一下这个DLL文件,看一下它的导出表,可以看到导出了两个函数SetGlobalHook和UnsetGlobalHook,从名字上猜测应该是安装钩子和卸载钩子。
查看SetGlobalHook,可以看到使用了SetWindowsHookExW函数,IDHOOK的值是3,3是WH_GETMESSAGE代表这是一个全局钩子。
使用PC hunter工具可以很方便的查看是否存在钩子。
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!