WQXNETQIQI
驱动大牛
驱动大牛
  • 注册日期2006-06-12
  • 最后登录2010-10-26
  • 粉丝0
  • 关注0
  • 积分13分
  • 威望1076点
  • 贡献值0点
  • 好评度895点
  • 原创分1分
  • 专家分0分
阅读:8862回复: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...
驱动开发者 呵呵
firabc
驱动牛犊
驱动牛犊
  • 注册日期2004-10-10
  • 最后登录2007-10-20
  • 粉丝0
  • 关注0
  • 积分410分
  • 威望42点
  • 贡献值0点
  • 好评度42点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2007-01-07 16:29
还是你分析得比较好呀
binjo
论坛版主
论坛版主
  • 注册日期2003-04-23
  • 最后登录2012-06-25
  • 粉丝0
  • 关注0
  • 积分1002分
  • 威望142点
  • 贡献值0点
  • 好评度140点
  • 原创分0分
  • 专家分0分
板凳#
发布于: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里察看也的确是的
wowocock
VIP专家组
VIP专家组
  • 注册日期2002-04-08
  • 最后登录2016-01-09
  • 粉丝16
  • 关注2
  • 积分601分
  • 威望1651点
  • 贡献值1点
  • 好评度1227点
  • 原创分1分
  • 专家分0分
地板#
发布于:2007-01-08 11:04
看来所有方法对DARKSPY都没用,也算是个失败的东西.除了系统登陆后加载任何位置的driver都会失败.
花开了,然后又会凋零,星星是璀璨的,可那光芒也会消失。在这样 一瞬间,人降生了,笑者,哭着,战斗,伤害,喜悦,悲伤憎恶,爱。一切都只是刹那间的邂逅,而最后都要归入死亡的永眠
WQXNETQIQI
驱动大牛
驱动大牛
  • 注册日期2006-06-12
  • 最后登录2010-10-26
  • 粉丝0
  • 关注0
  • 积分13分
  • 威望1076点
  • 贡献值0点
  • 好评度895点
  • 原创分1分
  • 专家分0分
地下室#
发布于:2007-01-08 14:13
DARKSPY则是在我所有机器上都会CPU 100%死掉或直接BSOD
驱动开发者 呵呵
firabc
驱动牛犊
驱动牛犊
  • 注册日期2004-10-10
  • 最后登录2007-10-20
  • 粉丝0
  • 关注0
  • 积分410分
  • 威望42点
  • 贡献值0点
  • 好评度42点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2007-01-08 15:05
DARKSPY确实很佩服的 ,在我这必须把SSM卸了才行的,不然也是CPU100%的
binjo
论坛版主
论坛版主
  • 注册日期2003-04-23
  • 最后登录2012-06-25
  • 粉丝0
  • 关注0
  • 积分1002分
  • 威望142点
  • 贡献值0点
  • 好评度140点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2007-01-08 17:04
发个我的
cardmagic
驱动中牛
驱动中牛
  • 注册日期2005-03-15
  • 最后登录2010-01-14
  • 粉丝0
  • 关注0
  • 积分1000分
  • 威望317点
  • 贡献值0点
  • 好评度312点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2007-01-08 22:57
"我所有机器上" ~ 晕~
在我所有机器上都正常~ :)

不过 cpu100的原因已经知道,后面版本会修正的.
牌术千术IT cardmagic.bokee.com
wangjianfeng
驱动小牛
驱动小牛
  • 注册日期2004-05-28
  • 最后登录2013-10-02
  • 粉丝0
  • 关注0
  • 积分1002分
  • 威望263点
  • 贡献值0点
  • 好评度260点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2007-01-10 19:27
太流氓了.
binjo
论坛版主
论坛版主
  • 注册日期2003-04-23
  • 最后登录2012-06-25
  • 粉丝0
  • 关注0
  • 积分1002分
  • 威望142点
  • 贡献值0点
  • 好评度140点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2007-01-10 19:44
