Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
PhantomFS — Windows蜜罐,利用ProjFS投射诱饵文件,当文件被访问时触发事件日志和桌面警报,并通过SMB远程会话日志记录来检测横向移动。 | Kitploit
工具/GitHubGitHub/alloysecuregroup/phantomfs
防御工具入侵检测事件响应
GitHuballoysecuregroup/phantomfs

PhantomFS

Windows蜜罐,利用ProjFS投射诱饵文件,当文件被访问时触发事件日志和桌面警报,并通过SMB远程会话日志记录来检测横向移动。

查看仓库
6846天前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

PhantomFS — 假文件。真安全。

假文件。真安全。
为Windows打造的虚拟蜜罐文件系统——引诱攻击者进入看似真实的目录,然后当场捕获他们。

MIT License Platform .NET 4.8 Sponsor


什么是 PhantomFS?

PhantomFS 利用 Windows 投影文件系统(ProjFS) 呈现一个充满逼真假文件的虚拟目录——这些文件(财务报表、SSH 密钥、API 凭据、HR 电子表格、保密协议等)仅存在于内存中。在攻击者(或内部威胁)打开文件之前,不会有任何数据写入磁盘。

一旦文件被触碰,PhantomFS 将:

  • 写入一条 Windows 事件日志条目(应用程序日志,源为 PhantomFS)
  • 向当前桌面会话发送一条 Toast 通知
  • 记录精确的文件名、时间戳和进程上下文
  • 当通过网络共享访问时——捕获 SMB 用户名和源地址

由于合法用户没有理由打开他们未放置的文件,每个警报都具有高置信度。无需调优、无需机器学习、无需云依赖——仅需一个原生 Windows 驱动和一个可执行文件。


特性


系统要求

  • Windows 10 版本 1809(内部版本 17763)或更高版本——推荐 Windows 11
  • .NET Framework 4.8
  • 启用 Windows 投影文件系统可选功能(Enable-WindowsOptionalFeature -Online -FeatureName Client-ProjFS -NoRestart)
  • 启动虚拟根目录需要管理员权限

快速开始

简单命令(推荐)

  1. 从 Releases 下载 PhantomFS-v1.1.0-x64.zip 并解压
  2. 以管理员身份运行——启用 ProjFS:Enable-WindowsOptionalFeature -Online -FeatureName Client-ProjFS -NoRestart
  3. 执行:.\PhantomFS.exe --virtroot C:\PhantomFS\Virtual\Documents --syntheticonly
  4. 在资源管理器中浏览 C:\PhantomFS\Virtual\Documents——您将看到诱饵文件
  5. 打开其中一个——观察 Toast 通知并检查 事件查看器 → Windows 日志 → 应用程序

配置

所有设置位于 PhantomFS.exe.config 中。所有键均为可选——省略某个键将使用表中显示的默认值。

使用 PhantomFS 配置文件生成器 为您的部署场景生成不同的配置方案:

  • https://alloysecuregroup.github.io/PhantomFS/

<settings> 部分

root@kitploit:~
<settings>
  <enableEventLog>true</enableEventLog>
  <enableToast>true</enableToast>
  <alertOnOpen>true</alertOnOpen>
  <alertOnRead>true</alertOnRead>
  <toastCooldownSeconds>15</toastCooldownSeconds>
  <verbose>false</verbose>
  <virtRoot></virtRoot>
  <sourceRoot></sourceRoot>
  <syntheticOnly>true</syntheticOnly>

  <!-- v1.1.0 — 自动清理 -->
  <autoCleanupEnabled>true</autoCleanupEnabled>
  <autoCleanupDelaySeconds>300</autoCleanupDelaySeconds>

  <!-- v1.1.0 — 远程会话记录 -->
  <resolveRemoteIPs>true</resolveRemoteIPs>
</settings>

远程会话记录

当通过 SMB 共享访问文件时,PhantomFS 检测到 PID 4(Windows 系统进程/内核 SMB 驱动程序)作为调用者,并自动调用 NetSessionEnum 识别远程用户。事件日志条目和 Toast 通知将包含:

root@kitploit:~
PhantomFS — 蜜罐文件内容读取
文件    : Documents\Q4_Financial_Report_2024.pdf
进程 : System (PID 4)
远程  : CORP\jsmith @ DESKTOP-A1B2C3D  [192.168.1.45]

远程记录的要求:

  • 服务器服务必须正在运行(只要存在共享,它就会自动启动)
  • PhantomFS 必须在托管该共享的机器上运行
  • resolveRemoteIPs 要求客户端机器可通过 DNS 解析

自动清理行为

合成文件被打开并实例化(内容写入磁盘)后,后台计时器每 30 秒检查一次,并删除实例化时间超过 autoCleanupDelaySeconds 的文件。已删除的文件恢复为虚拟的 ProjFS 占位符——下次访问将重新触发 ProjFS 回调,如同该文件从未被打开过。

清理计时器触发时仍处于打开状态的文件将被跳过(无错误),并在下一个 30 秒周期重试。

添加诱饵文件

在配置的 <syntheticFileList> 下添加条目:

root@kitploit:~
\Documents,true,0,1744586986
\Documents\Q4_Financial_Report_2024.pdf,false,8192,1744586986
\Documents\Employee_Salaries_2024.xlsx,false,4096,1743942586
\IT\Keys,true,0,1744586986
\IT\Keys\deploy_key.pem,false,3247,1742354986

添加内容模板

root@kitploit:~
<syntheticTemplates>
  <template name="my_custom_file.txt"><![CDATA[
    ... 您的文件内容在此 ...
  ]]></template>
</syntheticTemplates>

