第9章小结(9.19):Sysinternals 安全工具组合拳与脚本清单
- [第9章小结(9.19):Sysinternals 安全工具组合拳与脚本清单](#第9章小结(9.19):Sysinternals 安全工具组合拳与脚本清单)
-
- [1. 一图总览:场景 → 用哪几个工具](#1. 一图总览:场景 → 用哪几个工具)
- [2. 标准作业流(SOP)](#2. 标准作业流(SOP))
-
- [2.1 可疑程序"先验后处置"](#2.1 可疑程序“先验后处置”)
- [2.2 文件服务器"写入面缩减"](#2.2 文件服务器“写入面缩减”)
- [2.3 现场取证三步](#2.3 现场取证三步)
- [2.4 下线/转让设备](#2.4 下线/转让设备)
- [3. 快速脚本库(可改造成批量)](#3. 快速脚本库(可改造成批量))
-
- [3.1 一键环境体检(签名 + 会话 + 共享)](#3.1 一键环境体检(签名 + 会话 + 共享))
- [3.2 以"受控服务账号"运行修复命令](#3.2 以“受控服务账号”运行修复命令)
- [3.3 清理"Everyone 可写"的共享路径清单(半自动)](#3.3 清理“Everyone 可写”的共享路径清单(半自动))
- [3.4 HDD 快速清场(空闲区 Zero + 文件擦除 2 次)](#3.4 HDD 快速清场(空闲区 Zero + 文件擦除 2 次))
- [4. Sysmon 最小可用基线(摘录)](#4. Sysmon 最小可用基线(摘录))
- [5. 风险与合规提示](#5. 风险与合规提示)
- [6. 常见问题速查](#6. 常见问题速查)
- [7. 交付物模板(你可以直接套用)](#7. 交付物模板(你可以直接套用))
- [8. 下一步怎么做](#8. 下一步怎么做)
第9章小结(9.19):Sysinternals 安全工具组合拳与脚本清单
目标:把 Sigcheck / AccessChk / Sysmon / AccessEnum / ShareEnum / ShellRunAs / Autologon / LogonSessions / SDelete 组成一套"查证---取证---治理---清场"的落地流程,配好可直接复用的脚本片段与操作清单。
1. 一图总览:场景 → 用哪几个工具
| 场景 | 目的 | 工具组合 | 关键点 |
|---|---|---|---|
| 不明可执行/驱动来源 | 验签、信誉、时间戳、VT 结果 | SigCheck | -m -i -h -nobanner;离线环境以证书链为主 |
| 权限拒绝/最小权限核查 | ACL/特权/令牌验证 | AccessChk | -p -k -d -s 逐层看"进程→对象→注册表" |
| 主机横向共享风险 | 列表化共享与可写路径 | ShareEnum | 找出"Everyone/Authenticated Users 可写" |
| 大盘点(ACL 可视化) | 快速扫出高危权限 | AccessEnum | 导出 CSV 交给治理追踪 |
| 长期行为记录 | 进程/网络/注册表/文件取证 | Sysmon | 基线配置、事件转发、哈希与 DNS 开关 |
| 谁在登录/会话取证 | 交互/资源登录用户 | LogonSessions | 区分本地/远程、会话 ID、Logon Type |
| 自动登录背调 | 检查/清理 AutoLogon | Autologon | 审计后禁用、敏感密码落盘风险提示 |
| 以别的身份启动 | 提权/降权/特定用户运行 | ShellRunAs | 明确凭据来源,避免明文 |
| 安全删除/资产回收 | 擦除文件与空闲区 | SDelete | HDD 多次覆盖;SSD 遵循介质处置规范 |
2. 标准作业流(SOP)
2.1 可疑程序"先验后处置"
- 签名与信誉
bat
sigcheck -m -i -h "C:\path\unknown.exe" > sigcheck.txt
- 落地权限与可执行性
bat
accesschk -q -d "C:\path" > acl.txt
- 运行时观测(必要时)
- 先上 Sysmon 基线;触发后统一收集事件。
若结论为恶意/不合规:
- 先隔离(阻断执行/移动到隔离目录),再 SDelete 擦除残留和空闲区(评估介质类型)。
2.2 文件服务器"写入面缩减"
- 共享面审计
bat
shareenum /s /r > shares.csv
- 目录 ACL 盘点(示例:工程共享盘)
bat
accessenum \\FILESRV\E\Projects\ -nobanner -csv > acl_projects.csv
- 整改闭环:关闭"Everyone 可写"、精确到组,变更留痕。
2.3 现场取证三步
- 当前登录态
bat
logonsessions -p > who.txt
- 关键自启动/口令残留(AutoLogon)
- 审计 Autologon 状态,必要时关闭/清理。
- 行为记录
- 预置 Sysmon(含哈希、网络、注册表关键 EventID),定向回传到 SIEM。
2.4 下线/转让设备
- 数据分级 → 选择 SDelete (HDD)或加密+Crypto-Erase/厂商 Sanitize/物理销毁(SSD/闪存)。
- 空闲区清理 + 压缩友好
bat
sdelete -z D: :: Zero 填充空闲区,便于镜像压缩
- 形成处置证据(命令、输出、前后空间对比、介质序列号)。
3. 快速脚本库(可改造成批量)
3.1 一键环境体检(签名 + 会话 + 共享)
bat
@echo off
set HOST=%1
if "%HOST%"=="" (echo 用法: healthcheck.bat <hostname> & exit /b 1)
echo [1/3] Sigcheck top 50 最近写入
sigcheck -q -m -i -h \\%HOST%\C$\Windows\*.* | sort /R | more
echo [2/3] 当前登录会话
logonsessions -p \\%HOST% > \\%HOST%\C$\temp\logons.txt 2>nul
echo [3/3] 共享盘快速罗列
shareenum /r /s \\%HOST% > \\%HOST%\C$\temp\shares.csv 2>nul
echo 完成,查看 \\%HOST%\C$\temp\
3.2 以"受控服务账号"运行修复命令
bat
:: 用 ShellRunAs 启动 mmc 或专用修复工具
shellrunas /user:CORP\svc.ops "mmc.exe compmgmt.msc"
3.3 清理"Everyone 可写"的共享路径清单(半自动)
powershell
# find_open_writable.ps1
param([string]$ShareRoot="\\FILESRV\E$")
$targets = @()
Get-ChildItem $ShareRoot -Recurse -Directory -ErrorAction SilentlyContinue | ForEach-Object {
$acl = Get-Acl $_.FullName
if ($acl.Access | Where-Object { $_.IdentityReference -match "Everyone|Authenticated Users" -and $_.FileSystemRights -match "Write|Modify|FullControl"}) {
$targets += $_.FullName
}
}
$targets | Out-File .\writable.txt
Write-Host "可写路径清单已生成:writable.txt"
3.4 HDD 快速清场(空闲区 Zero + 文件擦除 2 次)
bat
sdelete -p 2 "D:\confidential\*.docx"
sdelete -z D:
4. Sysmon 最小可用基线(摘录)
目标:低噪声记录"进程创建、网络连接、映像加载、文件创建(可选)"。
xml
<!-- 仅示例,按需扩展 -->
<Sysmon schemaversion="4.82">
<EventFiltering>
<ProcessCreate onmatch="include">
<CommandLine condition="contains">.exe</CommandLine>
</ProcessCreate>
<ImageLoad onmatch="include">
<ImageLoaded condition="end with">.dll</ImageLoaded>
</ImageLoad>
<NetworkConnect onmatch="exclude">
<DestinationIsIpv6>true</DestinationIsIpv6>
<DestinationPort name="LocalServices">135,445,3389</DestinationPort>
</NetworkConnect>
<!-- 可按名单排除常见噪声路径/签名发行商 -->
</EventFiltering>
</Sysmon>
落地要点
- 与域控/GPO 或 EDR 事件转发配合;
- 定期回看基线,加入白名单(签名发行商、已知路径)。
5. 风险与合规提示
- 最小权限:AccessChk/ShareEnum 仅做"查看",变更需审批并最小化影响面。
- 凭据安全:ShellRunAs/Autologon 相关操作必须留痕,避免明文凭据在脚本或注册表中驻留。
- 介质处置 :SSD/移动介质 不建议依赖多次覆盖;遵循企业数据分级与介质处置规范。
- 证据链:签名报告、ACL 表、Sysmon 事件、会话清单、处置命令与时间线需统一归档。
6. 常见问题速查
- "Access is denied":当前令牌非管理员;或 UAC 降权;或 Admin$ 关闭。→ 用管理员上下文/修通 SMB。
- 共享看得到,权限改不动:ACL 继承链/显式拒绝条目。→ 先读 ACL 继承,再按顺序清理"拒绝"。
- SDelete 写满磁盘:空闲区覆盖阶段正常现象;完成会释放。中断后清理临时文件。
- Sysmon 日志很吵:回到基线配置,按发行商/路径/签名逐步加入白名单。
7. 交付物模板(你可以直接套用)
- 《主机快速体检报告》:
- 主机信息、登录会话、近 7 天新增可执行签名统计;
- 共享权限异常清单、整改建议;
- Sysmon 关键事件摘要与 IOC(若有)。
- 《权限整改工单》:路径/对象、现状 ACL、目标 ACL、影响评估、回滚方式。
- 《介质处置证明》:介质编号、处置方式(SDelete/加密擦除/物理销毁)、证据截图/日志、审批单号。
8. 下一步怎么做
- 把上面的 脚本库 丢进你的工具盘;
- 在测试机跑一遍"签名+会话+共享"的体检流;
- 选一个文件服务器做 AccessEnum → 整改 的小闭环;
- 给运维/安全团队做一次 30 分钟演练,明确分工与回滚;
- 将 Sysmon 基线 与 日志转发纳入日常巡检。
一套组合拳,覆盖"识别 → 取证 → 整治 → 清场"。从今天起,把 Sysinternals 的安全工具用得既稳又快。