mcpField
M
Malware Analysis & Sandboxing

Malware Analysis & Sandboxing

github.com/masriyanセキュリティ530144 回インストール1 週間前に更新
リポジトリ

Malware Analysis & Sandboxing について

マルウェア分析者向けのClaudeスキルです。サンプルの静的解析、サンドボックスの挙動解釈、YARAルール作成、ファミリー分類を支援し、隔離環境の構築とIOC報告も案内します。

主な機能

  1. 01ファイルとPEの静的解析
  2. 02YARAルールの生成とテスト
  3. 03サンドボックス挙動の解釈
  4. 04マルウェアファミリーの分類
  5. 05IOC抽出とレポート作成
  6. 06サンドボックス隔離の指針

活用シーン

  1. 01不審なバイナリやスクリプトの初期分析
  2. 02マルウェア指標から検知ルールを作成
  3. 03CuckooまたはCAPEのレポートを解釈
  4. 04脅威ハンティング用のIOCを抽出

インストール

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

$npx skills add https://github.com/masriyan/claude-code-cybersecurity-skill --skill malware-analysis-&-sandboxing

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

同梱ファイル

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

examples/
example_usage.md
scripts/
yara_generator.py
static_analyzer.py

詳細

マルウェア解析とサンドボックス

目的

ファイルのプロパティやコードの静的解析、動的な挙動分析の解釈、YARA ルールの生成、サンドボックスの構成、マルウェアファミリーの特定など、マルウェア解析のワークフローを Claude が支援できるようにします。Claude は提供されたアーティファクトを直接解析し、自動処理用のスクリプトを実行します。

安全上の警告:疑わしいファイルを、隔離された管理下の環境以外で実行しないでください。ネットワークが分離され、スナップショット機能を備えた専用 VM またはサンドボックスを使用してください。


起動条件

次のような依頼があった場合に、このスキルが起動します。

  • 疑わしいファイル、バイナリ、スクリプトの解析
  • マルウェア検出用 YARA ルールの生成
  • マルウェア解析サンドボックスのセットアップ
  • Cuckoo/CAPE/AnyRun サンドボックスレポートの解釈
  • マルウェアファミリーまたは挙動の特定
  • マルウェアサンプルからの IOC の作成
  • PE/ELF ファイルの静的解析
  • マルウェアアーティファクトのメモリフォレンジック
  • 挙動分析(プロセス生成、ネットワーク、レジストリ、ファイルの変更)

前提条件

pip install yara-python pefile python-magic requests ssdeep

推奨する解析ツール:

  • Cuckoo Sandbox / CAPE — 自動化された動的解析
  • VirusTotal API — マルチエンジンのスキャンとインテリジェンス
  • YARA — パターンマッチングエンジン
  • Ghidra / IDA Pro — 詳細なバイナリ解析(→ スキル 04)
  • Volatility 3 — メモリフォレンジック
  • DIE (Detect-It-Easy) — パッカー/コンパイラーの検出
  • Pestudio — Windows PE の静的解析

主な機能

1. マルウェアの静的解析

ユーザーから疑わしいファイルまたはハッシュが提供された場合:

Claude は次の順序で解析します。

ステップ 1 — ファイルの識別:

file malware.exe              # File type from magic bytes
md5sum malware.exe            # MD5 hash (legacy, for lookups)
sha256sum malware.exe         # SHA-256 (primary identifier)
python scripts/static_analyzer.py --file malware.exe --hashes

ステップ 2 — 脅威インテリジェンスの照会:

  • VirusTotal を照会します(API キーが必要です。または、ブラウザーにハッシュを貼り付けます)
  • MalwareBazaar、AbuseIPDB、URLhaus を確認します
  • 既存の解析レポートを検索します
# VirusTotal hash lookup via API
curl "https://www.virustotal.com/api/v3/files/<sha256>" -H "x-apikey: YOUR_KEY"

ステップ 3 — PE 解析(Windows 実行ファイル):

python scripts/static_analyzer.py --file malware.exe --strings --imports --output report.json

出力から次の指標を探します。

疑わしいインポート関数:

