WQXNETQIQI
驱动大牛
驱动大牛
  • 注册日期2006-06-12
  • 最后登录2010-10-26
  • 粉丝0
  • 关注0
  • 积分13分
  • 威望1076点
  • 贡献值0点
  • 好评度895点
  • 原创分1分
  • 专家分0分
阅读:9015回复:32

u88财富快车流氓软件RK驱动分析

楼主#
更多 发布于:2007-01-07 15:19
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文件见压缩包,和读源代码没什么区别了
附件名称/大小 下载次数 最后更新
drv.rar (77KB)  371 2007-01-07 15:28

最新喜欢:

songbei6songbe...
驱动开发者 呵呵
xlbr
驱动牛犊
驱动牛犊
  • 注册日期2002-07-02
  • 最后登录2011-10-10
  • 粉丝0
  • 关注0
  • 积分1分
  • 威望10点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2011-10-10 17:38
附件失效了,哪位请重发一份,谢谢。
formytest
驱动牛犊
驱动牛犊
  • 注册日期2007-01-16
  • 最后登录2010-03-17
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望33点
  • 贡献值0点
  • 好评度32点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2007-07-27 16:34
谁有样本,提供给小弟研究研究,不甚感激!
WINMAX
驱动牛犊
驱动牛犊
  • 注册日期2007-04-09
  • 最后登录2007-04-25
  • 粉丝0
  • 关注0
  • 积分30分
  • 威望4点
  • 贡献值0点
  • 好评度3点
  • 原创分0分
  • 专家分0分
地板#
发布于:2007-04-23 08:38
谁能有偿提供类似u88财富快车的源代码吗?
驱网无线,快乐无限
devia
论坛版主
论坛版主
  • 注册日期2005-05-14
  • 最后登录2016-04-05
  • 粉丝3
  • 关注0
  • 积分1029分
  • 威望712点
  • 贡献值1点
  • 好评度555点
  • 原创分8分
  • 专家分4分
地下室#
发布于:2007-02-24 19:57
引用第3楼wowocock2007-01-08 11:04发表的“”:
看来所有方法对DARKSPY都没用,也算是个失败的东西.除了系统登陆后加载任何位置的driver都会失败.


DARKSPY太不稳定了,动不动就死机!
人总在矛盾中徘徊。。。
WQXNETQIQI
驱动大牛
驱动大牛
  • 注册日期2006-06-12
  • 最后登录2010-10-26
  • 粉丝0
  • 关注0
  • 积分13分
  • 威望1076点
  • 贡献值0点
  • 好评度895点
  • 原创分1分
  • 专家分0分
5楼#
发布于:2007-02-05 23:51
呵呵 驱动都起来了,还有什么不能干?完全可以把别人的NotifyRoutine全摘了。就留下自己的 ,结果又变成无聊的抢启动顺序了
patch一是不稳定,二是比较XX,,,不过wow貌似很喜欢patch:D
驱动开发者 呵呵
guaiguaiguan
驱动中牛
驱动中牛
  • 注册日期2003-10-11
  • 最后登录2011-01-12
  • 粉丝0
  • 关注0
  • 积分14分
  • 威望556点
  • 贡献值0点
  • 好评度490点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2007-02-05 21:51
引用第11楼killvxk2007-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
.......


  vxk从驱动中释放后的加载执行是操作系统辅助完成的,这个过程其他驱动也可以监管,释放文件、修改注册表的情况捕捉和拦截要花些心思,但是操作系统启动vxk进程的特征太明显,在另外一个驱动的CreateProcessNotifyRoutine/ImageLoadNotifyRoutine肯定能够捕捉到,特别是在ImageLoadNotifyRoutine中,只需修改文件映像的前两个字节,vxk就是加载失败。而vxk.sys可能会认为一定会加载成功。但事实上处于孤岛之中,“手机”是没有信号的,在这种情况下vxk也会感到“高处不胜寒”。
  如果禁止别的程序使用CreateProcessNotifyRoutine/ImageLoadNotifyRoutine,可能又将陷入先有鸡还是先又蛋的哲学悖论。
  无论hook patch实现多么巧妙,除非禁止用户驱动在内核中对模块起始地址开始整个映像进行写操作,否则总有办法对vxk.sys进行patch,让它失效。当然在驱动中对应用态进程及其模块映像的patch做的不多,应该存在某种方法,可以绕过vxk.sys的检查,直接改写vxk.dll的内存映像,从而改变vxk.dll的固有行为。
  hook 和patch无论做得多么完美,它只能干预操作系统完成它的功能,但无法代替操作系统完成它依赖的功能。因为它实现的不是一个完整的操作系统。
