sc_wolf
驱动小牛
驱动小牛
  • 注册日期2006-09-03
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分35分
  • 威望278点
  • 贡献值1点
  • 好评度150点
  • 原创分0分
  • 专家分0分
阅读:1064回复:5

威金病毒打开文件方式

楼主#
更多 发布于:2007-01-07 20:48
  我在文件过滤系统中看到要打开一个文件,而且可以写,只有三种方式:FILE_OVERWRITE_IF FILE_OPEN_IF   FILE_CREATE   我在测试威金病毒时,发现他并没有通过这些操作打开.就可以感染文件.请问为什么.我想感染文件还要是写吧..对不.
不知道是有其它方法,还有???
85    17:03:52    Logo1_.exe:1464    IRP_MJ_CREATE    D:\QQ\QQ.exe    SUCCESS    Attributes: N Options: Open    
86    17:03:52    Logo1_.exe:1464    FASTIO_QUERY_STANDARD_INFO    D:\QQ\QQ.exe    SUCCESS    Size: 1454080    
87    17:03:52    Logo1_.exe:1464    IRP_MJ_READ    D:\QQ\QQ.exe    SUCCESS    Offset: 0 Length: 1454080    
88    17:03:52    Logo1_.exe:1464    IRP_MJ_READ*    D:\QQ\QQ.exe    SUCCESS    Offset: 0 Length: 65536    
89    17:03:52    Logo1_.exe:1464    IRP_MJ_READ*    D:\QQ\QQ.exe    SUCCESS    Offset: 65536 Length: 65536    
90    17:03:52    Logo1_.exe:1464    IRP_MJ_READ*    D:\QQ\QQ.exe    SUCCESS    Offset: 131072 Length: 65536    
91    17:03:52    Logo1_.exe:1464    IRP_MJ_READ*    D:\QQ\QQ.exe    SUCCESS    Offset: 196608 Length: 65536    
92    17:03:52    Logo1_.exe:1464    IRP_MJ_READ*    D:\QQ\QQ.exe    SUCCESS    Offset: 262144 Length: 65536    
93    17:03:52    Logo1_.exe:1464    IRP_MJ_READ*    D:\QQ\QQ.exe    SUCCESS    Offset: 327680 Length: 65536    
94    17:03:52    Logo1_.exe:1464    IRP_MJ_READ*    D:\QQ\QQ.exe    SUCCESS    Offset: 393216 Length: 65536    
95    17:03:52    Logo1_.exe:1464    IRP_MJ_READ*    D:\QQ\QQ.exe    SUCCESS    Offset: 458752 Length: 65536    
96    17:03:52    Logo1_.exe:1464    IRP_MJ_READ*    D:\QQ\QQ.exe    SUCCESS    Offset: 524288 Length: 65536    
97    17:03:52    Logo1_.exe:1464    IRP_MJ_READ*    D:\QQ\QQ.exe    SUCCESS    Offset: 589824 Length: 65536    
98    17:03:52    Logo1_.exe:1464    IRP_MJ_READ*    D:\QQ\QQ.exe    SUCCESS    Offset: 655360 Length: 65536    
99    17:03:52    Logo1_.exe:1464    IRP_MJ_READ*    D:\QQ\QQ.exe    SUCCESS    Offset: 720896 Length: 65536    
100    17:03:52    Logo1_.exe:1464    IRP_MJ_READ*    D:\QQ\QQ.exe    SUCCESS    Offset: 786432 Length: 65536    
101    17:03:52    Logo1_.exe:1464    IRP_MJ_READ*    D:\QQ\QQ.exe    SUCCESS    Offset: 851968 Length: 65536    
102    17:03:52    Logo1_.exe:1464    IRP_MJ_READ*    D:\QQ\QQ.exe    SUCCESS    Offset: 917504 Length: 65536    
103    17:03:52    Logo1_.exe:1464    IRP_MJ_READ*    D:\QQ\QQ.exe    SUCCESS    Offset: 983040 Length: 65536    
104    17:03:52    Logo1_.exe:1464    IRP_MJ_READ*    D:\QQ\QQ.exe    SUCCESS    Offset: 1048576 Length: 65536    
105    17:03:52    Logo1_.exe:1464    IRP_MJ_READ*    D:\QQ\QQ.exe    SUCCESS    Offset: 1114112 Length: 65536    
106    17:03:52    System:4    IRP_MJ_CLOSE    D:\QQ\QQAllInOne.dll    SUCCESS        
107    17:03:52    Logo1_.exe:1464    IRP_MJ_READ*    D:\QQ\QQ.exe    SUCCESS    Offset: 1179648 Length: 65536    
108    17:03:52    Logo1_.exe:1464    IRP_MJ_READ*    D:\QQ\QQ.exe    SUCCESS    Offset: 1245184 Length: 65536    
109    17:03:52    Logo1_.exe:1464    IRP_MJ_READ*    D:\QQ\QQ.exe    SUCCESS    Offset: 1310720 Length: 65536    
110    17:03:52    Logo1_.exe:1464    IRP_MJ_READ*    D:\QQ\QQ.exe    SUCCESS    Offset: 1376256 Length: 65536    
111    17:03:52    Logo1_.exe:1464    IRP_MJ_READ*    D:\QQ\QQ.exe    SUCCESS    Offset: 1441792 Length: 12288    
112    17:03:52    System:4    IRP_MJ_CLOSE    D:\QQ\QQAddr.dll    SUCCESS        
113    17:03:52    Logo1_.exe:1464    FASTIO_READ    D:\QQ\QQ.exe    SUCCESS    Offset: 0 Length: 1454080    
114    17:03:52    Logo1_.exe:1464    FASTIO_QUERY_BASIC_INFO    D:\QQ\QQ.exe    SUCCESS    Attributes: A    
115    17:03:52    Logo1_.exe:1464    FASTIO_WRITE    D:\QQ\QQ.exe    FAILURE    Offset: 0 Length: 104448    
116    17:03:52    Logo1_.exe:1464    IRP_MJ_WRITE    D:\QQ\QQ.exe    SUCCESS    Offset: 0 Length: 104448    
117    17:03:52    Logo1_.exe:1464    FASTIO_WRITE    D:\QQ\QQ.exe    FAILURE    Offset: 104448 Length: 1454080    
118    17:03:52    Logo1_.exe:1464    IRP_MJ_WRITE    D:\QQ\QQ.exe    SUCCESS    Offset: 104448 Length: 1454080    
119    17:03:52    Logo1_.exe:1464    IRP_MJ_WRITE*    D:\QQ\QQ.exe    SUCCESS    Offset: 102400 Length: 65536    
120    17:03:52    Logo1_.exe:1464    IRP_MJ_WRITE*    D:\QQ\QQ.exe    SUCCESS    Offset: 167936 Length: 65536    
121    17:03:52    Logo1_.exe:1464    IRP_MJ_WRITE*    D:\QQ\QQ.exe    SUCCESS    Offset: 233472 Length: 28672    
122    17:03:52    Logo1_.exe:1464    IRP_MJ_WRITE*    D:\QQ\QQ.exe    SUCCESS    Offset: 262144 Length: 65536    
123    17:03:52    Logo1_.exe:1464    IRP_MJ_WRITE*    D:\QQ\QQ.exe    SUCCESS    Offset: 327680 Length: 65536    
124    17:03:52    Logo1_.exe:1464    IRP_MJ_WRITE*    D:\QQ\QQ.exe    SUCCESS    Offset: 393216 Length: 65536    
125    17:03:52    Logo1_.exe:1464    IRP_MJ_WRITE*    D:\QQ\QQ.exe    SUCCESS    Offset: 458752 Length: 65536    
126    17:03:52    Logo1_.exe:1464    IRP_MJ_WRITE*    D:\QQ\QQ.exe    SUCCESS    Offset: 524288 Length: 65536    
127    17:03:52    Logo1_.exe:1464    IRP_MJ_WRITE*    D:\QQ\QQ.exe    SUCCESS    Offset: 589824 Length: 65536    
128    17:03:52    Logo1_.exe:1464    IRP_MJ_WRITE*    D:\QQ\QQ.exe    SUCCESS    Offset: 655360 Length: 65536    
129    17:03:52    Logo1_.exe:1464    IRP_MJ_WRITE*    D:\QQ\QQ.exe    SUCCESS    Offset: 720896 Length: 65536    
130    17:03:52    Logo1_.exe:1464    IRP_MJ_WRITE*    D:\QQ\QQ.exe    SUCCESS    Offset: 786432 Length: 65536    
131    17:03:53    Logo1_.exe:1464    IRP_MJ_WRITE*    D:\QQ\QQ.exe    SUCCESS    Offset: 851968 Length: 65536    
132    17:03:53    Logo1_.exe:1464    IRP_MJ_WRITE*    D:\QQ\QQ.exe    SUCCESS    Offset: 917504 Length: 65536    
133    17:03:53    Logo1_.exe:1464    IRP_MJ_WRITE*    D:\QQ\QQ.exe    SUCCESS    Offset: 983040 Length: 65536    
134    17:03:53    Logo1_.exe:1464    IRP_MJ_WRITE*    D:\QQ\QQ.exe    SUCCESS    Offset: 1048576 Length: 65536    
135    17:03:53    Logo1_.exe:1464    IRP_MJ_WRITE*    D:\QQ\QQ.exe    SUCCESS    Offset: 1114112 Length: 65536    
136    17:03:53    Logo1_.exe:1464    IRP_MJ_WRITE*    D:\QQ\QQ.exe    SUCCESS    Offset: 1179648 Length: 65536    
137    17:03:53    Logo1_.exe:1464    IRP_MJ_WRITE*    D:\QQ\QQ.exe    SUCCESS    Offset: 1245184 Length: 65536    
138    17:03:53    Logo1_.exe:1464    IRP_MJ_READ*    D:\QQ\QQ.exe    SUCCESS    Offset: 1556480 Length: 4096    
139    17:03:53    Logo1_.exe:1464    FASTIO_WRITE    D:\QQ\QQ.exe    SUCCESS    Offset: 99828 Length: 744    
140    17:03:53    Logo1_.exe:1464    IRP_MJ_SET_INFORMATION    D:\QQ\QQ.exe    SUCCESS    FileBasicInformation    
141    17:03:53    Logo1_.exe:1464    IRP_MJ_CLEANUP    D:\QQ\QQ.exe    SUCCESS    
以上是filemon查看的.
sc_wolf
驱动小牛
驱动小牛
  • 注册日期2006-09-03
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分35分
  • 威望278点
  • 贡献值1点
  • 好评度150点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2007-01-10 21:04
