查看: 2626|回复: 3
收起左侧

[分享] 关于反病毒木马专家的 Anti InlineHook

 关闭 [复制链接]
九尾野狐
头像被屏蔽
发表于 2007-7-7 18:00:17 | 显示全部楼层 |阅读模式
原帖地址:http://bbs.pcvista.cn/read.php?tid=11729&page=e&#a

作者:FlowerCode




要不是我的两个朋友各写了一篇有关这软件的介绍,我还真不知道有这么个程序。vU*<# ouE
我落后了,我严重的落后了。

拿来看了下,有个 Anti InlineHook,似乎挺高明的。


QUOTE:
部分行为比较恶劣的木马,为了防止自身被删除,会使用一种叫 InlineHook的技术,挂构系统文件,除了本身会危害系统之外,这种挂钩行为也会 ^极大的影响系统稳定。本软件可检测和清除这种木马。



x!U)lS
我想作者也许看了 KillVxk 经典的固化挂钩,呵呵,挂钩系统文件。X_V{,#
不管怎么说,看上去似乎的确很厉害的样子。那来试试吧。Ue.?Z:l$/
打开 IceSword,众所周知,IceSword为了防止自身被非法关闭而采用Inline Hook |技术挂钩了ntoskrnl.exe!NtOpenProcess,ntoskrnl.exe!NtOpenThread,ntoskrnl.exe!NtTerminateProcess,ntoskrnl.exe!NtTerminateThread,其用户态 程序为了防止全局钩子还Inline Hook了Kernel32.dll!LoadLibraryExW。那么能不能被检测到呢?打开“反病毒木马专家”,选择“辅助”-;~9-“AntiInlineHook”。嗯?怎么还要选择进程?那也许是比较先进的技术吧。选择In+

“IceSword.exe”,点击“检测”。

QUOTE:
--------------------------- 3I-l,9- oW
Error RA\}0HjX
--------------------------- iH"MZ
Snapshot failed NtZ$_e*
--------------------------- V'o"NCWq
确定 CpNT0^nQ
  ---------------------------

#<wmU_n
喔喔,似乎没有汉化完全的说……作者要把这里汉化一下呀。


