mcpField
P
performing-dynamic-analysis-with-any-run

performing-dynamic-analysis-with-any-run

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

performing-dynamic-analysis-with-any-run について

ANY.RUN のクラウド型インタラクティブサンドボックスでマルウェアを動的解析するためのスキルガイドです。サンプルを操作し、プロセスやネットワークの動きを調べ、指標とレポートを取得する手順を扱います。クラウドにアップロードできない機密サンプルには適しません。

主な機能

  1. 01クラウドサンドボックスの OS と実行環境を設定
  2. 02操作を加えてユーザー依存の挙動を誘発
  3. 03プロセスツリーとネットワーク活動を確認
  4. 04ファイル・ネットワーク・レジストリの指標を抽出
  5. 05解析レポートと PCAP をエクスポート

活用シーン

  1. 01Enable Content のクリックが必要な文書の解析
  2. 02インストーラーや権限確認後の挙動観察
  3. 03C2 通信先などの指標収集
  4. 04Windows バージョンごとのサンプル挙動比較

インストール

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

$npx skills add https://github.com/mukul975/anthropic-cybersecurity-skills --skill performing-dynamic-analysis-with-any-run

インストール後、Claude Code で/performing-dynamic-analysis-with-any-runを入力して読み込まれたか確認します。

同梱ファイル

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

LICENSE
references/
api-reference.md
scripts/
agent.py

詳細

ANY.RUN によるダイナミック解析の実行

使用するタイミング

  • アナリストがダイアログをクリックしたり、認証情報を入力したり、インストーラー画面を操作したりする必要があるインタラクティブなマルウェア解析が必要な場合
  • ローカルのサンドボックス基盤を維持せずに、クラウドベースのサンドボックスで迅速に解析したい場合
  • マルウェアが、アンチサンドボックスチェックを通過するためにユーザー操作を必要とする場合(「コンテンツの有効化」を要求するドキュメントマクロなど)
  • 公開または非公開のタスク URL を通じて、解析結果をチームメンバーと共有する場合
  • ANY.RUN で利用可能な複数の OS バージョン(Windows 7、10、11)間で動作を比較する場合

使用しないでください クラウドサービスにアップロードできない機密性の高いサンプルの場合は、代わりに Cuckoo のようなオンプレミスのサンドボックスを使用してください。

