mcpField
E
eradicating-malware-from-infected-systems

eradicating-malware-from-infected-systems

github.com/mukul975セキュリティ35.2k49 回インストール8 週間前に更新
リポジトリ

eradicating-malware-from-infected-systems について

封じ込めとフォレンジック調査の範囲特定後に、マルウェアを除去する手順を示すセキュリティ対応スキルです。永続化の確認、痕跡の削除、認証情報のリセット、パッチ適用、復旧前の検証を扱います。

主な機能

  1. 01永続化メカニズムの特定
  2. 02マルウェア痕跡のスキャン
  3. 03ファイルと攻撃者の痕跡の削除
  4. 04侵害された認証情報のリセット
  5. 05初期侵入に使われた脆弱性の修正
  6. 06復旧前の駆除検証

活用シーン

  1. 01封じ込め後のマルウェア感染システムの清掃
  2. 02複数の永続化メカニズムの除去
  3. 03Active Directory 侵害への対応
  4. 04システムの再イメージが必要かの判断

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/mukul975/anthropic-cybersecurity-skills --skill eradicating-malware-from-infected-systems

インストール後、Claude Code で/eradicating-malware-from-infected-systemsを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

LICENSE
assets/
template.md
references/
api-reference.md
standards.md
workflows.md
scripts/
agent.py
process.py

詳細

感染したシステムからのマルウェアの根絶

使用するタイミング

  • マルウェア感染が確認され、封じ込めが実施されている
  • フォレンジック調査で、すべての永続化メカニズムが特定されている
  • 侵害されたすべてのシステムが特定され、影響範囲が確定している
  • 攻撃者のアーティファクトを削除し、クリーンな状態に復元する準備ができている
  • 封じ込め後のフェーズで、体系的なクリーンアップが必要である

前提条件

  • マルウェアのアーティファクトをすべて特定した、フォレンジック分析が完了していること
  • 侵害されたすべてのシステムとアカウントの一覧があること
  • 最新のシグネチャを適用した EDR/AV が導入されていること
  • 対象のマルウェアファミリーに対応した YARA ルールがあること
  • 復元用のクリーンなシステムイメージまたは検証済みのバックアップがあること
  • 根絶作業中もネットワーク隔離が継続されていること

ワークフロー

ステップ 1: すべての永続化メカニズムをマッピングする
# Windows - Check all known persistence locations
# Autoruns (Sysinternals) - comprehensive autostart enumeration
autorunsc.exe -accepteula -a * -c -h -s -v > autoruns_report.csv

# Registry Run keys
reg query "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run" /s
reg query "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run" /s
reg query "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce" /s
reg query "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run" /s

# Scheduled tasks
schtasks /query /fo CSV /v > schtasks_all.csv

# WMI event subscriptions
Get-WMIObject -Namespace root\Subscription -Class __EventFilter
Get-WMIObject -Namespace root\Subscription -Class CommandLineEventConsumer
Get-WMIObject -Namespace root\Subscription -Class __FilterToConsumerBinding

# Services
Get-Service | Where-Object {$_.Status -eq 'Running'} | Select-Object Name, DisplayName, BinaryPathName

# Linux persistence
cat /etc/crontab
ls -la /etc/cron.*/
ls -la /etc/init.d/
systemctl list-unit-files --type=service | grep enabled
cat /etc/rc.local
ls -la ~/.bashrc ~/.profile ~/.bash_profile
ステップ 2: すべてのマルウェアのアーティファクトを特定する
# Scan with YARA rules specific to the malware family
yara -r -s malware_rules/specific_family.yar C:\ 2>/dev/null

# Scan with multiple AV engines
# ClamAV scan
clamscan -r --infected --remove=no /mnt/infected_disk/

# Check for known malicious file hashes
find / -type f -newer /tmp/baseline_timestamp -exec sha256sum {} \; 2>/dev/null | \
  while read hash file; do
    grep -q "$hash" known_malicious_hashes.txt && echo "MALICIOUS: $file ($hash)"
  done

# Check for web shells
find /var/www/ -name "*.php" -newer /tmp/baseline -exec grep -l "eval\|base64_decode\|system\|passthru\|shell_exec" {} \;

# Check for unauthorized SSH keys
find / -name "authorized_keys" -exec cat {} \; 2>/dev/null
ステップ 3: マルウェアのファイルとアーティファクトを削除する
# Remove identified malicious files (after forensic imaging)
# Windows
Remove-Item -Path "C:\Windows\Temp\malware.exe" -Force
Remove-Item -Path "C:\Users\Public\backdoor.dll" -Force

# Remove malicious scheduled tasks
schtasks /delete /tn "MaliciousTaskName" /f

# Remove WMI persistence
Get-WMIObject -Namespace root\Subscription -Class __EventFilter -Filter "Name='MalFilter'" | Remove-WMIObject
Get-WMIObject -Namespace root\Subscription -Class CommandLineEventConsumer -Filter "Name='MalConsumer'" | Remove-WMIObject

# Remove malicious registry entries
reg delete "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run" /v "MalEntry" /f

# Remove malicious services
sc stop "MalService" && sc delete "MalService"

