Communitygithub.com

侵害指標分析

IPアドレス、ドメイン、ファイルハッシュなどの侵害指標(IOC)を分析し、トリアージと信頼度スコアリングを支援します。

侵害指標分析 とは?

このスキルは、フィッシングメールやアラートから得られた侵害指標(IOC)を迅速に分析・評価するためのワークフローを提供します。IPアドレス、ドメイン、URL、ファイルハッシュ、メールアドレスなどのIOCを正規化・分類し、VirusTotal、AbuseIPDB、MalwareBazaarなどの複数の脅威インテリジェンスソースからエンリッチメントを実行します。さらに、MISPやShodanを活用したキャンペーン帰属の文脈化、信頼度スコアに基づくブロック・監視・ホワイトリストの判断、STIX形式での成果物の文書化・配布までをカバーします。CDN IPのブロックやVTスコアへの過信など、よくある落とし穴も解説しており、実践的なIOC分析に役立ちます。

対応~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/mukul975/Anthropic-Cybersecurity-Skills/tree/main/skills/analyzing-indicators-of-compromise

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

侵害指標の分析

使用タイミング

このスキルは以下の状況で使用します:

  • フィッシングメールやアラートからIOC(URL、IPアドレス、ファイルハッシュ)が生成され、迅速なトリアージが必要な場合
  • 自動フィードから大量のIOCが配信され、ブロック制御に取り込む前に信頼度スコアリングが必要な場合
  • インシデント調査において、観測されたネットワークアーティファクトの文脈的エンリッチメントが必要な場合

高リスクなブロック判断では、このスキル単独で使用しないでください — 特にCDNやクラウドプロバイダーといった共有インフラストラクチャの場合は、必ず自動エンリッチメントとアナリストの判断を組み合わせてください。

前提条件

  • VirusTotal APIキー(無料またはEnterprise版):複数AVエンジンおよびサンドボックス検索用
  • AbuseIPDB APIキー:IPレピュテーションチェック用
  • MISPインスタンスまたはTIP:既知のキャンペーンとのクロスリファレンス用
  • Pythonとrequests、vt-pyライブラリ、またはプリビルドコネクタを備えたSOARプラットフォーム

ワークフロー

ステップ1: IOCタイプの正規化と分類

エンリッチメントの前に、各IOCを分類します:

  • IPv4/IPv6アドレス:RFC 1918プライベートアドレスか確認(外部エンリッチメントはスキップ)、フォーマットを検証
  • ドメイン/FQDN:安全な取り扱いのためにデファング(evil[.]com)、tldextractを使用して登録ドメインを抽出
  • URL:ドメインとパスを分離して抽出、リダイレクタを確認
  • ファイルハッシュ:ハッシュタイプ(MD5/SHA-1/SHA-256)を識別、一意性のためにSHA-256を推奨
  • メールアドレス:ドメイン(MX/DMARCを確認)とローカルパートに分割し、パターン分析を実施