这个流氓里还有个stdie.dll,好象是个proxy又象是个downloader,也可能啥都不是
killvxk
论坛版主
论坛版主
  • 注册日期2005-10-03
  • 最后登录2014-04-14
  • 粉丝3
  • 关注1
  • 积分1082分
  • 威望2003点
  • 贡献值0点
  • 好评度1693点
  • 原创分2分
  • 专家分0分
10楼#
发布于:2007-01-13 20:21
嘿嘿,这个貌似不流氓就是把现有的技术融合起来而已~~
嘿嘿~
没有战争就没有进步 X3工作组 为您提供最好的军火
killvxk
论坛版主
论坛版主
  • 注册日期2005-10-03
  • 最后登录2014-04-14
  • 粉丝3
  • 关注1
  • 积分1082分
  • 威望2003点
  • 贡献值0点
  • 好评度1693点
  • 原创分2分
  • 专家分0分
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表中摘除
没有战争就没有进步 X3工作组 为您提供最好的军火
xyzreg
驱动小牛
驱动小牛
  • 注册日期2005-06-20
  • 最后登录2009-12-06
  • 粉丝0
  • 关注0
  • 积分294分
  • 威望173点
  • 贡献值0点
  • 好评度164点
  • 原创分0分
  • 专家分0分
12楼#
发布于:2007-01-13 21:01
引用第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
.......

仅从peb的ldr里摘除dll是过不了IceSword的DLL模块枚举的~
killvxk
论坛版主
论坛版主
  • 注册日期2005-10-03
  • 最后登录2014-04-14
  • 粉丝3
  • 关注1
  • 积分1082分
  • 威望2003点
  • 贡献值0点
  • 好评度1693点
  • 原创分2分
  • 专家分0分
13楼#
发布于:2007-01-13 21:32
引用第12楼xyzreg2007-01-13 21:01发表的“”:

仅从peb的ldr里摘除dll是过不了IceSword的DLL模块枚举的~


我知道,不过骗骗小孩子还是好的

IS那套玩意太邪恶了~
没有战争就没有进步 X3工作组 为您提供最好的军火
violin
驱动牛犊
驱动牛犊
  • 注册日期2003-10-02
  • 最后登录2009-08-22
  • 粉丝0
  • 关注0
  • 积分4分
  • 威望83点
  • 贡献值0点
  • 好评度41点
  • 原创分0分
  • 专家分0分
14楼#
发布于: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工具就能查.
kernel_kernel
驱动小牛
驱动小牛
  • 注册日期2002-12-08
  • 最后登录2009-02-06
  • 粉丝0
  • 关注0
  • 积分435分
  • 威望51点
  • 贡献值0点
  • 好评度41点
  • 原创分0分
  • 专家分0分
15楼#
发布于:2007-01-16 14:31
引用第10楼killvxk2007-01-13 20:21发表的“”:
嘿嘿,这个貌似不流氓就是把现有的技术融合起来而已~~
嘿嘿~


可是就很难清除,查起来也难。
同事都被烦死了
guaiguaiguan
驱动中牛
驱动中牛
  • 注册日期2003-10-11
  • 最后登录2011-01-12
  • 粉丝0
  • 关注0
  • 积分14分
  • 威望556点
  • 贡献值0点
  • 好评度490点
  • 原创分0分
  • 专家分0分
16楼#
发布于:2007-02-05 15:05
这样的东西没有用,既不会推动社会进步,也不会增加国家的GDP。无法是patch、hook啊,尽是些小聪明,永远做不了微软,也做不成google。
wowocock
VIP专家组
VIP专家组
  • 注册日期2002-04-08
  • 最后登录2016-01-09
  • 粉丝16
  • 关注2
  • 积分601分
  • 威望1651点
  • 贡献值1点
  • 好评度1227点
  • 原创分1分
  • 专家分0分
17楼#
发布于: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分
18楼#
发布于:2007-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分
19楼#
发布于:2007-02-05 15:47
最为邪恶就是patch firmware of harddisk~
真正主宰级别~~
没有战争就没有进步 X3工作组 为您提供最好的军火
上一页
游客

返回顶部