# Linux - Remove malicious cron entries, binaries, SSH keys
crontab -r  # Remove entire crontab (or edit specific entries)
rm -f /tmp/.hidden_backdoor
sed -i '/malicious_key/d' ~/.ssh/authorized_keys
systemctl disable malicious-service && rm /etc/systemd/system/malicious-service.service
ステップ 4: 侵害された資格情報をリセットする
# Reset all compromised user passwords
Import-Module ActiveDirectory
Get-ADUser -Filter * -SearchBase "OU=CompromisedUsers,DC=domain,DC=com" |
  Set-ADAccountPassword -Reset -NewPassword (ConvertTo-SecureString "TempP@ss!$(Get-Random)" -AsPlainText -Force)

# Reset KRBTGT password (twice, 12+ hours apart for Kerberos golden ticket attack)
Reset-KrbtgtPassword -DomainController DC01
# Wait 12+ hours, then reset again
Reset-KrbtgtPassword -DomainController DC01

# Rotate service account passwords
Get-ADServiceAccount -Filter * | ForEach-Object {
  Reset-ADServiceAccountPassword -Identity $_.Name
}

# Revoke all Azure AD tokens
Get-AzureADUser -All $true | ForEach-Object {
  Revoke-AzureADUserAllRefreshToken -ObjectId $_.ObjectId
}

# Rotate API keys and secrets
# Application-specific credential rotation
ステップ 5: 初期侵入に使用された脆弱性にパッチを適用する
# Identify and patch the entry point vulnerability
# Windows Update
Install-WindowsUpdate -KBArticleID "KB5001234" -AcceptAll -AutoReboot

# Linux patching
apt update && apt upgrade -y  # Debian/Ubuntu
yum update -y                 # RHEL/CentOS

# Application-specific patches
# Update web application frameworks, CMS, etc.

# Verify patch was applied
Get-HotFix -Id "KB5001234"
ステップ 6: 根絶を検証する
# Full system scan with updated signatures
# CrowdStrike Falcon - On-demand scan
curl -X POST "https://api.crowdstrike.com/scanner/entities/scans/v1" \
  -H "Authorization: Bearer $FALCON_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"ids": ["device_id"]}'

# Verify no persistence mechanisms remain
autorunsc.exe -accepteula -a * -c -h -s -v | findstr /i "unknown verified"

# Check for any remaining suspicious processes
Get-Process | Where-Object {$_.Path -notlike "C:\Windows\*" -and $_.Path -notlike "C:\Program Files*"}

# Verify no unauthorized network connections
Get-NetTCPConnection -State Established |
  Where-Object {$_.RemoteAddress -notlike "10.*" -and $_.RemoteAddress -notlike "172.16.*"} |
  Select-Object LocalPort, RemoteAddress, RemotePort, OwningProcess

# Run YARA rules again to confirm no artifacts remain
yara -r malware_rules/specific_family.yar C:\ 2>/dev/null

主要な概念

概念説明
永続化メカニズム攻撃者が再起動をまたいでアクセスを維持するために使用する手法
根本原因の修復初期侵害を可能にした脆弱性を修正すること
資格情報のローテーション侵害の可能性があるすべてのパスワードとトークンをリセットすること
KRBTGT のリセットゴールデンチケット攻撃の後に Kerberos チケットを無効化すること
侵害指標のスイープ既知の悪意あるアーティファクトについてすべてのシステムをスキャンすること
検証スキャン復旧前に根絶が成功したことを確認すること
再イメージ化クリーンup するのではなく、クリーンなイメージからシステムを再構築すること

ツールとシステム

ツール用途
Sysinternals AutorunsWindows のすべての自動起動場所を列挙する
YARAカスタムルールに基づくマルウェアスキャン
CrowdStrike/SentinelOneEDR ベースのスキャンと修復
ClamAVオープンソースのアンチウイルススキャン
PowerShellスクリプトによるクリーンアップと検証
Velociraptorリモートでのアーティファクト収集と修復

一般的なシナリオ

  1. 複数の永続化を持つ RAT: レジストリ、スケジュールタスク、WMI サブスクリプションを使用するリモートアクセス型トロイの木馬。3 つの永続化メカニズムすべてを削除する必要がある。
  2. IIS/Apache 上の Web シェル: Web ルート内の PHP/ASPX Web シェル。シェルを削除し、すべての Web ファイルを監査し、アプリケーションの脆弱性にパッチを適用する。
  3. ルートキット感染: クリーンアップ後も残存するカーネルレベルのルートキット。既知の正規メディアからの完全な再イメージ化が必要である。
  4. ファイルレスマルウェア: メモリとレジストリに常駐する PowerShell ベースの攻撃。レジストリエントリを削除し、WMI サブスクリプションをクリアして、システムを再起動する。
  5. Active Directory の侵害: 攻撃者がバックドアアカウントとゴールデンチケットを作成した。KRBTGT をリセットし、不正なアカウントを削除し、グループのメンバーシップを監査する。

出力形式

  • 削除されたすべてのアーティファクトを含む根絶アクションのログ
  • 資格情報のローテーション確認レポート
  • 脆弱性パッチの適用検証
  • 根絶後の検証スキャンの結果
  • 復旧フェーズに移行してよいシステムの一覧

コメント