recovering-from-ransomware-attack

按照 NIST 和 CISA 框架执行结构化勒索软件事件恢复,包括环境隔离、取证证据保全、 干净基础设施重建、从已验证备份优先还原系统、凭据重置,以及针对再感染的验证。 涵盖 Active Directory 恢复、数据库还原和按依赖顺序重建应用栈。

9 stars

Best use case

recovering-from-ransomware-attack is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

按照 NIST 和 CISA 框架执行结构化勒索软件事件恢复,包括环境隔离、取证证据保全、 干净基础设施重建、从已验证备份优先还原系统、凭据重置,以及针对再感染的验证。 涵盖 Active Directory 恢复、数据库还原和按依赖顺序重建应用栈。

Teams using recovering-from-ransomware-attack should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/recovering-from-ransomware-attack/SKILL.md --create-dirs "https://raw.githubusercontent.com/killvxk/cybersecurity-skills-zh/main/skills/recovering-from-ransomware-attack/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/recovering-from-ransomware-attack/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How recovering-from-ransomware-attack Compares

Feature / Agentrecovering-from-ransomware-attackStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

按照 NIST 和 CISA 框架执行结构化勒索软件事件恢复,包括环境隔离、取证证据保全、 干净基础设施重建、从已验证备份优先还原系统、凭据重置,以及针对再感染的验证。 涵盖 Active Directory 恢复、数据库还原和按依赖顺序重建应用栈。

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# 从勒索软件攻击中恢复

## 使用场景

- 勒索软件加密了生产系统,且已决定从备份恢复
- 在实际事件发生前构建或验证勒索软件恢复手册
- 收到解密密钥(支付赎金或执法机构提供)并需要安全解密
- 需要对剩余系统进行部分恢复与解密并行操作
- 进行恢复演练以验证 RTO 承诺

**不要**在完成遏制和取证范围确定之前使用。在不了解攻击者访问权限和持久化机制的情况下过早恢复,将面临再感染风险。

## 前置条件

- 事件已声明,遏制阶段已完成(所有攻击者访问已切断)
- 取证证据已保全(磁盘镜像、内存转储、网络捕获)
- 备份完整性已验证(不可变/气隙隔离副本确认干净)
- 干净构建媒体可用(操作系统安装媒体、黄金镜像)
- 恢复环境已准备(与已入侵基础设施隔离的干净网络段)
- 恢复优先级列表已记录(按依赖顺序的第 1/2/3 级系统)

## 工作流程

### 步骤一:建立干净恢复环境

构建与已入侵网络隔离的恢复基础设施:

```bash
# 创建隔离恢复 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 必须在任何加入域的系统之前恢复:

```powershell
# 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
```

### 步骤三:还原前验证备份完整性

```bash
# 还原前扫描备份文件中的勒索软件痕迹
# 对挂载的备份使用离线防病毒扫描

# 以只读方式挂载备份
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. 非关键应用程序
```

```powershell
# 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"
```

### 步骤五:验证已恢复系统并加固

在将已恢复系统连接到生产环境之前:

```powershell
# 检查持久化机制
# 计划任务
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 在域成员之前)的系统恢复顺序 |

## 工具与系统

- **Veeam Instant Recovery**:直接从备份启动 VM,RTO 接近零,然后实时迁移到生产环境
- **Microsoft DSRM**:从备份还原域控制器的 AD 专用恢复模式
- **DSInternals PowerShell 模块**:验证 AD 数据库完整性,识别恢复后被入侵的凭据
- **Rubrik Instant Recovery**:在数秒内将备份挂载为实时 VM,用于快速恢复验证
- **ClamAV**:扫描备份文件还原前的开源防病毒工具

## 常见场景

### 场景:制造公司在 LockBit 攻击后的完整恢复

**背景**:一家拥有 300 台服务器的制造商有 80% 的基础设施被 LockBit 加密。48 小时前的不可变备份已验证为干净。生产线停止,每天损失 50 万美元。

**方案**:
1. 建立恢复 VLAN(10.99.0.0/24),与已入侵网络隔离
2. 使用 Veeam Instant Recovery 从不可变备份还原 2 台域控制器(2 小时)
3. 间隔 12 小时两次重置 krbtgt 密码,重置所有管理员密码
4. 使用 dcdiag 验证 AD,使用 DSInternals 扫描黄金票据指标
5. 还原 ERP 数据库(SAP)并验证数据一致性(4 小时)
6. 还原 MES(制造执行系统)和 SCADA 历史记录(3 小时)
7. 首先在隔离 OT 网络中让生产线控制器上线
8. 在持续 EDR 监控下分 48 小时分阶段重新连接
9. 总恢复时间:72 小时(在 96 小时 RTO 承诺内)

