|
网站首页
|
数据恢复资料
|
数据恢复软件
|
咨询留言
|
数据恢复博客
|
数据恢复论坛
|
您现在的位置:
北亚数据恢复技术站
>>
数据恢复资料
>>
相关编程资料
>> 文章正文
Alternate Data Streams in NTFS
【字体:
小
大
】
Alternate Data Streams in NTFS
作者:a 文章来源:网络 点击数: 更新时间:2009-5-4
[翻译]FAQ: NTFS中的交换数据流
Sec斑竹的转贴, [转帖]FAQ: Alternate Data Streams in NTFS
原贴在此:
http://www.hacker.com.cn/forum/view_116471.html
下面是我的翻译, 翻译不好, 大家见笑了.
[转帖]FAQ: NTFS中的交换数据流
NTFS是啥?
是New Technology File System的简称 ---Windows NT 推荐的文件系统
交换数据流是啥?
>>在NTFS中, 一个文件存在不同的数据流. 有一个流保存着安全信息(访问权限什么的啦), 另一个保存这文件中你认为的真实数据. 如果这个文件确实是一个链接文件, 那么也可能有什么别的流带着链接信息替换原来的真实数据流. 还可能存在交换数据流, 它保存数据的方式和标准的数据流一样.
交换数据流出什么毛病了?
>>我可以说: 没毛病. 他们就像所期望的和文档(对, Microsoft 将这一特性文档化了)中描述的一样, 很好地运作.
>>但是等等, 这里存在一些问题: 他们是完全不可见的. 你可以得到这么一个文件, 它的主数据流中只有1 byte, 而在交换数据流中包含着几百MB的数据. 那么你预料一下, 用dir命令, 文件管理器或者explorer来显示这个文件的容量是怎样的结果? 1 byte!
这就意味着用户可以在交换数据流中隐藏一大堆数据而不会有任何人知道?
>>是这样的.
但是一个用户需要某些特殊的权限来使用交换数据流?
>>不需要, 甚至是guest用户也能创建这样的文件流, 只要他有写这个文件的权限.
怎样创建一个ADS?
>>你可以在命令提示符下创建,就像 `notepad visible.txt:hidden.txt .这样就在visible.txt中创建了一个隐藏的流hidden.txt. 这个文件的存在与否其实没有关系。
怎样将数据copy进ADS?
>>`type atextfile > visible.txt:hidden2.txt.
>>这样将会在visible.txt中创建了另一个隐藏的流hidden2.txt.
怎样从ADS中copy文本数据到正常的文件?
>>`more < visible.txt:hidden2.txt > newfile.txt.
>>这样将会用visible.txt中的隐藏流hidden2.txt的数据建立一个文件newfile.txt.
怎样从ADS中copy二进制数据到正常的文件?
>>`cat < visible.txt:hidden.exe > hack.exe.
>>这样将会用visible.txt中的隐藏流hidden.exe的数据建立一个文件hack.exe.(Cat是Windows资源工具包中的一个工具).
怎样删除一个ADS?
>>假设你知道有一个文件important.exe 中附着有一个ADS. 这个文件非常重要而这个ADS非常危险. 你必须保持主数据流并且删除其ADS. 那么我们假设你的网络中没有FAT驱动器, 否则你可以将这个文件移动到这个驱动器再将它移动回原位来清除ADS. 那么现在你所需要做:
>> `ren important.exe temp.exe
>> `cat temp.exe > important.exe
>> `del temp.exe
>>上文的方法在ADS附加到目录上时并不奏效. 如果你要删除这么一个ADS, 比如说 >>c:\Windows:harmful.exe 而不必重新安装Windows, 你得用到下面这个小技巧. >>(如果你用的是NT 5.x的内核, 那么你需要一份NT 4中的notepad.exe)
>>用这个notepad打开ADS
>>`C:\NT4Tools\Notepad.exe c:\Windows:harmful.exe
>>将ADS的内容全部删除
>>关闭notepad时, 会提示文档已经变化, 问你你是否保存
>>回答Yes
>>这样, notepad会告诉你文件是空的并且会删除它
>.现在解决了, ADS已经和你say good bye了.
能将ADS而不是一个文件添加到入口目录吗?
>>可以.
Microsoft有没有提供什么可能的方法检查在我的NTFS 分区中是否存在ADS?
>>你期待他们关注吗?
>>当然;-)只需要访问
>>
http://msdn.microsoft.com/library/en-us/dnfiles/html/ntfs5.asp
>>出了一些背景信息和例子代码, 他们还提供了一个NTSFext.exe的下载链接. 它包含了strmext.dll, 只需把它放到system32下然后运行命令:
>>`regsvr32 StrmExt.dll
>>现在你的Windows Explorer在显示文件属性时有了一个新标签. 虽然它对于搜索一个ADS没有什么帮助, 但是如果你已经知道某文件包含ADS时, 它就很有用了.
>>为了让这个标签在文件夹上也能用, 你需要添加如下的注册表项
>>HKEY_CLASSES_ROOT\Directory\shellex\PropertySheetHandlers\{C3ED1679-814B-4DA9-AB00-1CAC71F5E337}
>>为了让这个标签在驱动器上也能用, 你需要添加如下的注册表项
>>HKEY_CLASSES_ROOT\Drive\shellex\PropertySheetHandlers\{C3ED1679-814B-4DA9-AB00-1CAC71F5E337}
>>从6.0版(Vista)开始, dir命令有了一个选项 /R
>>但是如果硬盘分区的可用部分和已用部分远远小于他的容量, 那么我就需要一个检测我NTSF分区中ADS的方法了. 对此我开发了一个命令行工具叫做LADS(List Alternate Data Streams), 它能扫描所有驱动器或者给出的文件夹. 它将列出所有找到的ADS的文件名和体积. 你可以下载当前的LADS的免费版本. 这个软件按原样提供,不做任何形式的保证, 使用时请自己承担风险
#ShellEx注, 后面都是些关于LADS的内容, 我只翻译必要的.
运行LADS需要怎样的权限?
>>该程序是为管理员打造的一个工具. 作为Administrator, 正常情况下你已经有了必要的权限. 错误消息"访问被禁止"是不会出现的. 如果出现这种情况, 请确认你的帐号有Backup权限~
LADS不可用?
如果我键入如下命令
C:\TEMP\t>echo Hallo > t
C:\TEMP\t>echo My Secret > t:secret
LADS没能在C:\TEMP\t\t:secret发现ADS!
>>这里没有问题 ;-)
>>在第二行命令中, 你并没有创建一个ADS, 但是你在驱动器他t:\下创建了一个文件secret
>>用完整的路径和文件名再试试,
>>C:\TEMP\t>echo My Secret > C:\TEMP\t:secret
>>或者用相对路径
>>C:\TEMP\t>echo My Secret > .\t:secret
我能在DOS启动盘运行LADS吗?
>>这个程序使用了Windows NT相关的API函数, 因此它需要运行在Windows NT内核的系统上(如 NT4, W2k, WinXP)
LADS怎样检测一个ADS?
>>在NTFS中, 文件的每一个流都有一个头结构. LADS读出这个头, 如果它只与一个ADS关联就显示出来.
LADS是一个安全相关的工具, 为什么我不能免费得到他的源代码? 我得到的仅仅是exe文件, 而我用不着它.
>>根据你的逻辑, 你很可能根本用不着LADS. 如果你只使用完全开源的软件, 那么你将不会用任何版本的Windows NT. 那么你为什么要用LADS呢?
>>我不会强制任何人用LADS, 另外, 这个程序没有对文件系统进行任何修改, 它只是在操作系统的API函数的帮助下读出可用信息而已.
我在哪能得到关于ADS的更多信息?
>>看 H. Carvey的<The Dark Side of NTFS >
我的很多文件中都存在一个26字节的标识符[ZoneTransfer] ZoneID=3, 为什么?
>>这个信息存在于XP或者更新的系统, 这说明这个文件使用IE从Zone 3(Internet)下载
文章录入:a 责任编辑:a
上一篇文章:
MySql noinstall-5.1.34-win32 配置
下一篇文章:
攻破Windows加密保护之EFS解密
【
发表评论
】【
加入收藏
】【
告诉好友
】【
打印此文
】【
关闭窗口
】
网友评论:
(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
关于我们
|
RAID数据恢复
|
友情链接
|
RSS生成
|
XML生成
|
文章HTML地图
|
下载HTML地图
版权所有 北亚数据恢复中心
全国统一客服电话:4006-505-808
北京市海淀区永丰基地丰慧中路7号新材料创业大厦B座205室
京ICP备05011939