Recorded Futureリスクの一般的な Splunk 検索文字列リスト

このページには、Recorded Future リスクリストと、Splunk Enterprise でインデックス作成用に一般的に設定されているさまざまなログ ファイルを相関させる検索例が含まれています。これらの検索はいずれも「そのまま」直接使用できる可能性は低く、知識豊富な Splunk エンジニアに、Recorded Future リスク リストとクライアント Splunk インスタンス内のさまざまなログ ファイルを関連付ける検索を構築するための開始点を提供することを目的としています。多くの例は IP アドレスに焦点を当てており、ここで見つかった例からドメイン、脆弱性、ハッシュの同様の検索を簡単に作成できます。

このサポート ページで利用可能な検索のリストは次のとおりです。

追加の一般的な便利な検索の提案を歓迎します。


単一の情報源 - 単一フィールドの例:

この検索は、ファイアウォール (netscreen など) からの最新の 24 時間のデータと、Recorded Future IP リスクリスト検索を関連付けます。ファイアウォール ログから、リスクがゼロではないことと相関するすべての宛先 (「dst」) IP アドレスが結果に表示されます。

sourcetype=netscreen:firewall earliest=-24h | eval Name=dst | eval Time=start_time | lookup rf_ip_threatfeed Name OUTPUT Risk、RiskString、EvidenceDetails | search Risk != "" | eval RiskScore = Risk | eval Rule = spath(EvidenceDetails,"EvidenceDetails{}.Rule")| eval EvidenceString = spath(EvidenceDetails,"EvidenceDetails{}.EvidenceString")| search Risk != "" | sort -RiskScore | table Name、Time、RiskScore、RiskString、Rule、EvidenceString | rename Name as IPAddress

単一の情報源 - 複数フィールドの例

これは上記と似た例ですが、相関関係ではファイアウォール データの「src」列と「dst」列の両方を使用して危険な IP アドレスを識別します。

sourcetype=netscreen:firewall earliest=-24h | eval Name=src + ";" + dst | makemv delim=";" Name | mvexpand Name | eval Time=start_time | lookup rf_ip_threatfeed Name OUTPUT Risk、RiskString、EvidenceDetails | search Risk != "" | eval RiskScore = Risk | eval Rule = spath(EvidenceDetails,"EvidenceDetails{}.Rule")| eval EvidenceString = spath(EvidenceDetails,"EvidenceDetails{}.EvidenceString")| search Risk != "" | sort -RiskScore | table Name、Time、RiskScore、RiskString、Rule、EvidenceString | rename Name as IPAddress

Recorded Futureリスク情報を元のログソースに追加する:

これはバルクエンリッチメントの例です。以下のサンプルでは、Rapid7からの脆弱性スキャンデータがSplunkにロードされており、 Recorded Futureリスク情報をデータセットに追加していることを前提としています。

情報源=“Rapid7_Nexpose_Splunk_Vulnerability_Data" | fields cve, asset_id, dest | eval Name=cve | lookup rf_vuln_threatfeed Name OUTPUT Risk, RiskString, EvidenceDetails | search Risk != "" | eval Rule = spath(EvidenceDetails,"EvidenceDetails{}.Rule")| eval EvidenceString = spath(EvidenceDetails,"EvidenceDetails{}.EvidenceString") | convert ctime(_time) as Time | table Time, Name, asset_id, dest, Risk, RiskString, Rule, EvidenceString | rename asset_id as "NeXpose AssetID" | sort -Risk </query>

ドメイン抽出と検索:

この検索では、過去 24 時間の「_raw」ログ フィールドで見つかったドメイン名を抽出し、Recorded Future によってスコア付けされたゼロ以外のリスク ドメインと相関するドメイン名を表示します。

index=main evalNsourcetype=squid:access earliest=-24h | rex field=_raw "http://(?<domain>[^/]+)/.+" | eval Time=strftime(_time," %m/% d/%y %I:% M: %S:% p") | eval Name=domain | lookup rf_domain_threatfeed Name OUTPUT Risk、RiskString、EvidenceDetails | search Risk != "" | eval Domain = Name | eval RiskScore = Risk | eval Rule = spath(EvidenceDetails,"EvidenceDetails{}.Rule")| eval EvidenceString = spath(EvidenceDetails,"EvidenceDetails{}.EvidenceString") |sort -RiskScore | table Domain、Time、RiskScore、RiskString、Rule、EvidenceString

ハッシュ抽出と検索:

この検索は、エンドポイント製品デバイスに記録されたハッシュ(例:Symantec 社と Recorded Future 社のハッシュ リスク リストを比較します。リスクがゼロではない Recorded Future データ内のデータと一致するハッシュが、ハッシュが観測されたときのタイムスタンプとともに表示されます。

sourcetype="symantec:ep:risk:file" earliest=-24h | rex field=_raw "アプリケーションハッシュ: (?<file_hash>[^,]+)" | eval Name=file_hash | eval Time=strftime(_time," %m/% d/%y %I:% M: %S:% p") | lookup rf_hash_threatfeed Name OUTPUT Risk、RiskString、EvidenceDetails | search Risk != "" | eval Rule = spath(EvidenceDetails,"EvidenceDetails{}.Rule")| eval EvidenceString = spath(EvidenceDetails,"EvidenceDetails{}.EvidenceString") |sort -Risk | table Name、Time、Risk、RiskString、Rule、EvidenceString | rename Name as Hash

Splunk Statsを使用してイベントにカウントを追加する

この検索は、haproxy ログ ファイルの「remoteip」フィールドを、 Recorded Future IP リスク リストと相関させます。ログ レコードとリスク リストのすべての相関関係を表示するのではなく、この検索は IP アドレスごとにグループ化し、過去 24 時間以内の相関イベントの数を表示します。

sourcetype="haproxy:http" 最早=-24h | rex field=captured_headers "^(?<remoteip>\d+\.\d+\.\d+\.\d+).*$"| search remoteip=* | eval Name=remoteip | lookup rf_ip_threatfeed Name OUTPUT Risk、RiskString、EvidenceDetails | search Risk != "" | eventstats count by Name |eval Rule = spath(EvidenceDetails,"EvidenceDetails{}.Rule")| eval EvidenceString = spath(EvidenceDetails,"EvidenceDetails{}.EvidenceString") | sort -count | table Name、count、Risk、RiskString、Rule、EvidenceString | Name を "Destination IP" に変更 | count を Count に変更 | Rule を "Rule(s)" に変更

Splunk Threat Intelligence KV Store で RF データを検索する

これにより、Threat Intelligence KV ストアで利用可能な Recorded Future リスクリストが検索されます。

| `ip_intel` | threat_key=rf* を検索

ESのRFルックアップテーブルでIPを検索する

これは、Recorded Future IP リスクリスト ルックアップ テーブル (Splunk ES) で特定の IP アドレスを検索する簡単な検索です。

| inputlookup 記録されたFutureIpThreatList | 検索名=162.208.22.34

Core SplunkのRFルックアップテーブルでIP(例:162.208.22.34)を検索します。

これは、Recorded Future IP リスクリスト ルックアップ テーブル (Splunk Enterprise) で特定の IP アドレスを検索する簡単な検索です。

| inputlookup rf_ip_threatfeed | 検索名=162.208.22.34<
This content is confidential. Do not distribute or download content in a manner that violates your Recorded Future license agreement. Sharing this content outside of licensed Recorded Future users constitutes a breach of the terms and/or agreement and shall be considered a breach by your organization.
この記事は役に立ちましたか?
1人中1人がこの記事が役に立ったと言っています

このセクションの記事

もっと見る