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

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

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

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

工具目录

分类

查看所有分类
Loading categories
ProcessHider — 用于隐藏进程以规避监控应用程序的后渗透工具 | Kitploit
工具/GitHubGitHub/m00nrise/processhider
权限提升持久化机制IDS/IPS规避后渗透利用渗透测试红队
GitHubm00nrise/processhider

ProcessHider

用于隐藏进程以规避监控应用程序的后渗透工具

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

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

#ProcessHider

由 M00nRise 创建

重要提示

此工具仅允许用于渗透测试和其他白帽活动。严禁非法使用!

关于

ProcessHider 是一款后渗透工具,旨在隐藏进程,使其不被任务管理器、Process Explorer 等监控工具发现,从而防止管理员发现 payload 进程。该工具支持 32 位和 64 位系统,能够自动检测操作系统版本并使用相应的工具版本。

ProcessHider 提供 EXE 文件或 Powershell 脚本两种形式。

许可证

此工具采用 BSD-3 许可证:

版权所有 (c) 2016, M00nRise

保留所有权利。

特此免费授予任何获得本软件及相关文档文件(“软件”)副本的人,无限制地处理本软件的权利,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或出售本软件副本的权利,并允许向其提供本软件的人这样做,但须满足以下条件:

上述版权声明和本许可声明应包含在本软件的所有副本或实质性部分中。

本软件按“原样”提供,不提供任何明示或暗示的担保,包括但不限于适销性、特定用途的适用性和不侵权的保证。在任何情况下,作者或版权持有人均不对因本软件或本软件的使用或其他交易而引起的任何索赔、损害或其他责任负责,无论是在合同诉讼、侵权行为还是其他方面。

使用 ProcessHider

要构建项目,请使用根目录下的 build-me.bat。 完整脚本有两个版本:EXE 和 Powershell。

要使用 EXE,请从 cmd 调用主文件 ProcessHider(位于 MainFile\ 下),使用以下选项:

  • -i - 指定要隐藏的进程 ID,用逗号分隔(不要带空格!)
  • -n - 指定要隐藏的进程名称,用逗号分隔(同样不要空格)
  • -x - 指定要规避的监控应用程序,除默认值(powershell.exe, taskmgr.exe, procexp.exe, procexp64.exe, perfmon.exe)之外

要使用 Powershell,请使用 Powershell\Output\fullScript.ps1,参数与 exe 相同。

使用示例:

root@kitploit:~
`ProcessHider -i 5454,3672 -n "chrome.exe,notepad.exe" -x "cmd.exe"`

注意:至少需要使用 -i 或 -n 中的一种。隐藏器会确保自身也被隐藏。

外部库和依赖项

本项目使用了以下库和项目:

findvs 脚本取自 EasyHook:https://easyhook.github.io/

Invoke-ReflectivePEInjection 由 clymb3r 编写,可在 https://github.com/PowerShellMafia/PowerSploit/blob/master/CodeExecution/Invoke-ReflectivePEInjection.ps1 获取

Xgetopt 由 Hans Dietrich 编写,可在 http://www.codeproject.com/Articles/1940/XGetopt-A-Unix-compatible-getopt-for-MFC-and-Win32 获取

NtHookEngine 由 Daniel Pistelli 编写,可在 http://www.codeproject.com/Articles/21414/Powerful-x-x-Mini-Hook-Engine 获取

ReflectiveDLLInjection 由 Harmony Security 的 Stephen Fewer 编写,可在 https://github.com/stephenfewer/ReflectiveDLLInjection 获取

“设置全局 API 钩子的简单方法”由 Apriorit Inc 的 Sergey Podobry 编写,可在 http://www.codeproject.com/Articles/49319/Easy-way-to-set-up-global-API-hooks 获取

这些库和 VC++ 运行时均无依赖,因为它们都是静态链接的。

结构与操作

首先,隐藏器检查操作系统是 32 位还是 64 位,并选择正确的版本使用。然后,它启动一个守护进程,该进程会寻找被禁止的监控工具之一。当找到时,它会使用 DLL 注入来加载 payload——该 payload 钩住 NtQuerySystemInformation 的调用(操作系统工具用来枚举活动进程的方法),并从结果中删除指定的每个进程(以及守护进程)。

贡献

非常欢迎贡献。 在修改 powershell 脚本时,请确保不要在 fullScript 上操作,而是在 daemon-integration 和 Invoke-ReflectivePEInjectionLite 上操作,因为构建脚本会使用这些文件作为 fullScript 的源。

问题和待办事项

问题:

  • Powershell 注入器(Invoke-ReflectivePEInjection)速度极慢。需要改进此脚本。
  • 隐藏器在注入时偶尔崩溃(看起来是在进程关闭时)。
  • 尝试使用 Get-Process 检索进程列表后,Powershell 有时会崩溃。
  • 在进程加载时立即注入可能导致其崩溃(尤其是 Process Explorer)。目前通过短暂延迟解决,但需要更好的方案,因为有时延迟很明显。

待办事项:

  • 找到一种钩住对 tasklist.exe 调用的方法——目前它太快了(也许使用不同的 API 调用?)
  • 构建此工具的 Powershell 版本。
  • 创建更优雅的方式将参数传递给注入的 DLL。
  • 将链表的使用替换为 c++11 模板。
下载工具