PowerShell本身不是漏洞扫描器,但可通过组合系统命令与可信脚本(如Sherlock)实现配置核查、策略导出和提权路径识别;Sherlock是纯PowerShell编写的轻量工具,可检测MS10-015至MS16-135等12+种Windows本地提权漏洞,支持一键扫描、文件版本检测及模块化扩展。
powershell 本身不是漏洞扫描器,但它能高效串联系统原生能力,完成从配置核查、策略导出到提权路径识别的整套评估流程。关键不在于“一键扫全”,而在于用可信脚本+系统命令组合,聚焦高风险项并快速验证。
运行 Sherlock 检测本地提权漏洞
Sherlock 是纯 PowerShell 编写的轻量级工具,专为识别 Windows 已知提权路径设计,比如 AlwaysInstallElevated、服务路径未引号、令牌窃取条件等。
- 从官方 GitHub 仓库(如 PowerShellMafia/PowerSploit 衍生项目)下载 Sherlock.ps1,确认哈希或签名无篡改
- 以管理员身份打开 PowerShell,执行:
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser - 进入脚本所在目录,运行:
.\Sherlock.ps1 -CheckAll -OutFile report.txt(生成带时间戳的文本报告)
或仅输出高风险项:.\Sherlock.ps1 -ShowAll | Where-Object {$_.Severity -eq 'High'}
检查基础安全配置是否合规
很多漏洞源于配置疏漏,PowerShell 可在几秒内验证关键项是否启用或暴露。
- RDP 状态与安全性:
Get-ItemProperty 'HKLM:\System\CurrentControlSet\Control\Terminal Server' -Name fDenyTSConnections → 返回 0 表示开启,需进一步确认是否启用网络级别身份验证(NLA) - 防火墙状态:
Get-NetFirewallProfile | Select-Object Name,Enabled → 所有 Profile 的 Enabled 应为 True - 非微软签名的自启动服务:
Get-Service | Where-Object {$_.StartType -eq 'Automatic' -and $_.Status -eq 'Running'} | ForEach-Object { Get-AuthenticodeSignature $_.PathName 2>$null } | Where-Object {$_.Status -ne 'Valid'}
导出并分析本地安全策略
本地组策略直接影响系统抗攻击能力,例如密码策略、账户锁定、审核设置等,直接决定攻击者能否绕过基础防护。
- 导出当前本地安全策略:
secedit /export /cfg C:\temp\secpol.cfg /quiet - 快速筛查高风险项:
Select-String -Path C:\temp\secpol.cfg -Pattern "EnableGuestAccount|PasswordComplexity|MaximumPasswordAge|MinimumPasswordLength" - 检查审核策略是否覆盖关键事件:
auditpol /get /category:* | findstr "Logon.*Account Logon.*Privilege Use"
自动化配置关键审计策略
审计日志是事后溯源的基础,但默认策略往往不完整。PowerShell 可精准启用高价值子类别,并同步调整日志容量。
- 启用登录与特权使用审计:
auditpol /set /category:"Logon" /success:enable /failure:enable
auditpol /set /category:"Privilege Use" /success:enable - 强制记录 PowerShell 脚本块(防无文件攻击):
Set-ItemProperty -Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows\PowerShell\ScriptBlockLogging" -Name "EnableScriptBlockLogging" -Value 1 -Force - 扩大安全日志容量(避免被覆盖):
wevtutil sl Security /ms:512MB - 验证生效:
auditpol /get /subcategory:"Process Creation" → 确认 Success/Failure 显示为 Yes


