事件日志参考

打开 事件查看器 → Windows 日志 → 应用程序 并按源 PhantomFS 筛选。

事件 ID

CI/CD — GitHub Actions

PhantomFS 附带一个工作流 .github/workflows/build.yml,它并行编译 x64 和 ARM64,并在每个版本标签上发布 GitHub Release。


从源码构建

root@kitploit:~
# 需要 .NET Framework 4.8 SDK 或 Visual Studio Build Tools
csc.exe /platform:x64 /r:System.Xml.dll /out:PhantomFS.exe src\PhantomFS.cs

csc.exe 通常位于:

root@kitploit:~
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\csc.exe

部署思路

  • 工作站陷阱——作为登录时计划任务运行;任何横向移动到 \\hostname\PhantomFS\Virtual 都会立即发出警报,包含攻击者的用户名和源 IP
  • 文件服务器金丝雀——在真实财务共享旁放置一个指向虚拟根的 \Finance 共享;远程会话记录精确识别哪个账户触碰了诱饵
  • 开发机——在 ~\Documents 中呈现虚假的 AWS 密钥和 SSH 密钥;内部或供应链攻击在数据泄露前触发警报
  • 气隙网段——设置 resolveRemoteIPs=false 以跳过外部查询被阻止的环境中的 DNS;仍可捕获 NetBIOS 计算机名

赞助

PhantomFS 是免费、开源、MIT 许可的。如果它节省了您的时间——或捕获了真正的攻击者——请考虑赞助以支持持续开发。

❤ 在 GitHub 上赞助

赞助者将获得:

  • 优先处理问题回复
  • 提前获取新模板和新功能
  • 在发行说明中被提及

企业赞助者(每月 $500+)将获得一个用于直接支持和功能请求的私人 Slack 频道。


许可证

root@kitploit:~
MIT License

Copyright (c) 2026 Alloy Secure

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

商标声明: PhantomFS™ 是 Alloy Secure 的商标。保留所有权利。


免责声明 — 可接受使用

PhantomFS 仅提供 用于合法的防御性安全目的——包括入侵检测、威胁研究以及对您拥有或已获得明确书面授权监控的系统进行授权的渗透测试。

您有全权责任确保您对 PhantomFS 的使用符合所有适用的地方、国家和国际法律,包括但不限于计算机欺诈、窃听、隐私和劳动法。在未获得适当授权的情况下,在系统或网络上部署 PhantomFS 可能构成违法。

PhantomFS 的作者和贡献者:

  • 不作任何明示或暗示的保证,包括针对特定用途的适销性和适用性
  • 不承担任何直接、间接、附带或后果性损害,无论其由使用或误用本软件引起
  • 不对因在任何环境中部署 PhantomFS 而导致的任何数据丢失、系统损坏、法律责任或对第三方的损害 负责

使用风险自负。 使用 PhantomFS 即表示您承认已阅读、理解并同意受本免责声明条款的约束。

商标声明: PhantomFS™ 是 Alloy Secure 的商标。保留所有权利。


致谢

基于 Windows 投影文件系统 API 构建——该技术也是 WSL2 和 OneDrive 文件按需同步的基础。

灵感来源于我在 Thinkst 作为研究员的工作 💚 https://citation.thinkst.com/talk/94782

下载工具
特性详情
零足迹诱饵文件按需投影——除非攻击者读取文件,否则不会写入磁盘
Windows 事件日志事件 ID 1001(文件读取)、1002(占位符创建)、1003(启动)、1004(停止)
Toast 警报通过 Windows PowerShell 立即发出桌面通知——甚至可在 RDP 下工作
远程会话记录当 PID 4 触发访问时,通过 NetSessionEnum 捕获 SMB 用户名和源地址
自动清理在可配置延迟后删除已实例化的合成文件;下次访问时恢复为虚拟文件
可配置模板PDF、XLSX、DOCX、JSON、CSV、PEM、纯文本——均通过配置文件中的 XML 模板提供
每文件冷却可配置的节流(默认 15 秒),防止工具读取多个块时警报泛滥
合成文件列表可放下的 XML 列表,包含逼真的文件名和实际字节大小
单个可执行文件PhantomFS.exe + PhantomFS.exe.config——无需安装程序
键默认值起始版本说明
enableEventLogtrue1.0.0写入 Windows 应用程序事件日志
enableToasttrue1.0.0发送桌面 Toast 通知
alertOnOpentrue1.0.0首次创建占位符(目录浏览)时发出警报
alertOnReadtrue1.0.0实际读取文件数据时发出警报
toastCooldownSeconds151.0.0同一文件路径的 Toast 之间最小间隔秒数
verbosefalse1.0.0诊断用额外控制台输出
virtRoot(参数 1)1.0.0从配置而非命令行覆盖虚拟根路径
sourceRoot(空)1.0.0可选的真实后备目录——留空表示仅使用合成模式
syntheticOnlytrue1.0.0仅提供 <syntheticFileList> 中列出的文件
autoCleanupEnabledtrue1.1.0延迟后删除已实例化的合成文件并恢复为虚拟文件
autoCleanupDelaySeconds3001.1.0文件实例化后删除前的秒数(清理计时器每 30 秒运行一次)
resolveRemoteIPstrue1.1.0DNS 解析 SMB 客户端主机名为 IP 地址;如果查询延迟不可接受,设置为 false
级别
含义
1001警告诱饵文件的数据被读取(适用时包含远程用户/IP)
1002警告诱饵文件占位符被创建(文件被浏览/stat'd)
1003信息PhantomFS 启动——记录虚拟根路径和设置
1004信息PhantomFS 干净地停止