IOCはドキュメント内でデファングしてください(.を[.]に、://を[://]に置き換える)。これにより誤クリックを防止します。

ステップ2: 複数ソースからのエンリッチメント

VirusTotal(ファイルハッシュ、URL、IP、ドメイン):

import vt

client = vt.Client("YOUR_VT_API_KEY")

# ファイルハッシュ検索
file_obj = client.get_object(f"/files/{sha256_hash}")
detections = file_obj.last_analysis_stats
print(f"悪意のある検出: {detections['malicious']}/{sum(detections.values())}")

# ドメイン分析
domain_obj = client.get_object(f"/domains/{domain}")
print(domain_obj.last_analysis_stats)
print(domain_obj.reputation)
client.close()

AbuseIPDB(IPアドレス):

import requests

response = requests.get(
    "https://api.abuseipdb.com/api/v2/check",
    headers={"Key": "YOUR_KEY", "Accept": "application/json"},
    params={"ipAddress": "1.2.3.4", "maxAgeInDays": 90}
)
data = response.json()["data"]
print(f"信頼度: {data['abuseConfidenceScore']}%, 報告数: {data['totalReports']}")

MalwareBazaar(ファイルハッシュ):

response = requests.post(
    "https://mb-api.abuse.ch/api/v1/",
    data={"query": "get_info", "hash": sha256_hash}
)
result = response.json()
if result["query_status"] == "ok":
    print(result["data"][0]["tags"], result["data"][0]["signature"])

ステップ3: キャンペーン帰属による文脈化

MISPでIOCに一致する既存イベントをクエリ:

from pymisp import PyMISP

misp = PyMISP("https://misp.example.com", "API_KEY")
results = misp.search(value="evil-domain.com", type_attribute="domain")
for event in results:
    print(event["Event"]["info"], event["Event"]["threat_level_id"])

ShodanでIPの文脈情報(ホスティングプロバイダ、開放ポート、バナー)を確認し、IPがbulletproofホスティングか正当なクラウドプロバイダーかを識別します(誤検出リスクの低減)。

ステップ4: 信頼度スコアと処分の割り当て

階層的な判断フレームワークを適用します:

  • ブロック(高信頼度 ≥ 70%):VTで15以上のAV検出、AbuseIPDBスコア70以上、既知のマルウェアファミリーまたはキャンペーンに一致
  • 監視/アラート(中信頼度 40–69%):5–14のAV検出、中程度のAbuseIPDBスコア、キャンペーン帰属なし
  • ホワイトリスト/調査(低信頼度 <40%):4以下のAV検出、不正使用報告なし、正当なサービス(Google、Cloudflare CDN IP)
  • 誤検出(False Positive):正当なビジネスサービスが誤ってフラグ付けされたもの。文書化し、今後のアラートから除外

ステップ5: 文書化と配布

TIP/MISPに以下の内容を記録:

  • 収集したすべてのエンリッチメントデータ(タイムスタンプ、ソース、スコア)
  • 処分の決定とその根拠
  • 実施したブロックアクション(ファイアウォール、プロキシ、DNSシンクホール)
  • 関連するインシデントチケット番号

信頼度フィールドを適切に設定したSTIXインジケータオブジェクトとしてエクスポートしてください。

主要概念

用語定義
IOC侵害指標 — 侵害の可能性を示す観測可能なネットワークまたはホストアーティファクト
エンリッチメント複数のインテリジェンスソースから生のIOCに文脈データを追加するプロセス
デファングドキュメント内での誤アクティベーションを防ぐためにIOCを修正(.を[.]に置き換え)すること
誤検出率悪意ありと誤ってフラグ付けされた良性アーティファクトの割合。ブロック閾値の調整に重要
シンクホール悪意のあるドメインのルックアップを良性IPにリダイレクトするDNSサーバー。トラフィックを完全にブロックせずに検出を可能にする
TTLブロック制御におけるIOCの有効期間。IP指標は30日後、ドメインは90日後に期限切れにする

ツールとシステム

  • VirusTotal:70以上のAVエンジン、サンドボックスレポート、コミュニティコメントを備えたマルチエンジンマルウェアスキャナおよび脅威インテリジェンスプラットフォーム
  • AbuseIPDB:90日間の不正使用レポート履歴を持つコミュニティ維持のIPレピュテーションデータベース
  • MalwareBazaar(abuse.ch):YARAルール関連付けとマルウェアファミリータグ付け機能を備えた無料のマルウェアハッシュリポジトリ
  • URLScan.io:フィッシングURLトリアージのためにスクリーンショット、DOM、ネットワークリクエストをキャプチャする無料のURL分析サービス
  • Shodan:IPエンリッチメントのためにホスティングプロバイダ、開放ポート、バナー情報を提供するインターネット全体のスキャンデータ

よくある落とし穴

  • 共有インフラストラクチャのブロック:CDN IP(Cloudflare 104.21.x.x、AWS CloudFront)は悪意のあるコンテンツをホストしている可能性もありますが、ブロックすると数千の正当なサイトに影響を及ぼします。
  • VTスコアへの過信:VTの検出数が少ないからといって良性とは限りません — ゼロデイマルウェアやカスタムAPTツールは最初はスコア0であることがよくあります。サンドボックスの動作、MISP、パッシブDNSを確認してください。
  • デファングの欠如:メールやConfluenceドキュメントに生のIOCを貼り付けると、自動URLスキャナやフィッシングツールをトリガーする可能性があります。
  • 有効期限ポリシーの欠如:TTLなしでIOCをブロックリストに蓄積すると、インフラストラクチャが正当なユーザーに再利用された際に誤検出が発生し続けます。
  • 単一ソースへの過依存:VirusTotalはAVの意見を集約しますが、すべてが間違っていたり、新興マルウェアに遅れをとることがあります。高リスクな判断には3つ以上の独立したソースを使用してください。

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

abusing-dpapi-for-credential-access

Extract and decrypt Windows DPAPI-protected secrets (Credential Manager, browser logins/cookies, Wi-Fi credentials, KeePass keys) online or offline using SharpDPAPI, SharpChrome, Mimikatz, or Impacket

abusing-shadow-credentials-for-privesc

Take over Active Directory accounts by writing attacker-controlled public keys to msDS-KeyCredentialLink (Shadow Credentials) with pyWhisker, Whisker, or Certipy, then authenticate via PKINIT to recover the target

achieving-cmmc-level-2-compliance

>-

acquiring-disk-image-with-dd-and-dcfldd

Create forensically sound bit-for-bit disk images with dd or dcfldd on a Linux forensic workstation, preserving evidence integrity through hash verification (MD5/SHA) during acquisition. Use when imaging a suspect drive, USB device, or memory card for investigation, preserving volatile disk evidence during incident response, or producing a verified copy for legal or law-enforcement proceedings before any destructive analysis.

analyzing-active-directory-acl-abuse

Detect dangerous ACL misconfigurations in Active Directory using ldap3

analyzing-android-malware-with-apktool

Perform static analysis of Android APK malware using apktool for resource decompilation, jadx for Java source recovery, and androguard for manifest inspection, dangerous permission-combination detection, and identification of obfuscated code, dynamic code loading, and reflection-based API calls. Use to statically triage a suspicious APK without executing it or to build mobile malware detection rules.

analyzing-api-gateway-access-logs

Parses API Gateway access logs (AWS API Gateway, Kong, Nginx) to detect

analyzing-apt-group-with-mitre-navigator

Query ATT&CK data with attackcti, mitreattack-python, and stix2, then build MITRE ATT&CK Navigator layers and multi-layer heatmap overlays mapping one or more APT groups

analyzing-azure-activity-logs-for-threats

Queries Azure Monitor activity logs and sign-in logs via azure-monitor-query

analyzing-bootkit-and-rootkit-samples

Analyzes bootkit and advanced rootkit malware infecting the Master

analyzing-browser-forensics-with-hindsight

Parse Chromium-based browser databases with Hindsight to extract and correlate browsing history, downloads, cookies, cached content, autofill data, saved passwords, and extensions from Chrome, Edge, Brave, Opera, and Vivaldi into a unified timeline (XLSX, JSON, or SQLite output). Use during incident response, insider-threat investigations, or criminal cases when you need to reconstruct a user

analyzing-campaign-attribution-evidence

Systematically evaluate cyber-campaign evidence to attribute an operation to a threat actor, using the Diamond Model and Analysis of Competing Hypotheses (ACH) to weigh infrastructure overlaps, TTP consistency, malware code similarity, and timing/language artifacts into confidence-weighted attribution assessments. Use when an incident investigation needs a defensible attribution confidence level.

analyzing-certificate-transparency-for-phishing

Monitor Certificate Transparency logs using crt.sh and Certstream to

analyzing-cloud-storage-access-patterns

Detect abnormal access in AWS S3, GCS, and Azure Blob Storage by analyzing CloudTrail Data Events, GCS audit logs, and Azure Storage Analytics for after-hours bulk downloads, new-IP access, and API-call spikes (e.g. GetObject) via statistical baselines and time-series anomaly detection. Use when investigating suspected cloud data exfiltration or building related detection rules.

analyzing-cobalt-strike-beacon-configuration

Extract and analyze Cobalt Strike beacon configuration from PE files

analyzing-cobaltstrike-malleable-c2-profiles

Parse and analyze Cobalt Strike Malleable C2 profiles with dissect.cobaltstrike (profiles and beacon-payload configs) and pyMalleableC2 (AST parsing) to extract HTTP/DNS transforms, URIs, headers, sleep/jitter, and injection behavior, then generate network detection signatures. Use when reverse-engineering a captured malleable profile or building detections against Cobalt Strike Beacon traffic.

analyzing-command-and-control-communication

Analyzes malware C2 communication over HTTP, HTTPS, DNS, and custom

analyzing-cyber-kill-chain

Analyzes intrusion activity against the Lockheed Martin Cyber Kill Chain

analyzing-disk-image-with-autopsy

Perform comprehensive forensic analysis of raw (dd), E01, or AFF disk images with Autopsy and The Sleuth Kit, recovering deleted files, examining metadata and embedded artifacts, keyword searching, and building investigation timelines with visual reports. Use for structured analysis of a forensic disk image or when stakeholders need visual reports from evidence.

analyzing-dns-logs-for-exfiltration

Analyzes DNS query logs to detect data exfiltration via DNS tunneling,

関連スキル