**常见陷阱**:
- 在未验证持久化机制不存在的情况下急于重新连接系统,导致再感染
- 从最新备份还原而未验证其早于入侵时间(攻击者可能已污染最近备份)
- 未将 krbtgt 密码重置两次,允许攻击者维持黄金票据访问
- 以错误顺序还原系统(应用服务器先于其数据库依赖)

## 输出格式

```
## 勒索软件恢复状态报告

**事件 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 已加载到检测规则
- [ ] 诱饵文件已部署
```

Related Skills

reverse-engineering-ransomware-encryption-routine

9
from killvxk/cybersecurity-skills-zh

对勒索软件加密例程进行逆向工程,以识别密码学算法、密钥生成缺陷,以及通过静态和动态分析挖掘潜在的解密机会。

recovering-deleted-files-with-photorec

9
from killvxk/cybersecurity-skills-zh

使用 PhotoRec 基于文件签名的数据雕刻(File Carving)引擎,从磁盘镜像和存储介质中恢复已删除文件,无论文件系统是否损坏。

performing-web-cache-poisoning-attack

9
from killvxk/cybersecurity-skills-zh

在授权安全测试期间,通过未纳入缓存键的头部和参数毒化缓存响应,利用 Web 缓存机制向其他用户投递恶意内容。

performing-web-cache-deception-attack

9
from killvxk/cybersecurity-skills-zh

通过利用 CDN 缓存层与源服务器之间的路径规范化差异,执行 Web 缓存欺骗攻击,从而缓存并获取敏感的已认证内容。

performing-vlan-hopping-attack

9
from killvxk/cybersecurity-skills-zh

在授权环境中使用交换机欺骗(Switch Spoofing)和双标签(Double Tagging)技术模拟 VLAN 跳转攻击, 测试 VLAN 分段有效性,并验证交换机端口安全配置对二层旁路攻击的抵御能力。

performing-supply-chain-attack-simulation

9
from killvxk/cybersecurity-skills-zh

模拟和检测软件供应链攻击,包括通过 Levenshtein 距离检测域名抢注(Typosquatting)、针对私有注册表的依赖混淆(Dependency Confusion)测试、使用 pip 进行包哈希验证,以及使用 pip-audit 扫描已知漏洞。

performing-ssl-stripping-attack

9
from killvxk/cybersecurity-skills-zh

在授权环境中使用 sslstrip、Bettercap 和 mitmproxy 模拟 SSL 剥离(SSL Stripping)攻击, 测试 HSTS 强制执行、证书验证以及保护用户免受加密连接降级攻击的 HTTPS 升级机制。

performing-ransomware-tabletop-exercise

9
from killvxk/cybersecurity-skills-zh

规划并主持模拟勒索软件(Ransomware)事件的桌面推演,以测试组织的应急准备、决策能力和通信流程。基于当前勒索软件威胁行为者(LockBit、ALPHV/BlackCat、Cl0p)设计真实场景,涵盖双重勒索(Double Extortion)、备份销毁和法规通知要求等注入内容。依据 NIST CSF 和 CISA 指南评估参与者响应。适用于勒索软件桌面推演、事件响应演练或勒索软件应急准备演习等请求。

performing-ransomware-response

9
from killvxk/cybersecurity-skills-zh

执行结构化的勒索软件事件响应,从初始检测到遏制、取证分析、解密评估、恢复和事后加固。 处理勒索谈判考量、备份完整性验证和法规通知要求。适用于勒索软件响应、 勒索软件恢复、加密勒索软件、数据加密攻击、赎金支付决策或勒索软件遏制等请求场景。

performing-ransomware-incident-response

9
from killvxk/cybersecurity-skills-zh

执行结构化的勒索软件事件响应,包括遏制、解密评估、从备份恢复以及根除勒索软件持久化机制。

performing-packet-injection-attack

9
from killvxk/cybersecurity-skills-zh

在授权安全评估中使用 Scapy、hping3 和 Nemesis 构造并注入自定义网络数据包, 测试防火墙规则、IDS 检测、协议处理能力以及网络协议栈对畸形和伪造流量的抵御能力。

performing-kerberoasting-attack

9
from killvxk/cybersecurity-skills-zh

Kerberoasting 是一种后渗透技术,通过为设置了服务主体名称(SPN)的账户请求 Kerberos TGS 票据来针对活动目录中的服务账户。这些票据用服务账户的 NTLM 哈希加密,允许在不产生登录失败事件的情况下进行离线暴力破解。