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

关于威金病毒

楼主#
更多 发布于:2007-01-07 20:46
  我在文件过滤系统中看到要打开一个文件,而且可以写,只有三种方式: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查看的.
下面附上威金病毒程序
附件名称/大小 下载次数 最后更新
Logo1_主体病毒样本.rar (34KB)  105 2007-01-07 20:46
sc_wolf
驱动小牛
驱动小牛
  • 注册日期2006-09-03
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分35分
  • 威望278点
  • 贡献值1点
  • 好评度150点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2007-01-07 20:47
请各位老指点..谢谢
lsxredrain
驱动中牛
驱动中牛
  • 注册日期2006-08-31
  • 最后登录2008-10-18
  • 粉丝1
  • 关注0
  • 积分540分
  • 威望421点
  • 贡献值1点
  • 好评度420点
  • 原创分4分
  • 专家分0分
板凳#
发布于:2007-01-09 13:13
可以绕过文件过滤驱动的,刚才在网上看到一篇文章说可以饶过去的,
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
firstrat
驱动牛犊
驱动牛犊
  • 注册日期2007-01-17
  • 最后登录2007-01-17
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望2点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
地板#
发布于:2007-01-17 19:53
各位高手,还在研究怎么对付杀毒软件呢?
还是先告诉我怎么解决掉这个病毒吧,用杀毒软件杀完重新启动,winRAR的图标就又变形了,苦恼啊!
我的邮箱是:jj_jiangjun@163.com
我在这里先谢过了!
BruceWanng
驱动牛犊
驱动牛犊
  • 注册日期2008-01-18
  • 最后登录2008-03-27
  • 粉丝0
  • 关注0
  • 积分130分
  • 威望14点
  • 贡献值0点
  • 好评度13点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2008-01-18 15:06
学习学习!
游客

返回顶部