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

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

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

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

工具目录

分类

查看所有分类
Loading categories
ThievingFox — 后渗透凭据收集工具包,通过DLL代理、COM劫持和AppDomainManager注入,向密码管理器及Windows实用工具注入,从而捕获凭据。 | Kitploit
工具/GitHubGitHub/slowerzs/thievingfox
横向移动后渗透利用渗透测试红队
GitHubslowerzs/thievingfox

ThievingFox

后渗透凭据收集工具包,通过DLL代理、COM劫持和AppDomainManager注入,向密码管理器及Windows实用工具注入,从而捕获凭据。

查看仓库
570662年前Kitploit 审核通过

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

ThievingFox

ThievingFox 是一套后渗透工具集,用于从各种密码管理器及 Windows 实用工具中收集凭据。 每个模块利用特定的方法注入到目标进程中,然后挂钩内部函数来收集凭据。

相关博客文章请参阅 此处


  • 安装
  • 目标
  • 使用

安装

Linux

必须安装 Rustup,请按照以下地址的说明操作:https://rustup.rs/

必须安装 mingw-w64 包。 在 Debian 上,可通过以下命令安装:

root@kitploit:~
apt install mingw-w64

必须为 Rust 安装 x86 和 x86_64 两个 Windows 目标:

root@kitploit:~
rustup target add x86_64-pc-windows-gnu
rustup target add i686-pc-windows-gnu

还必须安装 Mono 和 Nuget,说明请见:https://www.mono-project.com/download/stable/#download-lin

添加 Mono 仓库后,可通过 apt 安装 Nuget:

root@kitploit:~
apt install nuget

最后,必须安装 Python 依赖:

root@kitploit:~
pip install -r client/requirements.txt

ThievingFox 需要 python >= 3.11。

Windows

必须安装 Rustup,请按照以下地址的说明操作:https://rustup.rs/

必须为 Rust 安装 x86 和 x86_64 两个 Windows 目标:

root@kitploit:~
rustup target add x86_64-pc-windows-msvc
rustup target add i686-pc-windows-msvc

还必须安装 .NET 开发环境。从 Visual Studio 中,导航到 工具 > 获取工具和功能 > 安装“.NET 桌面开发”。

最后,必须安装 Python 依赖:

root@kitploit:~
pip install -r client/requirements.txt

ThievingFox 需要 python >= 3.11

注意:在 Windows 主机上,为了使用 KeePass 模块,msbuild 必须在 PATH 中可用。可以通过在 Visual Studio 开发人员 PowerShell (工具 > 命令行 > 开发人员 PowerShell) 中运行客户端来实现。

目标

所有模块已在以下 Windows 版本上测试:

Windows 版本
Windows Server 2022
Windows Server 2019
Windows Server 2016
Windows Server 2012R2
Windows 10
Windows 11

[!CAUTION] 模块尚未在其他版本上测试,预计将无法工作。

使用

[!CAUTION] 尽管我已尽力确保这些工具不会影响目标应用程序的稳定性,但内联钩子和库注入并不安全,可能导致崩溃或应用程序不稳定。如果发生这种情况,在目标上使用 cleanup 模块应该足以确保下次启动应用程序时不会执行注入/钩子操作。

ThievingFox 包含 3 个主要模块:poison、cleanup 和 collect。

Poison

对于命令行参数中指定的每个应用程序,poison 模块会检索将被劫持的原始库(针对 COM 劫持和 DLL 代理),编译一个与原始 DLL 属性匹配的库,将其上传到服务器,并在必要时修改注册表以执行 COM 劫持。

为了加速所有库的编译过程,在 client/cache/ 中维护了一个缓存。

--mstsc、--rdcman 和 --mobaxterm 有特定的选项,分别为 --mstsc-poison-hkcr、--rdcman-poison-hkcr 和 --mobaxterm-poison-hkcr。如果指定了其中一个选项,COM 劫持将替换 HKCR 配置单元中的注册表项,这意味着所有用户都将受到影响。默认情况下,仅影响所有当前登录的用户(拥有 HKCU 配置单元的所有用户)。

--keepass 和 --keepassxc 有特定的选项:--keepass-path、--keepass-share 以及 --keepassxc-path、--keepassxc-share,用于指定这些应用程序的安装位置(如果不是默认安装路径)。对于其他应用程序则不需要,因为它们使用 COM 劫持。

KeePass 模块要求在目标上安装 Visual C++ Redistributable。

可以同时指定多个应用程序,或者使用 --all 标志来针对所有应用程序。

