这是一个用Go语言编写的Windows权限维持工具,实现了多种常见的权限维持技术。
go mod tidy
go build -o windows-persistence.exe
./windows-persistence.exe
程序启动后会显示主菜单,包含以下选项:
=== Windows权限维持工具 ===
1. IFEO镜像劫持
2. 启动项后门
3. 注册表启动项后门
4. 计划任务后门
5. Winlogon后门
6. Logon Scripts后门
7. 文件关联后门
8. 屏幕保护程序后门
9. 创建影子用户
10. 高级功能
0. 退出
选择"10. 高级功能"后,会显示高级功能菜单:
=== 高级权限维持功能 ===
1. WMI无文件后门
2. 进程注入
3. DLL劫持检测
4. 创建恶意DLL
5. Bitsadmin后门
6. 服务后门
7. 删除服务
8. 进程列表
9. 查找进程
0. 返回主菜单
IFEO (Image File Execution Options) 是Windows的一个调试机制,可以用来劫持程序执行。
原理: 当系统启动某个程序时,会检查注册表中的IFEO设置,如果存在对应的调试器设置,则会先启动调试器。
注册表位置: HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\[程序名]
示例: 劫持notepad.exe,使其启动时先执行cmd.exe
将恶意程序复制到Windows启动目录,实现系统启动时自动执行。
启动目录位置:
- 当前用户: %APPDATA%\Microsoft\Windows\Start Menu\Programs\Startup
- 所有用户: %PROGRAMDATA%\Microsoft\Windows\Start Menu\Programs\StartUp
通过修改注册表实现程序自启动。
常用注册表位置:
- HKCU\Software\Microsoft\Windows\CurrentVersion\Run
- HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
- HKCU\Software\Microsoft\Windows\CurrentVersion\RunOnce
- HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce
使用Windows计划任务服务创建定时执行的任务。
命令示例:
schtasks /create /sc minute /mo 5 /tn "backdoor" /tr "C:\malware.exe" /f
修改用户登录初始化程序,在用户登录时执行恶意代码。
注册表位置: HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon
Userinit值: 系统会在用户登录时执行此值指定的程序
使用Windows Management Instrumentation (WMI) 创建事件过滤器,实现无文件持久化。
原理: 创建WMI事件过滤器和消费者,当特定事件发生时自动执行恶意程序。
优势: 无文件、无进程,难以检测
向目标进程注入shellcode,实现代码执行。
常用注入技术: - VirtualAllocEx + WriteProcessMemory + CreateRemoteThread - SetWindowsHookEx - QueueUserAPC
利用Windows DLL搜索顺序,将恶意DLL放在优先位置,实现劫持。
DLL搜索顺序: 1. 程序所在目录 2. 当前工作目录 3. 系统目录 (System32) 4. 16位系统目录 (System) 5. Windows目录 6. PATH环境变量
⚠️ 重要警告: 此工具仅用于教育和研究目的,请勿用于非法活动。
本工具仅供安全研究和教育目的使用。使用者需要确保:
作者不对任何滥用行为承担责任。
本项目采用MIT许可证,详见LICENSE文件。
欢迎提交Issue和Pull Request来改进这个工具。
如有问题或建议,请通过GitHub Issues联系。
$ claude mcp add Windows-Persistence-Tool \
-- python -m otcore.mcp_server <graph>