WQXNETQIQI
驱动大牛
驱动大牛
  • 注册日期2006-06-12
  • 最后登录2010-10-26
  • 粉丝0
  • 关注0
  • 积分13分
  • 威望1076点
  • 贡献值0点
  • 好评度895点
  • 原创分1分
  • 专家分0分
7楼#
发布于:2007-02-05 18:19
没事还是最好不要拼加载顺序,最好连BOOT加载也不要
驱动开发者 呵呵
WQXNETQIQI
驱动大牛
驱动大牛
  • 注册日期2006-06-12
  • 最后登录2010-10-26
  • 粉丝0
  • 关注0
  • 积分13分
  • 威望1076点
  • 贡献值0点
  • 好评度895点
  • 原创分1分
  • 专家分0分
8楼#
发布于:2007-02-05 18:18
引用第22楼guaiguaiguan2007-02-05 17:33发表的“”:


我觉得未必,patch坏人有针对性,与平台无关,当然坏人多了,就会缺乏通用性。patch坏人和patch 系统方法是一样的,都是内存修补。但后者需要考虑SP版本的变化。

坏人总是有猥亵的办法,比如它变一下,让你patch 到一个猥亵的地方,那么你杀它的结果就是BSOD
驱动开发者 呵呵
linestyle
驱动小牛
驱动小牛
  • 注册日期2004-01-28
  • 最后登录2010-01-05
  • 粉丝0
  • 关注0
  • 积分1000分
  • 威望139点
  • 贡献值0点
  • 好评度135点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2007-02-05 17:59
引用第23楼wowocock2007-02-05 17:45发表的“”:
拼加载顺序永远是最有意义的,不过你们的思维都被局限了,为什么不反过来考虑呢,嘿嘿......


不过拼关机顺序,有时候会出问题,呵呵
loading is waiting ...
wowocock
VIP专家组
VIP专家组
  • 注册日期2002-04-08
  • 最后登录2016-01-09
  • 粉丝16
  • 关注2
  • 积分601分
  • 威望1651点
  • 贡献值1点
  • 好评度1227点
  • 原创分1分
  • 专家分0分
10楼#
发布于:2007-02-05 17:45
拼加载顺序永远是最有意义的,不过你们的思维都被局限了,为什么不反过来考虑呢,嘿嘿......
花开了,然后又会凋零,星星是璀璨的,可那光芒也会消失。在这样 一瞬间,人降生了,笑者,哭着,战斗,伤害,喜悦,悲伤憎恶,爱。一切都只是刹那间的邂逅,而最后都要归入死亡的永眠
guaiguaiguan
驱动中牛
驱动中牛
  • 注册日期2003-10-11
  • 最后登录2011-01-12
  • 粉丝0
  • 关注0
  • 积分14分
  • 威望556点
  • 贡献值0点
  • 好评度490点
  • 原创分0分
  • 专家分0分
11楼#
发布于:2007-02-05 17:33
引用第21楼WQXNETQIQI2007-02-05 16:30发表的“”:
随便说两点:
1.Patch系统总比Patch别人尤其是Patch坏人稳定很多很多
2.拼加载顺序永远是最无聊的


我觉得未必,patch坏人有针对性,与平台无关,当然坏人多了,就会缺乏通用性。patch坏人和patch 系统方法是一样的,都是内存修补。但后者需要考虑SP版本的变化。
WQXNETQIQI
驱动大牛
驱动大牛
  • 注册日期2006-06-12
  • 最后登录2010-10-26
  • 粉丝0
  • 关注0
  • 积分13分
  • 威望1076点
  • 贡献值0点
  • 好评度895点
  • 原创分1分
  • 专家分0分
12楼#
发布于:2007-02-05 16:30
随便说两点:
1.Patch系统总比Patch别人尤其是Patch坏人稳定很多很多
2.拼加载顺序永远是最无聊的
驱动开发者 呵呵
WQXNETQIQI
驱动大牛
驱动大牛
  • 注册日期2006-06-12
  • 最后登录2010-10-26
  • 粉丝0
  • 关注0
  • 积分13分
  • 威望1076点
  • 贡献值0点
  • 好评度895点
  • 原创分1分
  • 专家分0分
13楼#
发布于:2007-02-05 16:29
引用第18楼guaiguaiguan2007-02-05 15:39发表的“”:
可以设想既然你能够使用CreateProcessNotifyRoutine检测到userinit.exe实现自我加载,别人就可以以其人之道还治其人之身,通过drivernotifyroutine让你的VideoAti0.exe包括VideoAti0.dll无法加载,把这两个文件视为坏的影像文件。这样VedioAti0.sys就成了一个空壳和孤岛。
  另外既然你可能patch系统的接口,那么别人也可以patch VedioAti0.sys驱动影像的内存,无论是文件读写或者是注册表,只要还原其中一个,删掉注册表或者删掉文件,这样的保护就失效了。相对而言patch 这些驱动可能比patch那些所谓的fsd还要容易,找到拦截的函数入口,一个jmp跳转到原来入口即可,在拦截的代码中,肯定包含跳转到原来地址的指令。