カテゴリー疑わしい API
プロセスインジェクションCreateRemoteThread、WriteProcessMemory、VirtualAllocEx、NtMapViewOfSection、RtlCreateUserThread
永続化RegSetValueEx、CreateService、SHFileOperation、ITaskScheduler
解析対策IsDebuggerPresent、CheckRemoteDebuggerPresent、GetTickCount、QueryPerformanceCounter、GetSystemInfo
ネットワーク C2InternetOpenUrl、HttpSendRequest、WSAStartup、socket、URLDownloadToFile、WinHttpOpen
暗号処理CryptEncrypt、CryptDecrypt、BCryptEncrypt、CryptHashData
認証情報へのアクセスSamOpenDatabase、LsaOpenPolicy、NtlmGetUserInfo
キーロギングSetWindowsHookEx、GetAsyncKeyState、GetKeyboardState
防御回避VirtualProtect、NtSetInformationProcess、Wow64DisableWow64FsRedirection

ステップ 4 — 文字列の抽出と分析:

strings -a malware.exe | grep -E "(http|ftp|/[a-z]|[0-9]{1,3}\.[0-9]{1,3}|HKEY|reg|cmd|powershell)"

抽出した文字列を分類します。

  • ネットワーク指標:URL、IP、ドメイン、ユーザーエージェント
  • ファイルシステム:パス、ファイル名、レジストリキー
  • 暗号:Base64 データ、16 進文字列(鍵/ペイロードの可能性)
  • 解析対策:VM/サンドボックス検出用の文字列(VMware、VirtualBox、Sandboxie)
  • ミューテックス名:二重感染を防ぐ一意の識別子

ステップ 5 — エントロピー解析:

python scripts/static_analyzer.py --file malware.exe --entropy
エントロピー範囲解釈
0.0 – 1.0ほぼ空、またはすべてゼロのセクション
1.0 – 5.0通常のコード/データセクション
5.0 – 7.0圧縮されたデータまたはコード
7.0 – 8.0暗号化またはパックされたデータ — 要調査
7.9 – 8.0非常に疑わしい — 暗号化されたペイロードの可能性が高い
2. YARA ルールの生成

ユーザーがサンプルや指標から YARA ルールを作成するよう求めた場合:

Claude は、次の方法に従って YARA ルールを生成します。

  1. 安定した固有の指標を選ぶ — 汎用的なパターンは避け、このファミリーに固有のバイト列や文字列を選びます
  2. 構造的なパターンを優先する — ヘッダーのマジックバイト、特定のオフセット、セクション名を使用します
  3. 特異性と網羅性のバランスを取る — 特異性が高すぎるルール(1つのサンプルしか検出できない)や広すぎるルール(誤検知が発生する)は避けます
  4. 無害なファイルに対してテストする — クリーンな Windows システムファイルには一致しないルールにします

YARA ルールのテンプレート:

// Tier 1: Specific sample (hash-based)
rule MalwareFamily_Variant_Hash {
    meta:
        author = "Analyst Name"
        date = "2025-05-28"
        description = "Detects [MalwareFamily] [Variant] — specific sample"
        sha256 = "aabbcc..."
        tlp = "GREEN"
        reference = "https://example.com/analysis"
    
    condition:
        hash.sha256(0, filesize) == "aabbcc..."
}

// Tier 2: Family-level detection (behavioral strings)
rule MalwareFamily_Generic {
    meta:
        author = "Analyst Name"
        date = "2025-05-28"
        description = "Detects [MalwareFamily] family by strings and structure"
        tlp = "GREEN"
    
    strings:
        // C2 patterns
        $c2_ua   = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)" ascii
        $c2_uri  = "/gate.php?id=" ascii
        
        // Crypto constants
        $rc4_key = { 52 43 34 5F 4B 45 59 }  // "RC4_KEY" hex
        
        // Mutex
        $mutex   = "Global\\MSDTC_MUTEX_" ascii wide
        
        // Registry persistence key
        $reg_key = "HKLM\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run" ascii wide nocase
        
        // Anti-analysis check
        $vm_check = "VBOX" ascii wide nocase
    
    condition:
        uint16(0) == 0x5A4D and          // MZ header (PE file)
        filesize < 2MB and
        (
            (2 of ($c2_*)) or
            ($mutex and 1 of ($reg_key, $rc4_key))
        )
        and not $vm_check               // Exclude sandbox-aware variants
}

