Board logo

标题: [其他] Streams:安全警告与解除锁定-Zone.Identifier [打印本页]

作者: hanyeguxing    时间: 2011-1-2 10:06     标题: Streams:安全警告与解除锁定-Zone.Identifier

官方下载地址:http://download.sysinternals.com/Files/Streams.zip
  我们从网上下载一些文件,在打开他们的时候,会有如下的提示:


  如果单击“取消”,该文件或程序会被打开而运行。
  如果单击“运行”,该文件或程序会被打开或运行。

  以后在每次打开时,都会有这个对话框出现。如果确认该文件为安全,可以在单击“运行”之前,取消“打开此文件前总是询问”的勾选。

  当然,也可以右键单击“属性”,在“常规”选项卡下,会多出一个“安全”的条目,如下图:


  在这里,单击“解除锁定”,变化如下图:


  这样也可以使该文件在下次打开时,不出现安全警告。再此右键单击“属性”,在“常规”选项卡下,就看不到“安全”的条目了,如下图:


1,原理:
  Microsoft Internet Explorer 是一款流行的WEB浏览器。
  Windows XP SP2 增加了新的 Windows Internet Explorer 相关的域识别对象(Zone Identifier Object)。在 XP SP2 中,使用 Internet Explorer 或者 Outlook Express 从不可信区域下载文件域识别对象标记为“3”,存储在 ADS( Additional Data Stream 交换数据流)中,如下图:


  如果本地用户尝试执行文件,用户会被如下的提示:


  Zone.Identifier 内容如下的数据流:

[ZoneTransfer]
ZoneId=3


2,说明:

  由于该数据流属于 NTFS 数据流的一部分,所以必须有以下先决条件:

3,漏洞:

  但是 Windows Explorer 缓存文件的域 ID,不能识别文件的域 ID 的更改。如果使用指示不可信域的区域 ID 文件覆盖可信任域 ID 文件,那么覆盖的文件在被 Windows Explorer 打开时,就不会提示警告信息,而导致不信任文件盲目的被执行。

4,语法:


Usage: streams [-s] [-d] <file or directory>
本文转自http://blog.sina.com.cn/s/blog_51a4af870100biha.html
-s包含子目录.
-d删除数据流.
支持通配符 e.g. 'streams *.txt'.
本文转自http://blog.sina.com.cn/s/blog_51a4af870100biha.html


5,下载:

下载地址:Streams v1.56

6,使用:

  将 streams.zip 解压缩得到 streams.exe ,并将 streams.exe 复制到 %SystemRoot%\system32\ 目录下。然后在 CMD 下运行 streams /? ,显示其帮助语法,如下:

C:\WINDOWS\system32\CMD.exe本文转自http://bbs.bathome.net/thread-10605-1-1.html

Microsoft Windows XP [版本 5.1 2600]
<C> 版权所有 1985-2001 Microsoft Corp.

本文转自http://bbs.bathome.net/thread-10605af870100biha.html
C:\Documents and Settings\寒夜孤星>streams /?
Streams v1.56 - Enumerate alternate NTFS data streams
Copyright (C) 1999-2007 Mark Russinovich
Sysinternals -
www.sysinternals.com
本文转自http://bbs.bathome.net/thread-10605af870100biha.html
usage: streams [-s] [-d] <file or directory>
-s     Recurse subdirectories
-d     Delete streams

本文转自http://bbs.bathome.net/thread-10605af870100biha.html
C:\Documents and Settings\寒夜孤星>


  CMD 下运行 streams -s D:\ ,在 D 盘及其所有子目录下查找含有交换数据流的文件,其输出的:
D:\寒夜孤星.exe:
   :Zone.Identifier:$DATA 26

为枚举出所有含有交换数据流的文件。如下:

C:\WINDOWS\system32\CMD.exe本文转自http://bbs.bathome.net/thread-10605-1-1.html

Microsoft Windows XP [版本 5.1 2600]
<C> 版权所有 1985-2001 Microsoft Corp.

本文转自http://bbs.bathome.net/thread-10605af870100biha.html
C:\Documents and Settings\寒夜孤星>streams -s D:\
Streams v1.56 - Enumerate alternate NTFS data streams
Copyright (C) 1999-2007 Mark Russinovich
Sysinternals -
www.sysinternals.com
本文转自http://bbs.bathome.net/thread-10605af870100biha.html
D:\寒夜孤星.exe:
   :Zone.Identifier:$DATA 26

本文转自http://bbs.bathome.net/thread-10605af870100biha.html
C:\Documents and Settings\寒夜孤星>


  CMD 下运行 streams D:\寒夜孤星.exe ,这里的 D:\寒夜孤星.exe 就是我们要检查的文件,其输出的:
D:\寒夜孤星.exe:
   :Zone.Identifier:$DATA 26

表明此文件存在 NTFS 数据流。如下:

C:\WINDOWS\system32\CMD.exe本文转自http://bbs.bathome.net/thread-10605-1-1.html

Microsoft Windows XP [版本 5.1 2600]
<C> 版权所有 1985-2001 Microsoft Corp.

本文转自http://bbs.bathome.net/thread-10605af870100biha.html
C:\Documents and Settings\寒夜孤星>streams D:\寒夜孤星.exe
Streams v1.56 - Enumerate alternate NTFS data streams
Copyright (C) 1999-2007 Mark Russinovich
Sysinternals -
www.sysinternals.com
本文转自http://bbs.bathome.net/thread-10605af870100biha.html
D:\寒夜孤星.exe:
   :Zone.Identifier:$DATA 26

