12345   4  /  5  页   跳转

[讲义] 流行病毒概况以及手动查杀方法讲义

回复:流行病毒概况以及手动查杀方法讲义

老师这份资料非常好~病毒金钟罩,破坏流程以及查杀方法 ,,,很有用
我想问一下:
病毒破坏流程的时候,恢复杀软的SSDT钩子,使得杀软功能失效,这个是映像劫持吗?还有是“恢复”吗,怎么感觉是破坏才会失效,呵,不太理解啊

还有我用SysCheck查看 内核检测 发现大部分函数都被瑞星的HOOKHELP.sys占着,剩下的被spdr.sys占着,但我 定位文件 却找不到?除杀毒软件外要是 其他驱动 进入内核占用内核函数,它是病毒的概率是不是很大
没有生而知之,只有学而知之!
gototop
 

回复:流行病毒概况以及手动查杀方法讲义

恢复杀软的SSDT钩子,使得杀软功能失效  这个不是映像劫持
映像劫持是注册表上的一个键HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options
在CreateProcess的时候(创建进程)系统会检查是否有一个子键和可执行映像的文件名和扩展名相同 如果确实有,那么检查该键是否存在一个名为debugger的值 如果存在咋该映像被改成该值中的字符串 也就是说启动的是另外一个进程了

病毒一般hook(也就是你说的占用)内核函数 不会很多 不会像杀毒软件那么多 一般只会挂钩他需要的函数
gototop
 

回复:流行病毒概况以及手动查杀方法讲义

调用NTWriteFile  ntdll给出这函数在SSDT中的第几个的这个位置
然后这个序号通过服务转发器(函数)去查SSDT中该位置的NTWriteFile函数地址
调用NTWriteFile真正的函数


而SSDT  hook 就是把表中的内容给改了。就会通过服务转发器查不到NTWriteFile的函数地址,也就无法调用NTWriteFile真正的函数

请教老师 还是有一点不明白, 我们最初是从调用NTWriteFile开始的,得出了该函数在SSDT中的第几个的这个位置,然后通过服务转发器函数查到了SSDT中该位置的NTWriteFile函数地址 ,这时候该函数的作用已经完成, 即找到自己 的函数地址, 那怎么又调用真正的NTWriteFile函数? 这是一种隐藏技术吗
(感觉有点钻牛角尖了。。。)
gototop
 

回复 33F still刀刀 的帖子

真正的起作用的 NTWriteFile函数是在ntoskrnl.exe中实现的
此ntdll中的NTWriteFile函数 非彼ntoskrnl.exe中的NTWriteFile函数
从三环中调用NTWriteFile的程序再说一下
调用ntdll.dll查找NTWriteFile在SSDT中的序号
服务转发器通过这个序号查找SSDT中NTWriteFile的地址(这个地址是ntoskrnl.exe中导出的真正的NTWriteFile函数)
然后去刚才那个地址调用真正的NTWriteFile函数(ntoskrnl.exe中导出的真正实现功能的函数)
gototop
 

回复:流行病毒概况以及手动查杀方法讲义

这下就知道查看出日志中的病毒后如何清楚了,豁然开朗,不过,上课的人好像不多诶,怎么回事呢?
gototop
 

回复:流行病毒概况以及手动查杀方法讲义

老师,那个流程图还是不太明白
gototop
 

回复:流行病毒概况以及手动查杀方法讲义

老师,那个在安全模式全盘查杀那种易复发的病毒干掉之后就断电,对付7楼讲义上所说的那种煮不烂的病毒是否有效呢?
寻找一个梦想存放年轻时的心,每一个回忆都是走过的成绩!
gototop
 

回复: 流行病毒概况以及手动查杀方法讲义



引用:
原帖由 言兮 于 2009-7-29 20:59:00 发表
老师,那个在安全模式全盘查杀那种易复发的病毒干掉之后就断电,对付7楼讲义上所说的那种煮不烂的病毒是否有效呢?


理论上可以 但也要具体问题具体分析
gototop
 

回复:流行病毒概况以及手动查杀方法讲义

哦,那碰到了一定试试。 谢谢老师了!
寻找一个梦想存放年轻时的心,每一个回忆都是走过的成绩!
gototop
 

回复: 流行病毒概况以及手动查杀方法讲义



引用:
原帖由 still刀刀 于 2009-7-29 20:46:00 发表
调用NTWriteFile  ntdll给出这函数在SSDT中的第几个的这个位置
然后这个序号通过服务转发器(函数)去查SSDT中该位置的NTWriteFile函数地址
调用NTWriteFile真正的函数


而SSDT  hook 就是把表中的内容给改了。就会通过服务转发器查不到NTWriteFile的函数地址,也就无法调用NTWriteFile真正的函数

请教老师 还是有一

所谓ssdt其实就是System Service Descriptor Table,也就是系统服务描述表,也就是本地系统服务地址,该表可以基于系统调用编号进行索引。作用就是把Ring3下的Win32 APIRing0下的内核API联系起来。它通过对系统调用进行索引,然后定位函数的内存地址.
应用程序是通过软中断进入内核模式的(不同的windows版本下方式略微有点不同,Windows 2000下是通过int2eh进入,Windows XP下是通过sysenter指令完成的)。软中断会把Native API参数系统服务号的参数一同传入内核模式。不同的Native API会对应不同的系统服务号,这时候就要用ssdtWindows根据这个系统服务号为索引,从表中查找对应服务函数的内存地址,如图。

 附件: 您所在的用户组无法下载或查看附件

第二步的时候mov eax,XXXXServiceIndex),此时把系统服务号传给eax寄存器

SSDT在这个过程中所扮演的角色是至关重要的。如下图。



 附件: 您所在的用户组无法下载或查看附件
最后编辑最硬的石头 最后编辑于 2009-07-29 21:39:33
gototop
 
12345   4  /  5  页   跳转
页面顶部
Powered by Discuz!NT