加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

什么是NTFS备用数据流(ADS)?

(2025-01-10 14:46:52)
分类: Windows

在 NTFS 文件系统中,每个文件至少有一个数据流,称为主数据流。这是我们通常看到和操作的文件内容。ADS 允许文件拥有额外的、隐藏的数据流,这些数据流与主数据流关联,但默认情况下不会在 Windows 资源管理器中显示。

你可以把 ADS 想象成一个文件有多个“标签”,每个标签上都可以写东西。主数据流是主要的标签,而 ADS 则是隐藏的标签。

ADS 的用途:

  • 存储元数据: 一些应用程序使用 ADS 存储关于文件的额外信息,例如摘要、作者信息等。
  • 隐藏数据: 恶意软件或黑客可能会利用 ADS 将恶意代码或数据隐藏在看似无害的文件中,从而逃避检测。
  • 存储下载来源信息: 浏览器有时会使用 ADS 存储文件是从哪个 URL 下载的。

如何创建和访问 ADS:

可以使用命令行工具(例如 echotype>)或 PowerShell 来创建和访问 ADS。

  • 使用命令行创建 ADS:

    echo "This is hidden data." > file.txt:hidden.txt
    
    

    这条命令会将文本 "This is hidden data." 写入 file.txt 的一个名为 hidden.txt 的 ADS 中。注意,file.txt 的大小不会改变。

  • 使用命令行查看 ADS:

    dir /r
    
    

    dir /r 命令会显示文件及其关联的 ADS。例如,如果 file.txt 有一个 hidden.txt 的 ADS,你会看到类似这样的输出:

    2024/10/27  10:00                 0 file.txt
                                  26 file.txt:hidden.txt:$DATA
    
    
  • 使用命令行读取 ADS:

    type file.txt:hidden.txt
    
    

    这条命令会将 file.txthidden.txt ADS 中的内容显示出来。

  • 使用 PowerShell 创建 ADS:

    PowerShell
    Set-Content -Path "file.txt" -Stream "hidden.txt" -Value "This is hidden data."
    
    
  • 使用 PowerShell 读取 ADS:

    PowerShell
    Get-Content -Path "file.txt" -Stream "hidden.txt"
    
    

ADS 的检测和清除:

由于 ADS 默认情况下是隐藏的,因此需要特殊的工具或命令来检测和清除它们。

  • dir /r 命令: 如上所述,dir /r 可以列出文件及其关联的 ADS。
  • Streams 工具: Sysinternals 提供的 Streams 工具是一个专门用于检测和清除 ADS 的命令行工具。你可以从 Microsoft 官网下载它。
  • PowerShell: 可以使用 PowerShell 脚本来扫描和清除 ADS。

ADS 与安全:

ADS 可能会被恶意软件利用来隐藏恶意代码,因此需要注意以下几点:

  • 定期扫描文件系统: 使用杀毒软件或专门的 ADS 检测工具定期扫描文件系统,以检测潜在的恶意 ADS。
  • 谨慎处理未知来源的文件: 不要轻易运行未知来源的文件,尤其是在 Windows XP 等较旧的操作系统上,因为在这些系统上,可以直接执行 ADS 中的可执行文件。在较新的 Windows 系统中,虽然不能直接执行 ADS 中的可执行文件,但仍然可以通过其他方式利用 ADS。

总结:

NTFS 备用数据流 (ADS) 是一种强大的文件系统特性,可以用于存储额外的数据。然而,它也可能被滥用,因此需要了解其工作原理以及如何检测和清除 ADS。

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有