本文转自http://bbs.bathome.net/thread-10605af870100biha.html
C:\Documents and Settings\寒夜孤星>


  CMD 下运行 streams -d D:\寒夜孤星.exe ,这里的 D:\寒夜孤星.exe 就是我们要操作的文件,其中:
D:\寒夜孤星.exe:
   Deleted :Zone.Identifier:$DATA

[size=+0]表示删除交换数据流并成功完成操作。如下:

C:\WINDOWS\system32\CMD.exe本文转自http://bbs.bathome.net/thread-10605-1-1.html

Microsoft Windows XP [版本 5.1 2600]
<C> 版权所有 1985-2001 Microsoft Corp.

本文转自http://bbs.bathome.net/thread-10605af870100biha.html
C:\Documents and Settings\寒夜孤星>streams -d D:\寒夜孤星.exe
Streams v1.56 - Enumerate alternate NTFS data streams
Copyright (C) 1999-2007 Mark Russinovich
Sysinternals -
www.sysinternals.com
本文转自http://bbs.bathome.net/thread-10605af870100biha.html
D:\寒夜孤星.exe:
   Deleted :Zone.Identifier:$DATA

本文转自http://bbs.bathome.net/thread-10605af870100biha.html
C:\Documents and Settings\寒夜孤星>


  CMD 下运行 streams D:\寒夜孤星.exe ,这里的 D:\寒夜孤星.exe 就是我们要检查的文件,其输出的为空,表明此文件不存在 NTFS 数据流(因为刚才删除了交换数据流)。如下:

C:\WINDOWS\system32\CMD.exe本文转自http://bbs.bathome.net/thread-10605-1-1.html

Microsoft Windows XP [版本 5.1 2600]
<C> 版权所有 1985-2001 Microsoft Corp.

本文转自http://bbs.bathome.net/thread-10605af870100biha.html
C:\Documents and Settings\寒夜孤星>streams D:\寒夜孤星.exe
Streams v1.56 - Enumerate alternate NTFS data streams
Copyright (C) 1999-2007 Mark Russinovich
Sysinternals -
www.sysinternals.com
本文转自http://bbs.bathome.net/thread-10605af870100biha.html
C:\Documents and Settings\寒夜孤星>


  CMD 下运行 streams -s D:\ ,在 D 盘极其所有子目录下查找含有交换数据流的文件,其输出的:
No files with streams found.
表明 D 盘及其所有子目录下不存在含有交换数据流的文件(因为刚才删除了交换数据流)。如下:

C:\WINDOWS\system32\CMD.exe本文转自http://bbs.bathome.net/thread-10605-1-1.html

Microsoft Windows XP [版本 5.1 2600]
<C> 版权所有 1985-2001 Microsoft Corp.

本文转自http://bbs.bathome.net/thread-10605af870100biha.html
C:\Documents and Settings\寒夜孤星>streams -s D:\
Streams v1.56 - Enumerate alternate NTFS data streams
Copyright (C) 1999-2007 Mark Russinovich
Sysinternals -
www.sysinternals.com
本文转自http://bbs.bathome.net/thread-10605af870100biha.html
No files with streams found.
本文转自http://bbs.bathome.net/thread-10605af870100biha.html
C:\Documents and Settings\寒夜孤星>


[ 本帖最后由 hanyeguxing 于 2011-1-2 11:03 编辑 ]
作者: BillGates    时间: 2011-1-2 19:19

厉害,值得支持呀!
作者: gudou    时间: 2011-1-4 10:01

老实说,没大明白这工具的意义……以为是能把普通的可执行文件“变成”从网上下载后那种提示呢……

原来是删除
作者: hanyeguxing    时间: 2011-1-5 08:43     标题: 回复 3楼 的帖子

1,此工具是用来批量检查和删除的
2,对于楼主的问题,使用记事本或简单的 echo 命令就可以做到,参考这里 http://bbs.bathome.net/thread-10653-1-1.html

[ 本帖最后由 hanyeguxing 于 2011-1-5 10:22 编辑 ]
作者: cqwangbobo    时间: 2014-2-26 21:43

版主能否多举一些实例。先谢谢了!
作者: CrLf    时间: 2014-4-24 00:30

本帖最后由 CrLf 于 2014-4-29 00:58 编辑

纯批也可以这样应付安全警告:
  1. @echo off
  2. if /i /%1==//r set f=/r&shift
  3. set patt=*
  4. if exist "%~1" set "patt=%~1"
  5. for %f% %%a in (%patt%) do (
  6.    for /f %%b in (%%~sa:Zone.Identifier) do (
  7.       echo 在 %%a 中发现安全警告
  8.    ) 3>%%a:Zone.Identifier
  9. )
  10. pause
复制代码

作者: 无忧    时间: 2017-5-16 17:38

回复 6# CrLf
  1. set patt=*
  2. if exist "%~1" set "patt=%~1"
复制代码
这两句什么意思啊?
作者: CrLf    时间: 2017-5-16 20:38

回复 7# 无忧


    如果参数中存在文件,则处理指定文件,否则默认处理目录下所有文件
作者: freesoft00    时间: 2017-5-16 21:56

3,漏洞:

  但是 Windows Explorer 缓存文件的域 ID,不能识别文件的域 ID 的更改。如果使用指示不可信域的区域 ID 文件覆盖可信任域 ID 文件,那么覆盖的文件在被 Windows Explorer 打开时,就不会提示警告信息,而导致不信任文件盲目的被执行。

这句不太明白,有什么漏洞,就是文件带有这个数据流还不好呢?是这个意思?




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2