QUOTE:
--------------------------- 7Bsy%$WP
完成 RN
--------------------------- 1+[H"q`T]Q
检测完成 FsDl[Q$ h
--------------------------- d|]zc 
确定 iL?HT-L
---------------------------


"lRC_O#Lf
U{K59K4^3W
什么也没发现?好奇怪……那也许是刚才那个错误影响的吧…… q?h+knTMx\
手动清除掉IS的内核态钩子,再试…… r'JMBW$-
aq!;p>

QUOTE:
--------------------------- >$!%H3%[]&
完成 {Wm( oG`
--------------------------- M'}3]r
检测完成 !7=6eT
--------------------------- `jtI5n}t_6
确定 zBAw6S@&z
---------------------------


)U.e u!
UQ7Wr6=
这次没有错误了,但怎么还是什么也没检测到呢……奇怪……*我发现其安装目录下有一个DetectInlineHook.dll,这大概就是检测Inline用的文件吧,我们来看看……


CODE:
.rdata:1002901C ; char aRegcreatekeyex[] s}Vux 4A5
.rdata:1002901C aRegcreatekeyex db 'RegCreateKeyExA',0  ; DATA XREF: DllMain(x,x,x)+181o
.rdata:1002902C                 db    0
.rdata:1002902D                 db    0
.rdata:1002902E                 db    0 X
.rdata:1002902F                 db    0
.rdata:10029030 ; char aRegcreatekeya[] N
.rdata:10029030 aRegcreatekeya  db 'RegCreateKeyA',0    ; DATA XREF: DllMain(x,x,x)+16Do
.rdata:1002903E                 align 10h
.rdata:10029040 ; char aRegopenkeya[]
.rdata:10029040 aRegopenkeya    db 'RegOpenKeyA',0      ; DATA XREF: DllMain(x,x,x)+159o `
.rdata:1002904C                 db    0
.rdata:1002904D                 db    0
.rdata:1002904E                 db    0
.rdata:1002904F                 db    0
.rdata:10029050 ; char aRegenumvaluea[]
.rdata:10029050 aRegenumvaluea  db 'RegEnumValueA',0    ; DATA XREF: DllMain(x,x,x)+145o
.rdata:1002905E                 align 10h
.rdata:10029060 ; char aRegenumkeyexa[] 
.rdata:10029060 aRegenumkeyexa  db 'RegEnumKeyExA',0    ; DATA XREF: DllMain(x,x,x)+131o
.rdata:1002906E                 align 10h L
.rdata:10029070 ; char aRegenumkeya[]
.rdata:10029070 aRegenumkeya    db 'RegEnumKeyA',0      ; DATA XREF: DllMain(x,x,x)+11Do
.rdata:1002907C                 db    0eJ
.rdata:1002907D                 db    0
.rdata:1002907E                 db    0
.rdata:1002907F                 db    0
.rdata:10029080 ; char aRegdeletevalue[]
.rdata:10029080 aRegdeletevalue db 'RegDeleteValueA',0  ; DATA XREF: DllMain(x,x,x)+109o
.rdata:10029090                 db    0
.rdata:10029091                 db    0
.rdata:10029092                 db    0
.rdata:10029093                 db    0
.rdata:10029094 ; char aRegdeletekeya[] >
.rdata:10029094 aRegdeletekeya  db 'RegDeleteKeyA',0    ; DATA XREF: DllMain(x,x,x)+F5o
.rdata:100290A2                 align 4
.rdata:100290A4 ; char aAdvapi32_dll[]
.rdata:100290A4 aAdvapi32_dll   db '\advapi32.dll',0    ; DATA XREF: DllMain(x,x,x)+E1o
.rdata:100290B2                 align 4
.rdata:100290B4 ; char aFindnextfilea[]
.rdata:100290B4 aFindnextfilea  db 'FindNextFileA',0    ; DATA XREF: DllMain(x,x,x)+9Eo
.rdata:100290C2                 align 4
.rdata:100290C4 ; char aFindfirstfilea[]
.rdata:100290C4 aFindfirstfilea db 'FindFirstFileA',0   ; DATA XREF: DllMain(x,x,x)+8Ao
.rdata:100290D3                 db    0
.rdata:100290D4                 db    0 u
.rdata:100290D5                 db    0
.rdata:100290D6                 db    0
.rdata:100290D7                 db    0
.rdata:100290D8 ; char aCreateprocessa[]
.rdata:100290D8 aCreateprocessa db 'CreateProcessA',0   ; DATA XREF: DllMain(x,x,x)+76o
.rdata:100290D8                                         ; DllMain(x,x,x)+B2o
.rdata:100290E7                 db    0
.rdata:100290E8                 db    0
.rdata:100290E9                 db    0
.rdata:100290EA                 db    0
.rdata:100290EB                 db    0
.rdata:100290EC ; char aTerminateproce[]
.rdata:100290EC aTerminateproce db 'TerminateProcess',0 ; DATA XREF: DllMain(x,x,x)+62o
.rdata:100290FD                 align 10h
.rdata:10029100 ; char aKernel32_dll[]
.rdata:10029100 aKernel32_dll   db '\kernel32.dll',0    ; DATA XREF: DllMain(x,x,x)+4Eo
.rdata:1002910E                 align 10h
.rdata:10029110 ; char Text[]
.rdata:10029110 Text            db '修复成功',0         ; DATA XREF: sub_10001220+1FAo
.rdata:10029119                 align 4
.rdata:1002911C ; char aJ[]
.rdata:1002911C aJ              db '成功',0             ; DATA XREF: sub_10001220+1F5o
.rdata:10029121                 align 4
.rdata:10029124 ; char Caption[]
.rdata:10029124 Caption         db '请确认',0           ; DATA XREF: sub_10001220+1BFo
.rdata:1002912B                 align 4
.rdata:1002912C ; char aInlineHook[]
.rdata:1002912C aInlineHook     db '已被Inline Hook,是? ; DATA XREF: sub_10001220+1A4o


哦,原来只是检测这几个API呀,看来作者认为其它的API都无关紧要咯…… +}H[ CgI:9
不知作者有没有听说过灰鸽子这种东西,它可没有挂FindFirstFile/NextFile,而是挂了NtQueryDirectoryFile,这时该怎么办呢…… (5x[4'
同样地,也没有检测CreateProcessW,看来作者也不知道A系列API只是转换了一下编码就直接呼叫W系列了。


于是突破的方法也就很简单了,只要挂钩W系列的API,或者Ntdll导出的API,或者使用驱动挂钩内核API都可绕过此AntiInlineHook。
x~}ACCx;D$
至于为啥不能检测IceSword的Inline Hook,此时也已很清楚了,此程序只能检测Ring3下的Hook。m


号称超强的AntiInlineHook,也不过如此。而这也是反病毒木马专家对Inline Hook的唯一防范措施,可见此程序毫无强度可言。

[ 本帖最后由 没注册 于 2007-7-7 18:07 编辑 ]
jpzy
发表于 2007-7-7 20:18:33 | 显示全部楼层
呵呵,看不太懂~!
我反正不用,只用一个IS就够了!
纯技术帖,支持一下,不过貌似想看懂不是太容易~!
天涯海客
发表于 2007-7-7 23:04:08 | 显示全部楼层
汗!怎么这么多乱码?
想念天堂
发表于 2007-7-7 23:55:37 | 显示全部楼层
很有道理啊,呵呵,多学习下,谢谢
您需要登录后才可以回帖 登录 | 快速注册

本版积分规则

手机版|杀毒软件|软件论坛| 卡饭论坛

Copyright © KaFan  KaFan.cn All Rights Reserved.

Powered by Discuz! X3.4( 沪ICP备2020031077号-2 ) GMT+8, 2025-5-15 11:14 , Processed in 0.134749 second(s), 18 queries .

卡饭网所发布的一切软件、样本、工具、文章等仅限用于学习和研究,不得将上述内容用于商业或者其他非法用途,否则产生的一切后果自负,本站信息来自网络,版权争议问题与本站无关,您必须在下载后的24小时之内从您的电脑中彻底删除上述信息,如有问题请通过邮件与我们联系。

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