// Tier 3: Network IOC detection (for NIDS integration)
rule MalwareFamily_Network_C2 {
    meta:
        description = "Detects [MalwareFamily] C2 communication patterns"
        type = "network"
    
    strings:
        $beacon_path = "/api/v1/ping?uid=" ascii
        $beacon_ua   = "MalBot/1.0" ascii
        $checkin_hdr = "X-Command-Key: " ascii
    
    condition:
        any of them
}
# Generate YARA rules using the script
python scripts/yara_generator.py --samples ./malware_samples/ --output rules.yar
python scripts/yara_generator.py --file single_sample.exe --rule-name "MalwareFamily" --output rule.yar

# Test rules against benign files
yara -r generated_rule.yar /usr/bin/ 2>/dev/null | wc -l  # Should be 0
yara generated_rule.yar malware.exe                         # Should match
3. 動的/挙動分析

ユーザーがサンドボックス分析の出力を提供した場合、または動的分析について質問した場合:

Cuckoo/CAPE サンドボックスレポートの解釈:

Claude は、次の点に着目して挙動レポートを分析します。

  1. プロセスツリー分析:

    • 不審な親子関係(Word.exe → PowerShell.exe → cmd.exe)
    • プロセスインジェクションの兆候(異なる資格情報でプロセスを生成)
    • ホロウイングのパターン(不審なメモリを持つ正規プロセス)
  2. ネットワーク指標:

    • DNS クエリ:DGA パターン(ランダムに見えるドメイン)、ファストフラックス
    • HTTP:不審なユーザーエージェント、エンコードされた POST データ、ビーコニング間隔
    • C2 ビーコニングの検出:一定間隔でのコールバック(タイミングの一貫性を確認)
  3. ファイルシステムの変更:

    • シャドウコピーの削除:vssadmin delete shadows → ランサムウェアの兆候
    • 起動時の永続化:\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\
    • 一時ディレクトリにドロップされた二次ペイロード
  4. レジストリの変更:

    • Run キー:HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
    • サービスのインストール:HKLM\SYSTEM\CurrentControlSet\Services\
    • セキュリティポリシーの変更:UAC、Windows Defender の無効化
  5. MITRE ATT&CK へのマッピング:

観測された挙動MITRE の手法
PowerShell のダウンロードクレードルT1059.001 — PowerShell
cmd /c vssadmin delete shadowsT1490 — システムリカバリーの妨害
レジストリ Run キーによる永続化T1547.001 — レジストリ Run キー
CreateRemoteThread によるインジェクションT1055.001 — DLL インジェクション
スケジュールタスクの作成T1053.005 — スケジュールされたタスク
netsh advfirewall set allprofiles state offT1562.004 — ホストファイアウォールの無効化
UAC の回避(fodhelper.exe)T1548.002 — UAC の回避
LSASS メモリへのアクセスT1003.001 — LSASS メモリ
4. マルウェアファミリーの分類

ユーザーがマルウェアサンプルの特定や分類を求めた場合:

挙動パターンによる分類:

ファミリーの指標考えられるファミリーの種類
シャドウコピーの削除+ファイルの暗号化+身代金要求メモランサムウェア
定期的な HTTP ビーコニング+コマンド実行+ラテラルムーブメントRAT/ボットネット
ブラウザー認証情報の窃取+オンラインバンキング画面への偽装バンキング型トロイの木馬
キーロギング+スクリーンショットの取得+データの外部送信スパイウェア/インフォスティーラー
プロセスホロウイング+隠密な永続化ルートキット/バックドア
暗号通貨マイニングプロセスの生成クリプトマイナー
ネットワーク共有を介したワームの拡散ワーム
マクロを含み、ペイロードをダウンロードするドキュメントドロッパー/ダウンローダー

類似性分析:

# SSDeep fuzzy hash comparison
ssdeep -l malware.exe > hash.txt
ssdeep -m hash.txt similar_sample.exe
# Similarity > 70% → likely same family/variant
5. サンドボックス環境のセットアップ

ユーザーがマルウェア分析環境のセットアップを求めた場合:

最低限必要な隔離要件:

  1. 専用 VM(VirtualBox、VMware、KVM)— メインのマシンは絶対に使用しないでください
  2. ホストオンリーまたは隔離されたネットワークアダプター(デフォルトではインターネットアクセスなし)
  3. 分析前にスナップショットを作成 — 各サンプルの分析後に復元
  4. 共有フォルダーとクリップボードを無効化(データの外部送信を防止)