晕...不过.我用新版的FILEMON得到下面一段代码:大家帮我看一下吧.谢谢.726    21:49:00    Logo1_.exe:1596    OPEN    E:\winbox.exe    SUCCESS    Options: Open  Access: 0012019F
这个ACCESS:是不是对应CREATEFILE中的DesiredAccess中对应的值,或者说是在IRP中的irpSp->Parameters.Create.SecurityContext->DesiredAccess,对不?
有没有人可以告诉我,这个参数中最基本的值是那几个.我看到里面的定义头都大了....
我只想知道,写文件可能会用到那几个值.谢谢

请帮助我.谢谢
lsxredrain
驱动中牛
驱动中牛
  • 注册日期2006-08-31
  • 最后登录2008-10-18
  • 粉丝1
  • 关注0
  • 积分540分
  • 威望421点
  • 贡献值1点
  • 好评度420点
  • 原创分4分
  • 专家分0分
板凳#
发布于:2007-01-09 17:50
可以绕过文件过滤驱动的,刚才在网上看到一篇文章说可以饶过去的,
4.绕过文件系统过滤驱动和钩子

  有了第三部分的内容,我们目前可以直接给FSD发送请求操作文件。但是这还不够,因为有很多的杀毒软件或者监视工具使用FSD Filter Driver或者FSD Hook的办法来监控文件操作。在今天这篇文章里我讲一些原理性的东西,提供绕过FSD Filter Driver / FSD Hook的思路。

