阅读:4025回复:18
一个API函数被HOOK了(iceword显示为未知模块),如何知道是哪个模块做的?
发现系统中一个API函数(应是NtConnectPort吧)被HOOK了,而Iceword显示为未知模块,那么如何才能知道是哪个模块HOOK的?希望各位大侠指点,谢谢!图如附件。
另外,我已通过Windbg看了一下,但没发现哪个模块是包含这个地址(LM命令的驱动没有,!process也没发现),是方法不对还是命令使用的不对? |
|
|
沙发#
发布于:2007-04-02 14:41
拿rku扫一下,估计能查出未知驱动模块
|
|
|
板凳#
发布于:2007-04-02 14:44
rku是什么东东,能说的详细一点吗?全名?
|
|
|
地板#
发布于:2007-04-02 14:56
RkUnhooker
|
|
地下室#
发布于:2007-04-02 15:19
用rku试了一下,问题好像更加严重了,它也不能找到这个模块,而且在驱动模块这一页里还发现了好几个未知代码页,且HOOK的函数应该就在其中,但问题是找不到是哪个模块产生这些页的,如图。
|
|
|
5楼#
发布于:2007-04-03 09:47
他把自己的路经抹掉了,除非你做HOOK,不然没法知道他属于哪个摸块.
|
|
|
6楼#
发布于:2007-04-03 10:16
HOOK它倒是一种思路,问题在于现在不知道该HOOK谁,就是说皮不知道在哪里,毛附到哪里呢!各位老大是专家,我该如何做呢?先对各位的回复表示感谢了!
|
|
|
7楼#
发布于:2007-04-03 15:28
不知道这种隐藏是否是通过调用keQuerySystemInformation得到模块名称地址后,然后对该地址进行修改.(我没有经过测试,不敢证实这种方法能够抹掉这个地址),如果是的话,可以尽可能早地hook这个函数,最好把driverentry入口 也给hook上,还有drivernotifyroutine mmloadimage等等能挂就挂,双管齐下,就像卡卡那样(过河拆桥法),另外还要拼谁启动的早,谁就占尽先机.
可以分析被隐藏rootkit hook后的NtConnectPort的几个开始指令,作为特征码,在后续驱动加载时辅助对其扫描.当然如果这个驱动加壳可能扫描会失效. 不过你只要在它之前加载,而且它的驱动加载需要经过你的驱动认可,那么你就有方法知道它是谁了. 如果说的不太对,算老小没说. |
|
8楼#
发布于:2007-04-04 09:17
有老大指点一下就是不一样,呵呵,先谢了!!!
现在汇报一下新情况: 1、用RKU查看时,第一次曾在“Hidden drivers detector“页里(就是第二个图),在那几个未知页面下面(紧跟)见到过一个模块的handle,提示其为隐藏的,但是只见过一次,刷新后及后来(包括重启几次)都再也见不到了。 2、昨天曾进过安全模式,当时RKU不能运行,说是无法加载驱动,而Iceword倒是可以运行,并且显示这时没有函数被HOOK 3、本来想用Windbg做远程调试的,本机没有串口;装了SOFTICE想做启动调试,谁知SOFTICE安装时出错,试了几次都这样,只好选“忽略”,但是装好后却无法运行,真是郁闷极了。(顺便提醒大家以后买本子要带串口哈,这时才知道有串口的好处)。 实在没有办法就只好HOOK一下来试试,但这还要写程序,只好等有时间了。对了,那位大侠知道内核中把模块隐藏掉,然后创建几个未知的代码页来运行(或者这时运行的那个模块已经退出了?)的原理呀,这个才是偶最感兴趣的。 |
|
|
9楼#
发布于:2007-04-05 09:56
装的多处理器说,爽哦
|
|
10楼#
发布于:2007-04-08 09:01
%USERPROFILE%\Templates\随机名称\随机名称的.dll和.exe
反过来是不是容易一点? |
|
11楼#
发布于:2007-04-09 09:10
DarkCat:这位老大说的是什么意思?能不能详细一点?
|
|
|
12楼#
发布于:2007-04-14 23:38
这很有可能是Hook的处理程序是动态分配的,所以显示为未知模块也很正常~~
|
|
13楼#
发布于:2007-04-15 09:45
如何知道被hook的函数在哪个sys内,是用什么方法检查的啊?
|
|
|
14楼#
发布于:2007-05-08 11:04
我的电脑也出现了同样的问题,用syscheck可以看到模块提供者是system32下的 hal.dll,但是这个文件是系统文件。请教各位大侠应该怎样处理,谢谢!!
|
|
15楼#
发布于:2007-05-08 16:28
莫非这就是固化思想广泛的发光了~
|
|
|
16楼#
发布于:2007-05-09 09:50
版主,能不能详细解释一下,小弟看不明白。
|
|
17楼#
发布于:2007-05-16 14:59
动态分配内存 把代码COPY上去 然后执行 这些代码不属于任何模块
单是这样是看不出来是哪个模块的 还是自己写程序慢慢分析吧 |
|
18楼#
发布于:2007-05-17 20:07
有道理........
|
|