building-soc-playbook-for-ransomware について
SOCチーム向けに、ランサムウェア対応プレイブックの設計と文書化を支援するスキルです。検知から復旧、証拠保全、事後レビューまでの手順とクエリ例を扱います。
主な機能
- 01SIEM検知ルールの例
- 02アラートのトリアージ分岐
- 03端末隔離と封じ込め手順
- 04フォレンジック証拠の収集
- 05バックアップ復旧と事後レビュー
活用シーン
- 01Tier 1~3アナリスト向け対応手順の策定
- 02ランサムウェア封じ込め・復旧手順の整備
- 03机上演習での連携課題の特定
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ mukul975/ anthropic-cybersecurity-skills --skill building-soc-playbook-for-ransomwareインストール後、Claude Code で/building-soc-playbook-for-ransomwareを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
LICENSEreferences/api-reference.mdscripts/agent.py詳細
ランサムウェア対応SOCプレイブックの構築
使用する場面
以下の場合にこのスキルを使用します。
- SOCチームがTier 1~3のアナリスト向けに、標準化されたランサムウェア対応プレイブックを必要としている
- 組織にランサムウェアの封じ込めと復旧に関する文書化された手順がない
- 机上演習で、ランサムウェア対応の連携におけるギャップが明らかになった
- コンプライアンス要件(NIST CSF、ISO 27001)により、インシデント対応プレイブックの文書化が義務付けられている
使用しないでください。進行中のランサムウェアインシデントにおいて、唯一の指針として使用しないでください。インシデント発生前に、事前に作成したプレイブックをテストし、訓練しておいてください。
前提条件
- エンドポイントおよびネットワークのデータを備えたSIEMプラットフォーム(Splunk ES、Elastic Security、またはSentinel)
- ネットワーク隔離機能を備えたEDRソリューション(CrowdStrike、SentinelOne、またはMicrosoft Defender for Endpoint)
- テスト済みの復旧手順と、オフラインまたはイミュータブルなバックアップを備えたバックアップインフラストラクチャ
- 法務部門、経営幹部、および外部のIRリテーナー連絡先を含むコミュニケーション計画
- ランサムウェアの攻撃手法の連鎖に関するMITRE ATT&CKの知識
ワークフロー
ステップ1:検知トリガーを定義する
ランサムウェアの初期兆候を検知するSIEMルールを作成します。
大規模なファイル暗号化の検知(Splunk):
index=sysmon EventCode=11
| bin _time span=1m
| stats dc(TargetFilename) AS unique_files, values(TargetFilename) AS sample_files by Computer, Image, _time
| where unique_files > 100
| eval suspicious_extensions = if(match(mvjoin(sample_files, ","), "\.(encrypted|locked|crypt|enc|ransom)"), "YES", "NO")
| where suspicious_extensions="YES" OR unique_files > 500
| sort - unique_files
シャドウコピーの削除(T1490):
index=wineventlog sourcetype="WinEventLog:Security" OR index=sysmon EventCode=1
(CommandLine="*vssadmin*delete*shadows*" OR CommandLine="*wmic*shadowcopy*delete*"
OR CommandLine="*bcdedit*/set*recoveryenabled*no*" OR CommandLine="*wbadmin*delete*catalog*")
| table _time, Computer, User, ParentImage, Image, CommandLine
ランサムウェアの身代金要求ファイルの作成:
index=sysmon EventCode=11
TargetFilename IN ("*README*.txt", "*DECRYPT*.txt", "*RANSOM*.txt", "*RECOVER*.html", "*HOW_TO*.txt")
| stats count by Computer, Image, TargetFilename
| where count > 5
Elastic SecurityのEQL版:
sequence by host.name with maxspan=2m
[process where event.type == "start" and
process.args : ("*vssadmin*", "*delete*", "*shadows*")]
[file where event.type == "creation" and
file.name : ("*README*DECRYPT*", "*RANSOM*", "*HOW_TO_RECOVER*")]
ステップ2:トリアージの判断ツリーを作成する
RANSOMWARE ALERT TRIAGE
│
├── Is encryption actively occurring?
│ ├── YES → IMMEDIATE: Isolate host from network (Step 3)
│ │ Do NOT power off (preserve memory for forensics)
│ └── NO → Is this a pre-encryption indicator?
│ ├── Shadow copy deletion → HIGH PRIORITY: Isolate and investigate
│ ├── Known ransomware hash → HIGH PRIORITY: Block hash, scan enterprise
│ └── Suspicious process behavior → MEDIUM: Investigate, prepare isolation
│
├── How many hosts affected?
│ ├── Single host → Contained incident, follow host isolation procedure
│ ├── Multiple hosts (2-10) → Escalate to Tier 2, begin enterprise-wide scan
│ └── Enterprise-wide (>10) → Activate full IR team, engage external retainer
│
└── Is data exfiltration confirmed?
├── YES → Double extortion scenario, engage legal for breach notification
└── NO/UNKNOWN → Check for Cobalt Strike/C2 beacons, review outbound transfers
ステップ3:封じ込め手順
EDRによるネットワーク隔離(CrowdStrike Falcon):
# Isolate host using CrowdStrike Falcon API
curl -X POST "https://api.crowdstrike.com/devices/entities/devices-actions/v2?action_name=contain" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{"ids": ["device_id_here"]}'
Microsoft Defender for Endpointによるネットワーク隔離:
# Isolate machine via MDE API
$headers = @{Authorization = "Bearer $token"}
$body = @{Comment = "Ransomware containment - IR-2024-0500"; IsolationType = "Full"} | ConvertTo-Json
Invoke-RestMethod -Uri "https://api.securitycenter.microsoft.com/api/machines/$machineId/isolate" `
-Method Post -Headers $headers -Body $body -ContentType "application/json"
ファイアウォールの緊急ルール:
# Palo Alto — Block SMB lateral spread
set rulebase security rules RansomwareContainment from Trust to Trust
set rulebase security rules RansomwareContainment application ms-ds-smb
set rulebase security rules RansomwareContainment action deny
set rulebase security rules RansomwareContainment disabled no
commit
Active Directoryの緊急対応:
# Disable compromised account
Disable-ADAccount -Identity "compromised_user"
# Reset Kerberos TGT (if domain admin compromised)
# WARNING: This resets krbtgt and requires two resets 12+ hours apart
Reset-KrbtgtKeys -Server "DC-PRIMARY" -Force
# Block lateral movement by disabling remote services
Set-Service -Name "RemoteRegistry" -StartupType Disabled -Status Stopped
ステップ4:証拠の収集と保全
修復前にフォレンジック成果物を収集します。
# Capture running processes and network connections
Get-Process | Export-Csv "C:\IR\processes_$(hostname).csv"
Get-NetTCPConnection | Export-Csv "C:\IR\netstat_$(hostname).csv"
# Capture memory dump (if host still running)
winpmem_mini_x64.exe C:\IR\memory_$(hostname).raw
# Collect ransomware artifacts
Copy-Item "C:\Users\*\Desktop\*README*" "C:\IR\ransom_notes\" -Recurse
Copy-Item "C:\Users\*\Desktop\*.encrypted" "C:\IR\encrypted_samples\" -Force
# Capture event logs
wevtutil epl Security "C:\IR\Security_$(hostname).evtx"
wevtutil epl System "C:\IR\System_$(hostname).evtx"
wevtutil epl "Microsoft-Windows-Sysmon/Operational" "C:\IR\Sysmon_$(hostname).evtx"
ステップ5:駆除と復旧
ランサムウェアの亜種を特定する:
- 暗号化されたサンプルと身代金要求ファイルをID Ransomware(https://id-ransomware.malwarehunterteam.com/)にアップロードします
- No More Ransom Project(https://www.nomoreransom.org/)で利用可能な復号ツールを確認します
- MalwareBazaarでランサムウェアのファミリーのIOCを検索します
Splunkで組織全体のIOCスキャンを実施する:
index=sysmon (EventCode=1 OR EventCode=11 OR EventCode=3)
(TargetFilename="*ransomware_binary_name*" OR sha256="KNOWN_HASH"
OR DestinationIp="C2_IP_ADDRESS" OR CommandLine="*malicious_command*")
| stats count by Computer, EventCode, Image, CommandLine
| sort - count
バックアップからの復旧:
- バックアップの完全性を確認します(オフラインまたはイミュータブルなバックアップが影響を受けていないことを確認します)
- 既知の正常なイメージから影響を受けたシステムを再構築します
- 最後のクリーンなバックアップからデータを復元します
- ネットワークに再接続する前に、復元したシステムを検証します
- 再感染がないか、復元したシステムを72時間監視します
ステップ6:インシデント後の文書化
教訓を盛り込んだプレイブックの結論を構成します。
POST-INCIDENT REVIEW TEMPLATE
1. Timeline of events (detection to full recovery)
2. Initial access vector identification
3. Dwell time analysis (time from initial compromise to encryption)
4. Detection gaps identified
5. Response effectiveness metrics (MTTD, MTTC, MTTR)
6. Playbook improvements recommended
7. New detection rules deployed
8. Backup and recovery procedure updates
重要な概念
| 用語 | 定義 |
|---|---|
| 二重恐喝 | データの暗号化と窃取を組み合わせ、身代金が支払われなければデータを公開すると脅すランサムウェアの手口 |
| 潜伏期間 | 初期侵害から検知までの期間。ランサムウェアの攻撃者は、暗号化を開始するまで平均5~9日潜伏します |
| MTTC | 封じ込めまでの平均時間。検知から影響を受けたシステムの隔離成功までの時間です |
| キルチェーン | ランサムウェアの進行過程:初期アクセス -> 実行 -> 永続化 -> 権限昇格 -> ラテラルムーブメント -> 収集 -> 外部送信 -> 影響 |
| イミュータブルバックアップ | 定められた保持期間中、変更や削除ができないバックアップストレージ(WORMストレージ) |
| RTO/RPO | Recovery Time Objective(目標復旧時間)/Recovery Point Objective(目標復旧時点)。許容可能な最大ダウンタイムとデータ損失のしきい値です |
ツールとシステム
- CrowdStrike Falcon / SentinelOne:ネットワーク隔離、プロセスの終了、脅威ハンティング機能を備えたEDRプラットフォーム
- Splunk ES / Elastic Security:検知ルールの導入や組織全体のIOCスキャンに使用するSIEMプラットフォーム
- ID Ransomware:暗号化されたファイルのサンプルや身代金要求ファイルからランサムウェアの亜種を特定するオンラインサービス
- No More Ransom Project:既知のランサムウェアファミリー向けに無料の復号ツールを提供する、Europolが支援する取り組み
- Veeam / Rubrik:イミュータブルバックアップのサポートと即時復旧機能を備えたエンタープライズ向けバックアップソリューション
一般的なシナリオ
- LockBit 攻撃:SMB 経由のラテラルムーブメントと大量のファイル暗号化によって検出されます — 隔離し、Cobalt Strike のビーコンをスキャンします
- BlackCat/ALPHV:ランサムウェアの身代金要求文の作成によって検出されます — Rclone または Mega へのアップロードによるデータ窃取がないか確認します
- Conti/Royal:シャドウコピーの削除によって検出されます — 先行する BazarLoader/Emotet による初期侵入がないか確認します
- RansomHub:異常なプロセス実行によって検出されます — VPN または RDP の認証情報が侵害されていないか調査します
- Play Ransomware:サービスアカウントの悪用によって検出されます — AD を監査し、新たに作成されたアカウントやグループメンバーシップの変更を確認します
出力形式
RANSOMWARE PLAYBOOK EXECUTION — IR-2024-0500
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Phase 1 - Detection:
Alert: Mass file encryption detected on FILESERVER-03
Variant: LockBit 3.0 (confirmed via ID Ransomware)
MTTD: 12 minutes from first encryption to SOC alert
Phase 2 - Containment:
[DONE] FILESERVER-03 isolated via CrowdStrike at 14:35 UTC
[DONE] SMB blocked enterprise-wide via firewall emergency rule
[DONE] Compromised service account disabled in AD
MTTC: 23 minutes
Phase 3 - Eradication:
[DONE] 3 additional hosts with C2 beacon identified and isolated
[DONE] Cobalt Strike C2 domain (c2[.]evil[.]com) sinkholed
[DONE] Enterprise-wide IOC scan completed — no additional infections
Phase 4 - Recovery:
[DONE] FILESERVER-03 rebuilt from gold image
[DONE] Data restored from immutable Veeam backup (RPO: 4 hours)
[DONE] Systems monitored 72 hours — no reinfection
MTTR: 18 hours
Total Affected: 1 server, 3 workstations
Data Loss: 4 hours of file modifications (backup RPO)
Exfiltration: No evidence of data exfiltration confirmed
コメント
Markdown 対応