4.1对付文件系统过滤驱动

  文件系统过滤驱动Attach在正常的文件系统之上,监视和过滤我们的文件访问。文件系统驱动栈就是由这一连串的Attach起来的过滤驱动组成。我们可以用IoGetRelatedDeviceObject这个函数来获得一个FileObject对应的最底层的那个功能驱动对象(FDO)。但是这样虽然绕过了那些过滤驱动,却同时也绕过了正常的FSD如Ntfs/Fastfat,因为正常的FSD也是作为一个过滤驱动存在的。磁盘文件对象的对应的最底层的FDO是Ftdisk.sys,它已经因为过于底层而不能处理我们投递的IRP请求。
  其实正常的FSD信息存储在一个Vpb结构中,我们可以使用IoGetBaseFileSystemDeviceObject这个未公开的内核函数来得到它。它就是我们发送IRP的目标了。

4.2对付替换DispatchRoutine的FSD Hook

  这是一种常用的FSD Hook方式。我们需要得到原本的DispatchRoutine,向原本的DispatchRoutine发送我们的IRP。这里提供一个思路:我们可以读取原本FSD驱动的.INIT段或者.TEXT段,查找其DriverEntry函数,在它的DriverEntry函数中肯定设置了自己的DriverObject的各个DispatchRoutine。在这个函数中我们就能找到我们想要的DispatchRoutine的地址。只需要使用特征码搜索的方法就可以搜索到这个值。

