一名安全研究人员发布了一款名为 GhostLock 的概念验证工具,展示了合法的 Windows 文件 API 如何在攻击中被滥用,从而阻断对本地或 SMB 网络共享中存储文件的访问。
这项技术由以色列航空航天工业公司的金・德瓦什(Kim Dvash)开发,它滥用了 Windows 的 “CreateFileW” API 和文件共享模式,在文件句柄保持活动状态时,阻止其他用户和应用程序打开文件。
GhostLock 技术滥用了 CreateFileW () 函数中的 “dwShareMode” 参数,该参数指定了文件打开时其他进程对其的访问类型。
当以 “dwShareMode = 0” 打开文件时,Windows 会授予该进程对文件的独占访问权,阻止其他用户或应用程序打开它。
例如,以下代码将以独占模式打开 finance.xlsx 文件,阻止任何其他进程访问:
HANDLE hFile = CreateFileW(
L"\\\\server\\share\\finance.xlsx",
GENERIC_READ,
0,
NULL,
OPEN_EXISTING,
FILE_ATTRIBUTE_NORMAL,
NULL
);
尝试访问时,Windows 将显示以下 “STATUS_SHARING_VIOLATION” 错误。
这位研究人员在 GitHub 上发布了 GhostLock 工具,通过递归打开 SMB 共享上的大量文件来自动化这种攻击。在这些文件句柄打开期间,新的文件访问尝试将因共享冲突而失败。
该工具可由 “普通” 域用户运行,锁定文件无需任何提升的权限。
如果攻击者从多个受感染设备同时发起攻击,并在之前的进程终止时不断重新获取文件句柄,影响将进一步加剧。
不过,一旦相关的 SMB 会话终止、GhostLock 进程被杀或受影响的系统重启,Windows 会自动关闭这些句柄,文件访问将恢复。
德瓦什告诉 BleepingComputer,这种技术应主要被视为一种破坏性攻击,而非像勒索软件那样的毁灭性攻击。
德瓦什对 BleepingComputer 表示:“是的,其影响基于破坏,而非毁灭。与勒索软件类似的是造成业务运行中断,而非数据丢失。”
虽然这种攻击更类似于拒绝服务技术,但在入侵过程中可用作诱饵。攻击者可以利用大范围的文件访问中断,在环境中的其他地方进行数据盗窃、横向移动或其他恶意活动时,使 IT 人员疲于应对。
这位研究人员表示,许多安全产品和行为检测系统专注于检测大规模文件写入或加密操作。而 GhostLock 主要生成大量合法的文件打开请求,因此不太容易被检测到。
德瓦什解释说:“唯一能可靠识别这种攻击的可观测指标,是文件服务器层每个会话中 ShareAccess = 0 的打开文件计数 —— 这一指标存在于存储平台管理接口中,而非 Windows 事件日志、端点检测与响应(EDR)遥测数据或网络流数据中。”
这位研究人员在 GhostLock 白皮书里分享了安全信息和事件管理(SIEM)查询语句和网络检测与响应(NDR)检测规则,IT 团队和安全防御人员可将其作为检测模板使用。
消息来源:bleepingcomputer.com;
本文由 HackerNews.cc 翻译整理,封面来源于网络;























