Executes NIST/CISA ransomware recovery: isolates environments, preserves forensics, rebuilds clean infra, restores from verified backups, resets credentials, verifies reinfection. Covers AD, databases, app stacks.
npx claudepluginhub killvxk/cybersecurity-skills-zhThis skill uses the workspace's default tool permissions.
- 勒索软件加密了生产系统,且已决定从备份恢复
Executes NIST/CISA ransomware recovery: isolates environment, preserves forensics, rebuilds clean infrastructure, restores prioritized systems from verified backups, resets credentials, validates against re-infection.
Executes ransomware recovery per NIST/CISA: isolates environment, preserves forensics, rebuilds infrastructure, restores Active Directory/databases/applications from verified backups.
Guides structured ransomware incident response from detection and containment to forensics, decryption assessment, recovery, and hardening. Covers negotiations, backups, regulations. For ransomware attacks.
Share bugs, ideas, or general feedback.
不要在完成遏制和取证范围确定之前使用。在不了解攻击者访问权限和持久化机制的情况下过早恢复,将面临再感染风险。
构建与已入侵网络隔离的恢复基础设施:
# 创建隔离恢复 VLAN
# 与已入侵网络段无连接
# 专用互联网访问仅用于补丁下载(通过代理)
# 恢复网络架构:
# VLAN 999(恢复)- 10.99.0.0/24
# - 恢复工作站(10.99.0.10-20)
# - 已恢复的 DC(10.99.0.50-55)
# - 已恢复的服务器(10.99.0.100+)
# - 互联网代理(10.99.0.1)- 仅用于补丁和更新
# 防火墙规则:拒绝从恢复 VLAN 到生产 VLAN 的所有流量
# 允许:恢复 VLAN -> 互联网(仅 HTTPS,通过代理)
# 允许:恢复 VLAN -> 备份基础设施(仅还原流量)
Active Directory 必须在任何加入域的系统之前恢复:
# AD 恢复流程
# 步骤 2a:从已知良好的备份还原 AD
# 使用 DSRM(目录服务还原模式)启动
# 1. 从 ISO 构建干净的 Windows Server
# 2. 使用 AD 还原模式提升为 DC
# 3. 从不可变备份还原系统状态
# 验证 AD 备份是在入侵前创建的
# 对比备份时间戳与最早已知的入侵日期
wbadmin get versions -backuptarget:E: -machine:DC01
# 在 DSRM 中还原系统状态
wbadmin start systemstaterecovery -version:02/15/2026-04:00 -backuptarget:E: -machine:DC01 -quiet
# 还原后,重置关键账户
# 重置 krbtgt 密码两次(使所有 Kerberos 票据失效)
# 这防止了黄金票据持久化
Import-Module ActiveDirectory
Set-ADAccountPassword -Identity krbtgt -Reset -NewPassword (ConvertTo-SecureString "NewKrbtgt2026!Complex#1" -AsPlainText -Force)
# 等待复制(至少 12 小时),然后再次重置
Set-ADAccountPassword -Identity krbtgt -Reset -NewPassword (ConvertTo-SecureString "NewKrbtgt2026!Complex#2" -AsPlainText -Force)
# 重置所有特权账户密码
$privilegedGroups = @("Domain Admins", "Enterprise Admins", "Schema Admins", "Administrators")
foreach ($group in $privilegedGroups) {
Get-ADGroupMember -Identity $group -Recursive | ForEach-Object {
Set-ADAccountPassword -Identity $_.SamAccountName -Reset `
-NewPassword (ConvertTo-SecureString (New-Guid).Guid -AsPlainText -Force)
Set-ADUser -Identity $_.SamAccountName -ChangePasswordAtLogon $true
}
}
# 验证 AD 健康状态
dcdiag /v /c /d /e /s:DC01
repadmin /showrepl
# 还原前扫描备份文件中的勒索软件痕迹
# 对挂载的备份使用离线防病毒扫描
# 以只读方式挂载备份
mount -o ro,noexec /dev/backup_lv /mnt/backup_verify
# 使用 ClamAV 扫描
clamscan -r --infected --log=/var/log/backup_scan.log /mnt/backup_verify
# 检查已知的勒索软件指标
find /mnt/backup_verify -name "*.encrypted" -o -name "*.locked" \
-o -name "*.lockbit" -o -name "DECRYPT_*" -o -name "readme.txt" \
-o -name "RECOVER-*" -o -name "HOW_TO_*" | tee /var/log/ransomware_check.log
# 验证数据库一致性(SQL Server 示例)
# 将数据库还原到临时实例进行验证
RESTORE VERIFYONLY FROM DISK = '/mnt/backup_verify/databases/erp_db.bak'
WITH CHECKSUM
遵循基于依赖关系的恢复序列:
恢复顺序:
第 1 阶段(0-4 小时):身份和基础设施
1. 域控制器(AD、DNS、DHCP)
2. 证书颁发机构(如适用)
3. 核心网络服务(DHCP、NTP)
第 2 阶段(4-12 小时):关键业务系统
4. 数据库服务器(SQL、Oracle、PostgreSQL)
5. 核心业务应用程序(ERP、CRM)
6. 邮件(Exchange、M365 混合)
第 3 阶段(12-24 小时):重要系统
7. 文件服务器
8. Web 应用程序
9. 监控和安全工具(SIEM、EDR)
第 4 阶段(24-48 小时):剩余系统
10. 开发环境
11. 归档系统
12. 非关键应用程序
# Veeam Instant Recovery - VMware/Hyper-V 最快还原
# 直接从备份文件启动 VM,然后迁移到生产存储
# 第 1 级系统即时恢复
Start-VBRInstantRecovery -RestorePoint (Get-VBRRestorePoint -Name "DC01" |
Sort-Object CreationTime -Descending | Select-Object -First 1) `
-VMName "DC01-Recovered" `
-Server (Get-VBRServer -Name "esxi01.recovery.local") `
-Datastore "recovery-datastore"
# 验证后迁移到生产存储
Start-VBRQuickMigration -VM "DC01-Recovered" `
-Server (Get-VBRServer -Name "esxi01.prod.local") `
-Datastore "production-datastore"
在将已恢复系统连接到生产环境之前:
# 检查持久化机制
# 计划任务
Get-ScheduledTask | Where-Object {$_.State -ne "Disabled"} |
Select-Object TaskName, TaskPath, State, Author |
Export-Csv C:\recovery\scheduled_tasks.csv
# 服务
Get-Service | Where-Object {$_.StartType -eq "Automatic"} |
Select-Object Name, DisplayName, StartType, Status |
Export-Csv C:\recovery\auto_services.csv
# 启动项
Get-CimInstance Win32_StartupCommand |
Select-Object Name, Command, Location, User |
Export-Csv C:\recovery\startup_items.csv
# WMI 事件订阅(常见持久化方式)
Get-WmiObject -Namespace root\subscription -Class __EventFilter
Get-WmiObject -Namespace root\subscription -Class __EventConsumer
# 注册表运行键
Get-ItemProperty "HKLM:\Software\Microsoft\Windows\CurrentVersion\Run"
Get-ItemProperty "HKLM:\Software\Microsoft\Windows\CurrentVersion\RunOnce"
Get-ItemProperty "HKCU:\Software\Microsoft\Windows\CurrentVersion\Run"
# 验证无未授权的管理员账户
Get-LocalGroupMember -Group "Administrators"
Get-ADGroupMember -Identity "Domain Admins"
# 连接生产环境前应用最新补丁
Install-WindowsUpdate -AcceptAll -AutoReboot
第 1 阶段:重新连接身份基础设施
- DC 在生产 VLAN 上线
- 验证复制和认证
- 监控可疑的认证模式
第 2 阶段:重新连接第 1 级系统
- 每次一个系统
- 继续下一个前 EDR 监控 1 小时
- 验证应用程序功能
第 3 阶段:重新连接剩余系统
- 每组 5-10 个系统
- 持续监控再感染指标
全程:SOC 处于高度警戒状态
- EDR 处于主动封锁模式
- 所有先前 IOC 加载到检测规则
- 在已恢复系统上部署诱饵文件
| 术语 | 定义 |
|---|---|
| DSRM | 目录服务还原模式:允许 AD 数据库还原的域控制器特殊启动模式 |
| krbtgt 重置 | 将 krbtgt 账户密码重置两次可使所有 Kerberos 票据失效,防御黄金票据持久化 |
| 即时恢复 | 直接从备份存储启动 VM 以立即可用,同时在后台迁移数据的备份技术 |
| 证据保全 | 在恢复开始前保留取证镜像和日志,是执法机构和保险索赔的必要条件 |
| 干净构建 | 从可信安装媒体重建系统,而非尝试清理受感染系统 |
| 依赖链 | 基于服务依赖关系(如 AD 在域成员之前)的系统恢复顺序 |
背景:一家拥有 300 台服务器的制造商有 80% 的基础设施被 LockBit 加密。48 小时前的不可变备份已验证为干净。生产线停止,每天损失 50 万美元。
方案:
常见陷阱:
## 勒索软件恢复状态报告
**事件 ID**:[ID]
**恢复开始**:[时间戳]
**当前阶段**:[1-4]
**预计完成**:[时间戳]
### 恢复进度
| 阶段 | 系统 | 状态 | 开始时间 | 完成时间 | RTO 目标 |
|-------|---------|--------|---------|-----------|------------|
| 1 - 身份 | DC01、DC02、DNS | 完成 | HH:MM | HH:MM | 4 小时 |
| 2 - 关键 | ERP、DB01、DB02 | 进行中 | HH:MM | -- | 12 小时 |
| 3 - 重要 | FS01、邮件、Web | 待处理 | -- | -- | 24 小时 |
| 4 - 剩余 | 开发、归档 | 待处理 | -- | -- | 48 小时 |
### 验证清单
- [ ] AD 完整性已验证(dcdiag、repadmin)
- [ ] krbtgt 密码重置(2 次,间隔执行)
- [ ] 所有管理员密码已重置
- [ ] 持久化机制已扫描
- [ ] EDR 已部署并在已恢复系统上激活
- [ ] IOC 已加载到检测规则
- [ ] 诱饵文件已部署