阅读:9424回复:32
u88财富快车流氓软件RK驱动分析
RK部分一共三个文件
VideoAti0.sys VideoAti0.dll VideoAti0.exe 驱动部分是BOOT0的,主要干了这么些事: 1.建立CreateProcessNotifyRoutine,检测到userinit.exe加载后就修改注册Run项目,以启动VideoAti0.exe,VideoAtio0.exe启动后会删除自己的RUN项目,并注入VideoAti0.dll,导致启动后无法发现其启动项目 2.Hook CmEnumerateKey,隐藏VedioAti0.sys的服务项,Is,gmer,rku等无法检测到 通过CreatePrcoessNotifyRoutine检测到是如下进程调用CmEnumerateKey时,会恢复自己的HOOK,企图蒙混过关:D fhs.exe,knlsc13.exe 3.Hook FSD Dispatch Routine,Hook了\FileSystem\Ntfs,和\FileSystem\FastFat的IRP_MJ_CREATE和IRP_MJ_DIRECTORY_FILE,根据默认规则库会首先过滤 VideoAti0.sys VideoAti0.dll VideoAti0.exe 无法列出他们 规则库还可以通过R3向R0添加 4.从PsLoadMoudleList移除了自身,使得IS,gmer等工具无法检测到它,gmer可检测到 FSD HOOK,也检测不到是哪个module作了HOOK 后来R3的规则好象很BT,系统登陆后加载任何位置的driver都会失败:D 分析后的idb文件见压缩包,和读源代码没什么区别了 |
|
最新喜欢:songbe...
|
沙发#
发布于:2007-01-07 16:29
还是你分析得比较好呀
|
|
板凳#
发布于:2007-01-08 10:03
在查找PsLoadedModuleList的那个sub里
.text:00011578 mov eax, 0FFDFF034h ; _KPCR.KdVersionBlock .text:0001157D mov eax, [eax] ; KdVersionBlock .text:0001157F mov eax, [eax+70h] ; ???? KdVersionBlock的结构_DBGKD_GET_VERSION64不是只有13 elements, 0x28 bytes吗? 怎么这里70h处也是PsLoadedModuleList?我在kd里察看也的确是的 |
|
地板#
发布于:2007-01-08 11:04
看来所有方法对DARKSPY都没用,也算是个失败的东西.除了系统登陆后加载任何位置的driver都会失败.
|
|
|
地下室#
发布于:2007-01-08 14:13
DARKSPY则是在我所有机器上都会CPU 100%死掉或直接BSOD
|
|
|
5楼#
发布于:2007-01-08 15:05
DARKSPY确实很佩服的 ,在我这必须把SSM卸了才行的,不然也是CPU100%的
|
|
6楼#
发布于:2007-01-08 17:04
发个我的
|
|
7楼#
发布于:2007-01-08 22:57
"我所有机器上" ~ 晕~
在我所有机器上都正常~ :) 不过 cpu100的原因已经知道,后面版本会修正的. |
|
|
驱动小牛
|
8楼#
发布于:2007-01-10 19:27
太流氓了.
|
9楼#
发布于:2007-01-10 19:44
这个流氓里还有个stdie.dll,好象是个proxy又象是个downloader,也可能啥都不是
|
|
10楼#
发布于:2007-01-13 20:21
嘿嘿,这个貌似不流氓就是把现有的技术融合起来而已~~
嘿嘿~ |
|
|
11楼#
发布于:2007-01-13 20:46
说说我的一个木马设计方案
1.建立CreateProcessNotifyRoutine/ImageLoadNotifyRoutine(这个可以直接作dll插入了哈~),检测到userinit.exe加载后就从自己的内存释放vxk.exe修改注册Run项目,以启动vxk.exe,vxk.exe启动后会删除自己的RUN项目,并注入Vxk.dll,删除文件vxk.dll,vxk.exe,导致启动后无法发现其启动项目 2.从内存的HIVE结构中remove掉vxk.sys的服务项(KDOM) 3.HOOK DISK READ 隐藏vxk.sys 4.把自己从object Dir和pspLoadedmodulelist摘除,查找typelist链摘除自己,以搜索DriverObjectType方式搜索内存凡是找到自己的DRiverobject的地方直接用fake出来的Drvobject来代替~ 5.DLL注入后,将自身从peb的ldr表中摘除 |
|
|
12楼#
发布于:2007-01-13 21:01
引用第11楼killvxk于2007-01-13 20:46发表的“”: 仅从peb的ldr里摘除dll是过不了IceSword的DLL模块枚举的~ |
|
13楼#
发布于:2007-01-13 21:32
引用第12楼xyzreg于2007-01-13 21:01发表的“”: 我知道,不过骗骗小孩子还是好的 IS那套玩意太邪恶了~ |
|
|
14楼#
发布于:2007-01-15 19:32
引用第0楼WQXNETQIQI于2007-01-07 15:19发表的“u88财富快车流氓软件RK驱动分析”: 为什么不用IceSword的FileReg呢?
这个貌似是个反rk工具就能查. |
|
15楼#
发布于:2007-01-16 14:31
引用第10楼killvxk于2007-01-13 20:21发表的“”: 可是就很难清除,查起来也难。 同事都被烦死了 |
|
16楼#
发布于:2007-02-05 15:05
这样的东西没有用,既不会推动社会进步,也不会增加国家的GDP。无法是patch、hook啊,尽是些小聪明,永远做不了微软,也做不成google。
|
|
17楼#
发布于:2007-02-05 15:14
引用第16楼guaiguaiguan于2007-02-05 15:05发表的“”: 严重同意. |
|
|
18楼#
发布于:2007-02-05 15:39
可以设想既然你能够使用CreateProcessNotifyRoutine检测到userinit.exe实现自我加载,别人就可以以其人之道还治其人之身,通过drivernotifyroutine让你的VideoAti0.exe包括VideoAti0.dll无法加载,把这两个文件视为坏的影像文件。这样VedioAti0.sys就成了一个空壳和孤岛。
另外既然你可能patch系统的接口,那么别人也可以patch VedioAti0.sys驱动影像的内存,无论是文件读写或者是注册表,只要还原其中一个,删掉注册表或者删掉文件,这样的保护就失效了。相对而言patch 这些驱动可能比patch那些所谓的fsd还要容易,找到拦截的函数入口,一个jmp跳转到原来入口即可,在拦截的代码中,肯定包含跳转到原来地址的指令。 |
|
19楼#
发布于:2007-02-05 15:47
最为邪恶就是patch firmware of harddisk~
真正主宰级别~~ |
|
|
上一页
下一页