飘云阁

 找回密码
 加入我们

QQ登录

只需一步,快速开始

查看: 2414|回复: 1

[转贴] 自己对hook的一点粗浅研究,整理了一天,很辛苦哟

[复制链接]

该用户从未签到

发表于 2008-7-12 15:24:30 | 显示全部楼层 |阅读模式
转:动物家园救援区技术员daishaodong

自己对hook的一点粗浅研究:(参考一些资料后得出,力求复杂的东西简单化描述)

明确几点概念,一定要思路清晰,条理清楚:

一、hook是Rootkit的其中一种功能

二、hook分为2类:
第1类:应用层hook:API hook              ,由exe或dll等来实现的,用c语言即可, 容易对付, 属于ring3层的Win32 API;
第2类:内核级hook:SSDT-hook、INLINE-hook,以sys驱动的形式进行, 汇编指令实现,较难对付, 属于ring0层的内核API;
当然还有FSD-HOOK,FSD-INLINE-HOOK,也是内核级hook。


好了,切入正题:对应上面的2大分类,分析如下:

一、sreng的hook探测属于应用层hook(API hook)检查。在sreng的帮助中有这么说:(http://www.kztechs.com/sreng/help2/
    “...上述被HOOK的API函数将造成正常的方法是无法发现灰鸽子的文件和注册表键值的。包括一些杀毒软件都会由于这个问题而造成无法发现和清除用户系统里面正在运行的灰鸽子后门程序。修复入口点以后,再查看服务列表,会发现修复前不能发现的灰鸽子远程后门软件的服务已经出现在服务列表里面了。这是因为API HOOK入口点修复完成以后,依靠API HOOK来实现自我隐藏功能已经失效所致.....”
     也就是说,病毒进行API hook 后,在未修复之前,sreng是无法发现一些病毒的服务和注册表项。
案例1:
昨天我看见有一个求助帖子:http://bbs.janmeng.com/thread-701679-1-1.html,完整日志在附件处,日志中有应用层API被hook的:
还好,seng能探测到该hook:

API HOOK
入口点错误:CreateProcessW (危险等级: 高,  被下面模块所HOOK: C:\WINDOWS\system32\czspqd.dll)
入口点错误:FreeLibrary (危险等级: 高,  被下面模块所HOOK: 0x5F00002D)

czspqd.dll判断是病毒,依据上面的分析,有可能会隐藏了一些病毒,需要先修复该hook后,再进行扫描日志检查,不然就可能扫描不到病毒。(第一次遇到病毒hook API了,汗)。
案例2:“新AV终结者采用ring3级hook技术对抗杀毒软件”:http://www.anqn.com/news/c/2007-09-22/a0986783.shtml
       这种hook,sreng能够扫描到。大家自己分析了。

二、ICESword、wsyscheck、狙剑等更进一步,能检查内核级hook(SSDT-hook、INLINE-hookhook,FSD-HOOK,FSD-INLINE-HOOK)
    在wsyscheck中的SSDT检查中,红色的函数表示有SSDT-hook,(主动防御的安全软件会进行SSDT-hook)。点右键“恢复当前函数地址”,就修复了SSDT-hook;在wsyscheck中的SSDT检查中,“代码异常”栏如显“YES”,表明该函数被Inline Hook,点右键--“恢复当前函数代码”功能即可修复Inline Hook。
    如果同时存在SSDT-hook和INLINE-hook,右键,分别点2个恢复即可。
    (说明:SSDT的全称是System Services Descriptor Table,系统服务描述符表。这个表就是一个把ring3层API和ring0层API联系起来的角色。)
    同样,为了能显示隐藏的病毒,wsyscheck的帮助中写道:“关于如何清理木马的简单方法:如果SSDT管理中有木马模块在工作,请先恢复SSDT,再在服务管理页清理木马的服务及文件。”也就是说SSDT-hook也会隐藏病毒,要先修复SSDT-hook才行。(当然,最好先设置wsyscheck禁止进程与文件创建),我还没有发现病毒进行内核级hook的案例。

通过以上分析,大家意识到什么了?即:当电脑有异常时,而sreng扫描不出问题,就要怀疑:会不会存在sreng无法探测到的内核级hook呢?病毒被隐藏了,日志扫描不出病毒,此时是否可以用wsyscheck等工具修复内核级hook后,再sreng扫描呢?大家踊跃思考,,,,,,



读书时学过编程,后来就没怎么弄了,理解程度只能如此,希望对大家有点启发。因为病毒越来越内核化,对病毒的研究要有点“前瞻”性,大家说对吧,呵呵。
大家讨论下,集思广益。。。。永无休止的病毒与反病毒斗争,,,,,,


注:
在明确了hook分类后,为了生动了解hook定义。可以看看这个网页:“高级木马的自我保护技术与查杀之策(图文详解)”:
http://topic.csdn.net/u/20070717 ... 6-b5a0208f19c8.html
PYG19周年生日快乐!
  • TA的每日心情
    开心
    2018-10-30 22:05
  • 签到天数: 6 天

    [LV.2]偶尔看看I

    发表于 2008-7-19 17:50:27 | 显示全部楼层
    学习一下/:001 /:001
    PYG19周年生日快乐!
    您需要登录后才可以回帖 登录 | 加入我们

    本版积分规则

    快速回复 返回顶部 返回列表