GhostTree:Windows路径操纵技术让EDR全面失效

admin 2026-05-27 05:41:13 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: GhostTree是一种利用NTFS连接点创建路径递归循环的技术,通过构造二叉树结构产生指数级路径爆炸,使EDR文件夹扫描陷入无限递归而失效。研究证实该技术可有效隐藏恶意软件,微软认为属于检测规避而非安全漏洞。文档提供了监控连接点创建、分析文件访问模式等防御建议,并指出需从签名扫描转向行为分析。 综合评分: 75 文章分类: 漏洞分析,终端安全,内网渗透,安全工具,威胁情报


cover_image

GhostTree:Windows路径操纵技术让EDR全面失效

原创

Red Hunter Red Hunter

黑白之道

2026年5月25日 07:55 江西

在小说阅读器读本章

去阅读

导语:大多数安全团队认为NTFS连接点和符号链接只是小众的文件系统功能。然而安全研究人员的最新发现证明,通过巧妙的路径构造,任何普通用户都可以创建递归循环,让EDR的文件夹扫描功能陷入死循环——恶意文件就此消失于无形。

一、NTFS连接点基础知识

在深入GhostTree之前,我们需要了解NTFS的两种重解析点(Reparse Point):

符号链接(Symbolic Link):可以指向文件或目录,跨越卷操作 连接点(Junction):仅可指向目录,本卷内操作

这两种功能都是Windows为兼容性和灵活性而设计的,正常情况下需要管理员权限才能创建——但有一个例外:用户创建的连接点不需要特殊权限,只需要目标文件夹的写权限。

二、GhostBranch:基础的单点循环

2.1 原理

GhostBranch是GhostTree的基础技术。它的核心思想非常简单:

# 创建子文件夹
mkdir C:\test\child

# 将child指向其父文件夹C:\test
mklink /J C:\test\child C:\test

结果是什么?C:\test\child既是C:\test的子文件夹,又指向C:\test本身。这创建了一个逻辑循环。

2.2 路径爆炸效果

通过这个结构,可以生成无限多的有效路径:

C:\test\child\child\child\...
C:\test\child\child\child\child\...

所有这些路径都指向同一个地方——但Windows认为它们都是有效的。

三、GhostTree:二叉树结构的路径迷宫

GhostTree在GhostBranch的基础上引入多个子文件夹,产生指数级的路径爆炸:

3.1 创建方法

# 创建两个子文件夹
mkdir C:\parent\P
mkdir C:\parent\B

# 将它们都指向父文件夹
mklink /J C:\parent\P C:\parent
mklink /J C:\parent\B C:\parent

3.2 路径多样性

现在每一层路径可以在”P”和”B”之间选择:

C:\parent\P\P\P\P...
C:\parent\B\B\B\B...
C:\parent\P\B\P\B...

随着路径增长,可能的路径数量呈指数增长:

数学计算

  • 单层最大深度约126个文件夹(受路径长度限制)
  • 每层2种选择(P或B)
  • 总路径数 = 2^126 ≈ 8.5×10^18

这个数字已经超过地球上沙粒的总数。

四、为什么这能绕过EDR?

4.1 EDR的扫描机制

现代EDR产品普遍使用文件夹扫描作为恶意软件检测手段之一。当EDR安装时,它会扫描系统中的关键文件夹,寻找已知的恶意文件特征。

4.2 遭遇GhostTree的场景

假设攻击者:

  1. 在某文件夹中放置恶意软件
  2. 创建GhostTree结构
  3. 当EDR尝试递归扫描该文件夹时…

EDR会陷入无限递归,因为每进入一层,理论上都有两个新的子文件夹,而它们都循环回父文件夹。实际扫描会达到Windows路径长度限制(约260字符),但此时已经扫描了亿亿计的”假”路径。

结果:扫描永远无法完成,恶意文件从未被检测。

五、实测效果

安全研究人员测试了GhostTree对Windows Defender的影响:

# 创建一个GhostTree结构
mkdir C:\malicious\P
mkdir C:\malicious\B
mklink /J C:\malicious\P C:\malicious
mklink /J C:\malicious\B C:\malicious

# 放置恶意软件
copy malware.exe C:\malicious\

使用Windows Defender进行文件夹扫描时,系统会陷入长时间的扫描状态,最终超时——恶意文件保持未检测状态。

六、Microsoft回应

研究人员向微软报告了这一问题。微软的回应是:

“绕过高德纳终端防御不是跨越安全边界”

换句话说,微软认为这只是”规避检测”而非真正的安全漏洞,因此不予修复。这与微软对”边界内”攻击的传统定义一致。

不过研究人员指出,这种技术确实可以被用于实际的攻击场景,不仅仅是”检测规避”。

七、检测与防御建议

7.1 监控junction创建

安全团队应该在SIEM中创建规则,监控异常数量的连接点创建:

# 监控 Junction 创建的 PowerShell 脚本
Get-WinEvent -FilterHashtable @{LogName="Security";ID=4657} |
    Where-Object {$_.Message -match "mklink"} |
    Select-Object TimeCreated, ProcessName, TargetName

7.2 文件访问模式分析

EDR应该监控以下异常行为:

  • 短时间内对同一文件的多次不同路径访问
  • 递归扫描过程中的异常超时
  • Junction创建事件与后续文件写入的关联

7.3 缓解措施

短期

  • 部署专门检测GhostTree的EDR规则
  • 监控Junction创建事件
  • 限制普通用户创建连接点的能力(通过组策略)

长期

  • EDR需要实现循环检测和路径规范化验证
  • 微软应该考虑为连接点创建添加审核日志

八、攻击场景

GhostTree可以被用于:

恶意软件持久化:将恶意软件藏在无法被扫描的文件夹中

数据外泄掩护:在大量假路径中混入真实的外泄通道

后门隐藏:让后门文件完全逃脱AV/EDR的文件夹扫描

九、总结

GhostTree是一个巧妙利用Windows文件系统特性的攻击技术。它不依赖任何漏洞利用,而是”合理使用”系统的已有功能。这种”设计内”的攻击往往更难防御,因为微软可以辩称这是”按预期工作”。

对于安全团队而言,这意味着需要从单纯的签名扫描转向更智能的行为分析和异常检测。路径操纵技术再次提醒我们:防御不是简单地建立规则,而是要理解攻击者的思维方式。

版权声明:本文由华盟网原创发布,保留所有权利。配图由华盟网授权使用。


👇 点击阅读原文,访问我的网站



免责声明:

本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。

任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。

本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我

本文转载自:黑白之道 Red Hunter Red Hunter《GhostTree:Windows路径操纵技术让EDR全面失效》

工具|JsRpc 网络安全文章

工具|JsRpc

文章总结: JsRpc是一款用于远程调用浏览器的安全研究工具,支持通过浏览器执行远程指令,适用于渗透测试与安全评估场景。项目开源地址为https://githu
评论:0   参与:  0