[!IMPORTANT] 如果更改了 --tempdir 参数,请记得清除缓存,因为目录名称已嵌入到原生 DLL 中。

root@kitploit:~
$ python3 client/ThievingFox.py poison -h
usage: ThievingFox.py poison [-h] [-hashes HASHES] [-aesKey AESKEY] [-k] [-dc-ip DC_IP] [-no-pass] [--tempdir TEMPDIR] [--keepass] [--keepass-path KEEPASS_PATH]
                             [--keepass-share KEEPASS_SHARE] [--keepassxc] [--keepassxc-path KEEPASSXC_PATH] [--keepassxc-share KEEPASSXC_SHARE] [--mstsc] [--mstsc-poison-hkcr]
                             [--consent] [--logonui] [--rdcman] [--rdcman-poison-hkcr] [--mobaxterm] [--mobaxterm-poison-hkcr] [--all]
                             target

positional arguments:
  target                目标机器或范围 [domain/]username[:password]@<IP or FQDN>[/CIDR]

options:
  -h, --help            显示此帮助信息并退出
  -hashes HASHES, --hashes HASHES
                        LM:NT hash
  -aesKey AESKEY, --aesKey AESKEY
                        用于 Kerberos 身份验证的 AES 密钥
  -k                    使用 Kerberos 身份验证。对于 LogonUI、mstsc 和 consent 模块,将执行匿名 NTLM 身份验证以获取操作系统版本。
  -dc-ip DC_IP, --dc-ip DC_IP
                        域控制器的 IP 地址
  -no-pass, --no-pass   不提示输入密码
  --tempdir TEMPDIR     用于 DLL 和输出的临时目录名称 (默认: ThievingFox)
  --keepass             尝试对 KeePass.exe 下毒
  --keepass-path KEEPASS_PATH
                        KeePass 的安装路径,不包含共享名称 (默认: /Program Files/KeePass Password Safe 2/)
  --keepass-share KEEPASS_SHARE
                        KeePass 所在的共享 (默认: c$)
  --keepassxc           尝试对 KeePassXC.exe 下毒
  --keepassxc-path KEEPASSXC_PATH
                        KeePassXC 的安装路径,不包含共享名称 (默认: /Program Files/KeePassXC/)
  --keepassxc-share KEEPASSXC_SHARE
                        KeePassXC 所在的共享 (默认: c$)
  --mstsc               尝试对 mstsc.exe 下毒
  --mstsc-poison-hkcr   不毒化所有当前登录用户的 HKCU 配置单元,而是毒化 mstsc 的 HKCR 配置单元,这将适用于当前未登录的用户 (默认: False)
  --consent             尝试对 Consent.exe 下毒
  --logonui             尝试对 LogonUI.exe 下毒
  --rdcman              尝试对 RDCMan.exe 下毒
  --rdcman-poison-hkcr  不毒化所有当前登录用户的 HKCU 配置单元,而是毒化 RDCMan 的 HKCR 配置单元,这将适用于当前未登录的用户 (默认: False)
  --mobaxterm           尝试对 MobaXTerm.exe 下毒
  --mobaxterm-poison-hkcr
                        不毒化所有当前登录用户的 HKCU 配置单元,而是毒化 MobaXTerm 的 HKCR 配置单元,这将适用于当前未登录的用户 (默认: False)
  --all                 尝试对所有应用程序下毒

Cleanup

对于命令行参数中指定的每个应用程序,cleanup 首先移除强制目标应用程序加载钩子库的下毒工件。然后,尝试删除上传到远程主机的库。

对于支持同时毒化 HKCU 和 HKCR 配置单元的应用程序,无论使用哪种,都会清理两者。

可以同时指定多个应用程序,或者使用 --all 标志来清理所有应用程序。

它不会清理远程主机上提取的凭据。

[!IMPORTANT] 如果在运行 cleanup 模块时目标应用程序正在使用,则无法删除放置在目标上的 DLL。尽管如此,cleanup 模块将恢复启用注入的配置,这应该能确保下次启动应用程序时不执行注入。ThievingFox 无法删除的文件会被记录。

root@kitploit:~
$ python3 client/ThievingFox.py cleanup -h
usage: ThievingFox.py cleanup [-h] [-hashes HASHES] [-aesKey AESKEY] [-k] [-dc-ip DC_IP] [-no-pass] [--tempdir TEMPDIR] [--keepass] [--keepass-share KEEPASS_SHARE]
                              [--keepass-path KEEPASS_PATH] [--keepassxc] [--keepassxc-path KEEPASSXC_PATH] [--keepassxc-share KEEPASSXC_SHARE] [--mstsc] [--consent] [--logonui]
                              [--rdcman] [--mobaxterm] [--all]
                              target

