Windows渗透测试:权限提升前的关键信息收集指南

发布时间:2026/10/24 7:15:58
Windows渗透测试:权限提升前的关键信息收集指南

1. Windows权限提升前的信息收集基础

在渗透测试和红队评估中,Windows权限提升往往是最关键的突破点之一。但很多新手会犯一个致命错误——拿到初始shell就急着提权。我见过太多人直接运行各种提权脚本,结果触发AV被踢出系统。正确的做法应该是先全面收集目标主机信息,就像外科医生动手术前要先看CT片一样。

1.1 为什么信息收集如此重要

去年我在做某次企业内网评估时,通过钓鱼拿到了一台Win10主机的普通用户权限。当时我犯懒直接运行了PowerUp.ps1,结果触发了EDR。后来复盘发现,其实那台机器安装了未打补丁的旧版打印机服务,完全可以通过CVE-2021-1675优雅提权。这个教训让我明白:提权不是碰运气,而是基于情报的精准打击。

完整的主机信息收集能帮你:

  • 识别易受攻击的服务/驱动版本
  • 发现错误配置的权限设置
  • 定位敏感凭证和配置文件
  • 避开杀软/EDR的监控点

1.2 OSCP考试中的特殊要求

在OSCP考试环境中,信息收集阶段有几个特别需要注意的点:

  1. 禁止使用自动化扫描工具(如Metasploit的post模块)
  2. 需要详细记录每条命令的输出
  3. 必须明确标注哪些信息可能用于提权
  4. 对敏感文件的操作需要特别谨慎(别把目标机搞崩了)

重要提示:考试时建议专门建立信息收集笔记,按"系统配置-用户权限-网络服务-安全防护"分类记录,这对后续提权路径选择至关重要。

2. 基础信息收集实战指南

2.1 系统基础信息采集

拿到cmd或powershell后,我通常会按这个顺序收集信息:

# 系统版本和架构 systeminfo | findstr /B /C:"OS Name" /C:"OS Version" /C:"System Type" # 更详细的版本信息(适用于Win10/WinServer2016+) [System.Environment]::OSVersion.Version

避坑经验:在Win7及以下系统,systeminfo可能会卡住。这时可以用:

wmic os get caption,version,osarchitecture /value

补丁信息是提权的黄金数据:

# 快速查看已安装补丁 wmic qfe get Caption,Description,HotFixID,InstalledOn # 导出为CSV便于分析 wmic qfe list full /format:csv > patches.csv

2.2 用户和权限枚举

# 当前用户权限 whoami /all # 本地用户组 net localgroup # 特别注意特权组 net localgroup administrators

高阶技巧:检查隐藏的本地用户:

reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\SpecialAccounts\UserList"

2.3 网络配置和服务发现

# 活动网络连接 netstat -ano # ARP缓存 arp -a # 防火墙规则 netsh advfirewall firewall show rule name=all

服务枚举的几种姿势:

# 基础服务列表 net start # 带权限的服务(关键!) sc query state=all # 更详细的配置 wmic service get name,displayname,pathname,startmode,state

3. 深度信息收集技术

3.1 文件系统敏感位置检查

这些路径经常藏有惊喜:

# 查找配置文件 dir /s /b C:\*.config # 检查共享目录 net share # 回收站内容(经常被忽略) dir C:\$Recycle.Bin /A

实用脚本:快速检查可写目录:

Get-ChildItem -Path C:\ -Recurse -ErrorAction SilentlyContinue | Where-Object { $_.Attributes -match 'Directory' -and (Test-Path -Path "$($_.FullName)\test.txt" -ErrorAction SilentlyContinue) } | Select-Object FullName

3.2 注册表关键项检查

注册表是Windows的宝藏地图:

# 自动登录凭证 reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" # 最近使用的文件 reg query HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\RecentDocs # 安装的软件列表 reg query HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall

3.3 计划任务和启动项

# 计划任务 schtasks /query /fo LIST /v # 启动程序 wmic startup get caption,command # 更直观的查看方式 msconfig.exe

4. 安全防护检测与规避

4.1 杀毒软件识别

# 通过进程识别 tasklist /svc | findstr /i "avira|avg|avast|defender|sophos|symantec|mcafee" # 通过服务识别 net start | findstr /i "antivirus|firewall|endpoint"

实战技巧:如果发现Defender,先检查实时防护状态:

Get-MpComputerStatus | select RealTimeProtectionEnabled

4.2 日志与监控规避

在敏感操作前,建议先清理日志:

# 查看日志配置 wevtutil enum-logs # 清除指定日志 wevtutil cl Security

注意:在考试环境中,清除日志可能违反规则,建议先查看考试要求。

5. 信息整理与分析框架

收集完数据后,我习惯用这个框架分析:

  1. 系统漏洞维度

    • 未打补丁的Windows版本
    • 存在漏洞的第三方软件
  2. 配置错误维度

    • 弱服务权限
    • 可写路径
    • 存储的凭证
  3. 权限继承维度

    • 组策略设置
    • 令牌权限
    • 计划任务上下文

案例分享:有次在某金融机构内网发现:

  • 服务器安装了未更新的Oracle数据库
  • 同时存在可写的服务路径
  • 通过上传plsql触发DLL劫持成功提权

这种多维度交叉分析往往能发现意想不到的提权路径。建议把收集的信息整理成类似下表:

信息类型具体内容潜在利用方式风险等级
系统版本Windows Server 2012 R2检查MS14-068高
安装软件Java 8u121可尝试反序列化中
服务权限"SomeService"以SYSTEM运行且可写路径DLL劫持极高

最后提醒:信息收集不是一次性工作。在尝试提权失败后,要回到信息收集阶段寻找新线索。我通常会在桌面上保留一个不断更新的checklist.txt,记录已尝试和待尝试的提权路径。