推奨サンドボックス構成:

Analysis VM (Windows 10/11 or Ubuntu):
├── FakeNet-NG or INetSim — Simulate network services
├── Wireshark — Capture network traffic
├── ProcessMonitor (Windows) / strace (Linux) — Monitor syscalls
├── Regshot (Windows) — Compare registry before/after
├── Autoruns (Windows) — Monitor persistence locations
└── Cuckoo/CAPE Agent — Automated collection

Network Layer:
└── Host-only adapter → no real internet → INetSim captures C2 attempts

仮想マシン検出対策:

  • VMware Tools をインストールする(Tools がないか確認するマルウェアもあります)
  • 適切な RAM(4GB 以上)と CPU 数(2 以上)を設定する
  • 無害なユーザーファイルやブラウザー履歴をいくつか追加する
  • 現実的な画面解像度(1920x1080)を設定する
  • 明らかな VM の痕跡(レジストリキー、デバイス名)を削除する

IOC の抽出と出力形式

分析したサンプルごとに、次の内容を出力します。

## Malware Analysis Report — [Sample Name]

**Hashes:**
- MD5:    [hash]
- SHA1:   [hash]
- SHA256: [hash]
- SSDeep: [fuzzy hash]

**Classification:** [Ransomware / RAT / Infostealer / etc.]
**Confidence:** [High / Medium / Low]
**Family:** [Family Name, if identified]
**First Seen:** [Date from TI sources]

**Network IOCs:**
- IPs: [list]
- Domains: [list]
- URLs: [list]
- User-Agent: [string]

**Host IOCs:**
- File Paths: [list]
- Registry Keys: [list]
- Mutex Names: [list]
- Services: [list]

**MITRE ATT&CK Mapping:**
- [Tactic]: [Technique ID] — [Technique Name]

**YARA Rules:** [Attached]
**Sigma Rules:** [Attached, for Skill 12]

スクリプトリファレンス

static_analyzer.py
python scripts/static_analyzer.py --file malware.exe --output report.json
python scripts/static_analyzer.py --file sample.dll --hashes --strings --imports --entropy
yara_generator.py
python scripts/yara_generator.py --samples ./malware_samples/ --output rules.yar
python scripts/yara_generator.py --file single_sample.exe --rule-name "MyMalware" --output rule.yar

スキル連携

条件関連スキル
より詳細な逆アセンブルが必要→ Skill 04(リバースエンジニアリング)
環境全体でのハンティングに IOC を使用する準備ができている→ Skill 06(脅威ハンティング)
インシデント対応中にマルウェアを収集← Skill 07(インシデント対応)
検知シグネチャを作成→ Skill 15(ブルーチーム防御)

参考資料


v3.0 の強化内容(2026 年更新)

現在の脅威状況に対応しています。

  • 主要なファミリー/TTP(2025~26 年) — インフォスティーラー(Lumma、Redline の後継)、ローダー(初期アクセスブローカー)、ランサムウェアのアフィリエイトに加え、Linux/ESXi ランサムウェア、クロスプラットフォーム対応の Go/Rust ペイロード。
  • EDR 回避と BYOVD — Bring-Your-Own-Vulnerable-Driver、EDR キラーのツール、直接/間接システムコール、フック解除、AMSI/ETW のパッチ適用を検出します。
  • ファイルレス/メモリのみ — メモリフォレンジック(→ Skill 07)を優先し、LOLBin(rundll32、mshta、regsvr32、msbuild)および PowerShell/.NET のリフレクティブロードをハンティングします。
  • 設定の抽出 — 一般的なファミリーから C2 設定を抽出し(文字列/キーをデコードし、ビーコンプロファイルをダンプ)、Skill 06 向けに IOC を STIX/CSV 形式で出力します。
  • AI 生成マルウェア — 変動性が高く、共有コードが少ないサンプルに注意してください。ハッシュ照合ではなく、挙動分析と挙動に基づく YARA に頼ってください。
  • デトネーションサービス — ローカル環境でデトネーションを行う前に、MalwareBazaar、Triage、Hybrid Analysis を起点に調査し、ファミリーを特定してください。

安全ルール: 本番ネットワークに到達できない、隔離されスナップショットから復元された VM 内でのみデトネーションを行ってください。レポートにはサンドボックスの設定を記録してください。

コメント