positional arguments:
  target                目标机器或范围 [domain/]username[:password]@<IP or FQDN>[/CIDR]

options:
  -h, --help            显示此帮助信息并退出
  -hashes HASHES, --hashes HASHES
                        LM:NT hash
  -aesKey AESKEY, --aesKey AESKEY
                        用于 Kerberos 身份验证的 AES 密钥
  -k                    使用 Kerberos 身份验证。对于 LogonUI、mstsc 和 consent 模块,将执行匿名 NTLM 身份验证以获取操作系统版本。
  -dc-ip DC_IP, --dc-ip DC_IP
                        域控制器的 IP 地址
  -no-pass, --no-pass   不提示输入密码
  --tempdir TEMPDIR     用于 DLL 和输出的临时目录名称 (默认: ThievingFox)
  --keepass             尝试清理所有与 KeePass.exe 相关的下毒工件
  --keepass-share KEEPASS_SHARE
                        KeePass 所在的共享 (默认: c$)
  --keepass-path KEEPASS_PATH
                        KeePass 的安装路径,不包含共享名称 (默认: /Program Files/KeePass Password Safe 2/)
  --keepassxc           尝试清理所有与 KeePassXC.exe 相关的下毒工件
  --keepassxc-path KEEPASSXC_PATH
                        KeePassXC 的安装路径,不包含共享名称 (默认: /Program Files/KeePassXC/)
  --keepassxc-share KEEPASSXC_SHARE
                        KeePassXC 所在的共享 (默认: c$)
  --mstsc               尝试清理所有与 mstsc.exe 相关的下毒工件
  --consent             尝试清理所有与 Consent.exe 相关的下毒工件
  --logonui             尝试清理所有与 LogonUI.exe 相关的下毒工件
  --rdcman              尝试清理所有与 RDCMan.exe 相关的下毒工件
  --mobaxterm           尝试清理所有与 MobaXTerm.exe 相关的下毒工件
  --all                 尝试清理所有应用程序相关的下毒工件

Collect

对于命令行参数中指定的每个应用程序,collect 模块检索远程主机上 C:\Windows\Temp\<tempdir> 目录下对应应用程序的输出文件,并对它们进行解密。文件会从远程主机删除,检索到的数据存储在 client/output/ 中。

可以同时指定多个应用程序,或者使用 --all 标志来收集所有应用程序的日志。

root@kitploit:~
$ python3 client/ThievingFox.py collect -h
usage: ThievingFox.py collect [-h] [-hashes HASHES] [-aesKey AESKEY] [-k] [-dc-ip DC_IP] [-no-pass] [--tempdir TEMPDIR] [--keepass] [--keepassxc] [--mstsc] [--consent]
                              [--logonui] [--rdcman] [--mobaxterm] [--all]
                              target

positional arguments:
  target                目标机器或范围 [domain/]username[:password]@<IP or FQDN>[/CIDR]

options:
  -h, --help            显示此帮助信息并退出
  -hashes HASHES, --hashes HASHES
                        LM:NT hash
  -aesKey AESKEY, --aesKey AESKEY
                        用于 Kerberos 身份验证的 AES 密钥
  -k                    使用 Kerberos 身份验证。对于 LogonUI、mstsc 和 consent 模块,将执行匿名 NTLM 身份验证以获取操作系统版本。
  -dc-ip DC_IP, --dc-ip DC_IP
                        域控制器的 IP 地址
  -no-pass, --no-pass   不提示输入密码
  --tempdir TEMPDIR     用于 DLL 和输出的临时目录名称 (默认: ThievingFox)
  --keepass             收集 KeePass.exe 日志
  --keepassxc           收集 KeePassXC.exe 日志
  --mstsc               收集 mstsc.exe 日志
  --consent             收集 Consent.exe 日志
  --logonui             收集 LogonUI.exe 日志
  --rdcman              收集 RDCMan.exe 日志
  --mobaxterm           收集 MobaXTerm.exe 日志
  --all                 收集所有应用程序的日志
下载工具
应用程序注入方法
KeePass.exeAppDomainManager 注入
KeePassXC.exeDLL 代理
LogonUI.exe (Windows 登录界面)COM 劫持
consent.exe (Windows UAC 弹窗)COM 劫持
mstsc.exe (Windows 默认 RDP 客户端)COM 劫持
RDCMan.exe (Sysinternals 的 RDP 客户端)COM 劫持
MobaXTerm.exe (第三方 RDP 客户端)COM 劫持