4.3对付Inline Hook DispatchRoutine函数本身的FSD Hook

  这种Hook方法比较狠毒,但不是非常常见于安全产品中,一般应用在木马和rootkit上,比如我自己写的rootkit。它没有更改DriverObject里面的DispatchRoutine的函数指针,而是向函数开头写入汇编指令的JMP来跳转函数。对付它的基本思路就是读取存在磁盘上的FSD的文件,加载到内存一份干净的备份,察看我们要调用的DispatchRoutine开头的几个字节和这个干净备份是否一致。如果不一致,尤其是存在JMP,RET,INT3一类的汇编指令的时候,很可能就是存在了Inline Hook。(但要充分考虑重定位的情况。)如果存在Inline Hook,我们就把干净的函数开头拷贝过来覆盖掉被感染的函数头。然后在发送IRP,就不会被Inline Hook监视或篡改了。


http://www.xfocus.net/articles/200602/848.html
wavecb
驱动牛犊
驱动牛犊
  • 注册日期2005-04-04
  • 最后登录2009-12-25
  • 粉丝0
  • 关注0
  • 积分120分
  • 威望12点
  • 贡献值0点
  • 好评度12点
  • 原创分0分
  • 专家分0分
地板#
发布于:2007-01-08 19:19
没有看到在那里打开的
waterice_2005
驱动牛犊
驱动牛犊
  • 注册日期2006-02-15
  • 最后登录2007-02-05
  • 粉丝0
  • 关注0
  • 积分250分
  • 威望26点
  • 贡献值0点
  • 好评度25点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2007-01-08 15:24
RP_MJ_WRITE不就是再写嘛!哈哈
冰水混合物
sc_wolf
驱动小牛
驱动小牛
  • 注册日期2006-09-03
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分35分
  • 威望278点
  • 贡献值1点
  • 好评度150点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2007-01-08 12:12
为什么没有人回答..急呀.各位兄弟,帮我一下...
85   17:03:52   Logo1_.exe:1464   IRP_MJ_CREATE   D:\QQ\QQ.exe   SUCCESS   Attributes: N Options: Open
这一句是不是只是打开.那后面怎么会可以写呢.各位帮我看一下吧.或者说这一句表示别的意思..谢谢..请指点...
游客

返回顶部