前提条件

  • ANY.RUN アカウント(無料のコミュニティ版、または https://any.run での有料サブスクリプション)
  • インタラクティブなセッションのストリーミングに対応した WebSocket をサポートする最新のWebブラウザー
  • アップロード可能なサンプルファイル(無料版は最大 100 MB、有料版は 256 MB まで)
  • 適切な実行環境を選択するための、サンプルの種類に関する理解
  • 解析セッション中に ANY.RUN のポータルへアクセスするための VPN または安全なネットワーク

ワークフロー

ステップ 1: 解析環境の設定

適切なパラメーターを指定して ANY.RUN のタスクを設定します:

ANY.RUN Task Configuration:
━━━━━━━━━━━━━━━━━━━━━━━━━━
OS Selection:        Windows 10 x64 (recommended default)
                     Windows 7 x64 (for legacy malware)
                     Windows 11 x64 (for modern samples)
Execution Time:      60 seconds (default) / 120-300 for slow-acting malware
Network:             Connected (captures real C2 traffic)
                     Residential Proxy (bypasses geo-blocking)
Privacy:             Public (free tier) / Private (paid - not indexed)
MITM Proxy:          Enable for HTTPS traffic decryption
Fake Net:            Enable to simulate internet services if sample checks connectivity

API による送信(有料版):

# Submit file via ANY.RUN API
curl -X POST "https://api.any.run/v1/analysis" \
  -H "Authorization: API-Key $ANYRUN_API_KEY" \
  -F "[email protected]" \
  -F "env_os=windows" \
  -F "env_version=10" \
  -F "env_bitness=64" \
  -F "opt_timeout=120" \
  -F "opt_network_connect=true" \
  -F "opt_privacy_type=bylink"

# Check task status
curl "https://api.any.run/v1/analysis/$TASK_ID" \
  -H "Authorization: API-Key $ANYRUN_API_KEY" | jq '.data.status'
ステップ 2: 実行中のマルウェアとの対話

インタラクティブセッションを使用して、マルウェアの動作をトリガーします:

Interactive Actions During Analysis:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
1. Document Macros:   Click "Enable Content" / "Enable Editing" when prompted
2. Installer Screens: Click through installation dialogs
3. UAC Prompts:       Click "Yes" to allow elevation (observe privilege escalation)
4. Credential Harvests: Enter fake credentials to observe phishing behavior
5. Browser Redirects:  Navigate to URLs if malware opens browser windows
6. File Dialogs:       Select target files if malware presents file picker
7. Timeout Extension:  Extend analysis time if malware has delayed execution
ステップ 3: プロセスツリーの解析

プロセスの実行チェーン全体を確認します:

Process Tree Analysis Points:
━━━━━━━━━━━━━━━━━━━━━━━━━━━
Parent-Child Relationships:
  - WINWORD.EXE -> cmd.exe -> powershell.exe (macro execution chain)
  - explorer.exe -> suspect.exe -> svchost.exe (process injection)

Process Events to Note:
  - Process creation with suspicious command-line arguments
  - PowerShell with encoded commands (-enc / -encodedcommand)
  - cmd.exe executing script files (.bat, .vbs, .js)
  - Legitimate processes spawned from unusual parents
  - Process termination (self-deletion behavior)
ステップ 4: ネットワークアクティビティの確認

DNS、HTTP/HTTPS、TCP/UDP の接続を調べます:

ANY.RUN Network Panel Analysis:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
DNS Requests:
  - Domain resolutions with threat intelligence tags
  - Fast-flux or DGA domain patterns
  - DNS over HTTPS (DoH) detection

HTTP/HTTPS Traffic (with MITM enabled):
  - Full request/response bodies for HTTP
  - Decrypted HTTPS traffic showing C2 commands
  - Downloaded payloads and their content types
  - POST data containing exfiltrated information

Connection Map:
  - Geographic visualization of C2 server locations
  - Connection timeline showing beacon patterns
  - Suricata alerts triggered on network traffic
ステップ 5: IOC と脅威インテリジェンスの調査

インジケーターを抽出し、既知の脅威と照合します:

ANY.RUN IOC Categories:
━━━━━━━━━━━━━━━━━━━━━━
Files:       Dropped files with hashes, YARA matches, VirusTotal results
Network:     IPs, domains, URLs contacted during execution
Registry:    Keys created/modified for persistence
Processes:   Suspicious process names and command lines
Mutex:       Named mutexes created (used for single-instance checking)
Signatures:  Suricata rules triggered, behavioral signatures matched

MITRE ATT&CK Mapping:
  - ANY.RUN automatically maps observed behaviors to ATT&CK techniques
  - Review the ATT&CK matrix tab for technique coverage
  - Export ATT&CK Navigator layer for reporting
ステップ 6: 解析結果のエクスポート

包括的なレポートとアーティファクトをダウンロードします:

# Download report via API
curl "https://api.any.run/v1/analysis/$TASK_ID/report" \
  -H "Authorization: API-Key $ANYRUN_API_KEY" \
  -o report.json

# Download PCAP
curl "https://api.any.run/v1/analysis/$TASK_ID/pcap" \
  -H "Authorization: API-Key $ANYRUN_API_KEY" \
  -o capture.pcap

# Download dropped files
curl "https://api.any.run/v1/analysis/$TASK_ID/files" \
  -H "Authorization: API-Key $ANYRUN_API_KEY" \
  -o dropped_files.zip

# Available exports from ANY.RUN web interface:
# - HTML Report (shareable standalone page)
# - PCAP file (network traffic capture)
# - Process dump (memory dumps of processes)
# - Dropped files (all files created during execution)
# - MITRE ATT&CK Navigator JSON
# - IOC export (STIX/JSON/CSV format)

主要な概念

用語定義
Interactive Sandbox実行中のサンプルとアナリストがリアルタイムで対話できる解析環境で、ユーザー操作に依存する動作をトリガーできる
MITM ProxyANY.RUN における中間者型の TLS インターセプトで、HTTPS トラフィックを復号し、暗号化された C2 通信を可視化する
Residential Proxyマルウェアのトラフィックを住宅用 IP アドレス経由でルーティングし、Geo-IP およびデータセンター IP による回避チェックを回避する ANY.RUN の機能
Suricata Alerts実行中にトリガーされるネットワーク IDS のシグネチャで、既知の悪意あるトラフィックパターンを即座に特定する
Process Tree親子プロセスの関係を階層的に可視化したもので、初期サンプルから最終的なペイロードまでの実行チェーン全体を示す
Behavioral Tags観測された動作に基づいて自動的に付与される ANY.RUN の分類ラベル(例: "trojan"、"stealer"、"ransomware")

ツールとシステム

  • ANY.RUN: リアルタイムの実行監視、プロセスツリー、ネットワークキャプチャ、MITRE ATT&CK マッピングを提供するクラウドベースのインタラクティブなマルウェアサンドボックス
  • ANY.RUN API: プログラムからのサンプル送信、ステータス確認、レポートやアーティファクトの取得を行う REST API
  • Suricata: ANY.RUN に統合されたネットワーク IDS で、悪意のあるネットワークトラフィックをシグネチャベースで検出する
  • MITRE ATT&CK Navigator: 観測されたマルウェアの動作を攻撃者の手法および战术にマッピングするフレームワーク統合
  • VirusTotal Integration: サンプルおよびドロップされたファイルのハッシュを VirusTotal の検出結果と自動的に照合する機能

一般的なシナリオ

シナリオ: ユーザー操作が必要なマクロ有効ドキュメントの解析

背景: フィッシングメールに含まれる .docm ファイルは、マクロペイロードを起動するために「コンテンツの有効化」をクリックする必要があります。従来の非対話型サンドボックスでは、悪意のある動作を起動できません。

手順:

  1. Windows 10 環境と Microsoft Office がインストールされた ANY.RUN に .docm をアップロードします
  2. Word が起動してセキュリティバナーが表示されたら、「コンテンツの有効化」を対話的にクリックします
  3. プロセスツリーでマクロの実行を確認します (Word -> cmd.exe -> powershell.exe)
  4. ネットワークパネルを監視し、PowerShell が第2段階のペイロードをダウンロードする様子を確認します
  5. UAC プロンプトが表示された場合は「はい」をクリックし、ペイロードの完全な動作チェーンを観察できるようにします
  6. ダウンロードされたペイロードについて、既知のマルウェアシグネチャに対する Suricata のアラートを確認します
  7. ブロック用に IOC (ダウンロード URL、ドロップされたファイルのハッシュ、C2 ドメイン) をエクスポートします

落とし穴:

  • MITM プロキシを有効にし忘れると、暗号化された HTTPS トラフィックが可視化されません
  • 実行遅延や sleep タイマーを持つマルウェアに対して実行タイムアウトを短くしすぎると、動作を捕捉できません
  • サンプルに機密性の高い組織データが含まれている場合、公開解析環境にアップロードしないでください
  • すべてのプロンプトをクリックしないこと。マルウェアによっては、完全に実行するために複数回のユーザー操作を必要とするものがあります

出力形式

ANY.RUN ANALYSIS REPORT
=========================
Task URL:         https://app.any.run/tasks/<task_id>
Sample:           invoice_q3.docm
SHA-256:          e3b0c44298fc1c149afbf4c8996fb924...
Verdict:          MALICIOUS (Score: 95/100)
Family:           Emotet
Tags:             [trojan, banker, spam, macro]

PROCESS TREE
WINWORD.EXE (PID: 2184)
  └── cmd.exe (PID: 3456) "/c powershell -enc JABXAG..."
      └── powershell.exe (PID: 4012)
          └── rundll32.exe (PID: 4568) "C:\Users\...\payload.dll,Control_RunDLL"

NETWORK INDICATORS
DNS:    update.emotet-c2[.]com -> 185.220.101.42
HTTPS:  POST hxxps://185.220.101[.]42/wp-content/gate/ (C2 beacon)
HTTP:   GET hxxp://compromised-site[.]com/invoice.dll (payload download)

SURICATA ALERTS
[1:2028401] ET MALWARE Emotet CnC Beacon
[1:2028402] ET MALWARE Win32/Emotet Activity

MITRE ATT&CK TECHNIQUES
T1566.001  Phishing: Spearphishing Attachment
T1204.002  User Execution: Malicious File
T1059.001  Command and Scripting Interpreter: PowerShell
T1218.011  Rundll32 Execution
T1071.001  Application Layer Protocol: Web Protocols

DROPPED FILES
payload.dll  SHA-256: abc123... Detection: 48/72 (VirusTotal)
config.dat   SHA-256: def456... (encrypted configuration)

コメント