首页
社区
课程
招聘
[讨论]变态的ntfs.sys 中的IRP_MJ_CREATE hook
发表于: 2010-3-25 14:53 7616

[讨论]变态的ntfs.sys 中的IRP_MJ_CREATE hook

2010-3-25 14:53
7616
ntfs.sys 中的IRP_MJ_CREATE被hook了,比较变态:
1. 用Gmer扫描能看到ntfs.sys的IRP_MJ_CREATE被hook了,为什么直接在windbg中或者用XueTr.exe中就看

不到?

2. 直接在windbg中去掉这个hook也不能起效?(在windbg中能够成功修改IRP_MJ_CREATE 指向的函数地址,但是执行流程仍然会跳到:[F86A384A] tfnfs.sys)

3. 如何去除这个钩子?

哪位大牛,帮忙解释一下。

或者有哪些类似Gmer 或者 Malwarebytes Anti-Malware的工具能直接remove 这个变态的hook?

下面是Gmer的扫描log:
---- Devices - GMER 1.0.15 ----

AttachedDevice     \FileSystem\Ntfs \Ntfs IRP_MJ_CREATE                    [F86A384A] tfnfs.sys
AttachedDevice     \FileSystem\Ntfs \Ntfs IRP_MJ_CREATE_NAMED_PIPE         [F86A384A] tfnfs.sys
AttachedDevice     \FileSystem\Ntfs \Ntfs IRP_MJ_CLOSE                     [F86A3080] tfnfs.sys
AttachedDevice     \FileSystem\Ntfs \Ntfs IRP_MJ_READ                      [F86944CC] tfnfs.sys
AttachedDevice     \FileSystem\Ntfs \Ntfs IRP_MJ_WRITE                     [F86944CC] tfnfs.sys
AttachedDevice     \FileSystem\Ntfs \Ntfs IRP_MJ_QUERY_INFORMATION         [F86944CC] tfnfs.sys

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (5)
雪    币: 75
活跃值: (623)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
2
hook啊,了解一些,
若只是被换了MajorFunction[IRP_MJ_CREATE] = hookcreate ,把这个地址换回来就好了,
若被inlinehook,也好弄,看它具体inline的哪部分,直接到 ntfs.sys源文件把相应部分提出来覆盖恢复就好了
2010-3-25 15:16
0
雪    币: 143
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
[QUOTE=skypismire;781335]hook啊,了解一些,
若只是被换了MajorFunction[IRP_MJ_CREATE] = hookcreate ,把这个地址换回来就好了,
若被inlinehook,也好弄,看它具体inline的哪部分,直接到 ntfs.sys源文件把相应部分提出来覆盖恢复就好了[/QUOTE]

这个hook比较变态,不能直接通过修改恢复的。
2010-3-25 16:44
0
雪    币: 75
活跃值: (623)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
4
在&MajorFunction[IRP_MJ_CREATE]上下硬件读断点。。把它的保护线程揪出来,杀之。
2010-3-25 17:53
0
雪    币: 143
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
[QUOTE=skypismire;781407]在&MajorFunction[IRP_MJ_CREATE]上下硬件读断点。。把它的保护线程揪出来,杀之。[/QUOTE]

楼主能否帮忙分析一下:
2. 直接在windbg中MajorFunction[IRP_MJ_CREATE]能够修改这个处理函数的地址,且能修改成功,但是我下断点跟踪后发现IRP_MJ_CREATE的处理流程还是跳到:[F86A384A] tfnfs.sys中了;

      是否可能tfnfs.sys不是修改的MajorFunction[IRP_MJ_CREATE]的函数头部,而是修改的函数头部靠后的位置?
2010-3-25 20:51
0
雪    币: 219
活跃值: (50)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
没有样本,没法完全确定这个病毒的原理,但是根据你说的工具测试结果,我估计那个病毒驱动是调用了IoAttachDeviceXXX之类的函数attach到ntfs上去的,卸载时调用IoDetachDevice即可
2010-3-25 23:20
0
游客
登录 | 注册 方可回帖
返回
//