想得太简单了,呵呵
驱动开发者 呵呵
killvxk
论坛版主
论坛版主
  • 注册日期2005-10-03
  • 最后登录2014-04-14
  • 粉丝3
  • 关注1
  • 积分1082分
  • 威望2003点
  • 贡献值0点
  • 好评度1693点
  • 原创分2分
  • 专家分0分
14楼#
发布于:2007-02-05 15:47
最为邪恶就是patch firmware of harddisk~
真正主宰级别~~
没有战争就没有进步 X3工作组 为您提供最好的军火
guaiguaiguan
驱动中牛
驱动中牛
  • 注册日期2003-10-11
  • 最后登录2011-01-12
  • 粉丝0
  • 关注0
  • 积分14分
  • 威望556点
  • 贡献值0点
  • 好评度490点
  • 原创分0分
  • 专家分0分
15楼#
发布于:2007-02-05 15:39
可以设想既然你能够使用CreateProcessNotifyRoutine检测到userinit.exe实现自我加载,别人就可以以其人之道还治其人之身,通过drivernotifyroutine让你的VideoAti0.exe包括VideoAti0.dll无法加载,把这两个文件视为坏的影像文件。这样VedioAti0.sys就成了一个空壳和孤岛。
  另外既然你可能patch系统的接口,那么别人也可以patch VedioAti0.sys驱动影像的内存,无论是文件读写或者是注册表,只要还原其中一个,删掉注册表或者删掉文件,这样的保护就失效了。相对而言patch 这些驱动可能比patch那些所谓的fsd还要容易,找到拦截的函数入口,一个jmp跳转到原来入口即可,在拦截的代码中,肯定包含跳转到原来地址的指令。
wowocock
VIP专家组
VIP专家组
  • 注册日期2002-04-08
  • 最后登录2016-01-09
  • 粉丝16
  • 关注2
  • 积分601分
  • 威望1651点
  • 贡献值1点
  • 好评度1227点
  • 原创分1分
  • 专家分0分
16楼#
发布于:2007-02-05 15:14
引用第16楼guaiguaiguan2007-02-05 15:05发表的“”:
这样的东西没有用,既不会推动社会进步,也不会增加国家的GDP。无法是patch、hook啊,尽是些小聪明,永远做不了微软,也做不成google。

严重同意.
花开了,然后又会凋零,星星是璀璨的,可那光芒也会消失。在这样 一瞬间,人降生了,笑者,哭着,战斗,伤害,喜悦,悲伤憎恶,爱。一切都只是刹那间的邂逅,而最后都要归入死亡的永眠
guaiguaiguan
驱动中牛
驱动中牛
  • 注册日期2003-10-11
  • 最后登录2011-01-12
  • 粉丝0
  • 关注0
  • 积分14分
  • 威望556点
  • 贡献值0点
  • 好评度490点
  • 原创分0分
  • 专家分0分
17楼#
发布于:2007-02-05 15:05
这样的东西没有用,既不会推动社会进步,也不会增加国家的GDP。无法是patch、hook啊,尽是些小聪明,永远做不了微软,也做不成google。
kernel_kernel
驱动小牛
驱动小牛
  • 注册日期2002-12-08
  • 最后登录2009-02-06
  • 粉丝0
  • 关注0
  • 积分435分
  • 威望51点
  • 贡献值0点
  • 好评度41点
  • 原创分0分
  • 专家分0分
18楼#
发布于:2007-01-16 14:31
引用第10楼killvxk2007-01-13 20:21发表的“”:
嘿嘿,这个貌似不流氓就是把现有的技术融合起来而已~~
嘿嘿~


可是就很难清除,查起来也难。
同事都被烦死了
violin
驱动牛犊
驱动牛犊
  • 注册日期2003-10-02
  • 最后登录2009-08-22
  • 粉丝0
  • 关注0
  • 积分4分
  • 威望83点
  • 贡献值0点
  • 好评度41点
  • 原创分0分
  • 专家分0分
19楼#
发布于:2007-01-15 19:32
引用第0楼WQXNETQIQI2007-01-07 15:19发表的“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


为什么不用IceSword的FileReg呢?


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添加

.......


这个貌似是个反rk工具就能查.
上一页
游客

返回顶部