很多人都认识注册表,但是几乎没人搞懂过注册表。我来带大家玩转注册表,做这篇文章就想记录一下注册表里的一些路径(难找,记不住!),本文中我会介绍一些实用的利用注册表进行内网权限维持的一个思路和方法。没学网安的,会更了解注册表;大佬就复习复习怎么进行权限维持吧!
目录
注册表怎么打开?
IFEO(Image File Execution Options)映像劫持
注册表里面的启动项
文件关联
屏幕保护
时间提供者
Netsh助手DLL
winlogon用户初始化(千万千万千万不能乱改,搞不好会进不了系统)
注册表怎么打开?
使用快捷键win+r打开运行窗口,输入命令 regedit,按下回车键即可打开注册表编辑器。
IFEO(Image File Execution Options)映像劫持
原理:当我们双击运行程序的时候。系统就会查询IFEO注册表。如果发现存在完全相同的子键,就会查询对应的子键中包含的"debugger"键值名,如果这个键值名不为空的情况下 系统则会吧debugger参数指定的程序文件来作为启动的程序
路径:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options
操作过程:这个路径下有很多的exe程序,我这里选择IE浏览器来进行测试,点击iexplore.exe,在空白的地方右键,点击新建,选择字符串值(S),把它命名成debugger,数值数据填你想要运行的程序,我这里打开的是cmd。
最后的效果:当点击IE浏览器时会弹出cmd的运行窗口。
注册表里面的启动项
路径:HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOnce
//如果改动里面的内容 不需要管理权限,针对于不同的用户。尽量写其他用户
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce
//如果改动里面的内容 需要管理员权限
文件关联
文件关联就是将一种类型的文件与一个可以打开他的程序建立起一种关系
路径:HKEY_LOCAL_MACHINE\SOFTWARE\Classes\txtfile\Shell\Open\Command
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\ratfile\Shell\Open\Command
操作过程:复制HKEY_LOCAL_MACHINE\SOFTWARE\Classes\txtfile\Shell\Open\Command,回车(我更改的是.txt后缀的文件,rat是其他后缀的文件),双击(默认),数值数据填你想要运行的程序,我这里打开的是cmd。
效果:当我打开.txt文件时运行了cmd。
正常默认值是:C:\Windows\System32\NOTEPAD.EXE %1
屏幕保护
屏幕保护是Windows功能的一部分,使用户可以在一段时间不活动后放置屏幕消息或图形动画。当我们更改了里面的值,用户在一段时间不活动后触发屏幕保护,也可以运行一些程序。因为屏幕保护程序是具有.scr文件扩展名的可执行文件,并通过scrnsave.scr实用程序执行。
屏幕保护程序设置存储在注册表中,从令人反感的角度来看,最有价值的值是: HKEY_CURRENT_USER\Control Panel\Desktop\SCRNSAVE.EXE
HKEY_CURRENT_USER\Control Panel\Desktop\ScreenSaveActive
HKEY_CURRENT_USER\Control Panel\Desktop\ScreenSaverIsSecure
HKEY_CURRENT_USER\Control Panel\Desktop\ScreenSaveTimeOut
时间提供者
WiThdows操作系统正在利用时间提供者体系结构,以便从网络中的其他网络设备或客户端获取准确的 时间戳。时间提供者以DLL文件的形式实现,该文件位于System32文件夹中。WiThdows启动期间将启 动服务W32Time并加载w32time.dll。DLL加载是一种已知的技术,通常使红队攻击者有机会执行任 意代码。
由于关联的服务会在WiThdows启动期间自动启动,因此可以将其用作持久性机制。但是,此方法需要管理 员级别的特权,因为指向时间提供者DLL文件的注册表项存储在HKEY_LOCAL_MACHINE中。根据 系统是用作NTP服务器还是NTP客户端,使用以下两个注册表位置。
路径:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpClient
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpSe rver
Netsh助手DLL
Netsh是WiThdows实用程序,管理员可以使用它来执行与系统的网络配置有关的任务, 并在基于主机的 WiThdows防火墙上进行修改。可以通过使用DLL文件来扩展Netsh功能。此功能使红队可以使用此工具 来加载任意DLL,以实现代码执行并因此实现持久性。但是,此技术的实现需要本地管理员级别的权限。
可以通过Metasploit Framework 的“ msfvenom ”实用程序生成任意DLL文件
路径:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NetSh
应该注意的是,某些可能安装在受感染系统上的VPN客户端可能会自动“ netsh ” 启动,因此可能不需要使用其他方法进行持久化。
winlogon用户初始化(千万千万千万不能乱改,搞不好会进不了系统)
winlogon.exe是windows中非常重要的进程,在用户还没有登录系统之前就存在。当用户登录时。winlogon进行负责将用户配置文件加载到注册表。有点像启动项。
路径:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon
Userinit的值只能增加,不能修改和删除,里面的值被修改或删除了,下次开机就会进不了系统,所以说不能乱改。进不了系统,不知道为什么,也可以往这个原因猜。