記録された将来のリスクリストに対する一般的なSplunk検索文字列
このページでは、Recorded Future リスクリストを、Splunk Enterprise でインデックス作成用に一般的に構成されるさまざまなログファイルと関連付けるための検索例を紹介します。 これらの検索を「そのまま」直接使用できる可能性は低いです。むしろ、知識豊富なSplunkエンジニアに、Recorded FutureリスクリストとクライアントSplunkインスタンス内のさまざまなログファイルを関連付ける検索を構築するための出発点を提供することを目的としています。 多くの例はIPアドレスに焦点を当てており、ドメイン、脆弱性、ハッシュの同様の検索は、ここにある例から簡単に作成できます。
このサポートページで利用可能な検索のリストは次のとおりです。
- 単一ソース – 単一フィールドの例
- 単一ソース – 複数フィールドの例
- Recorded Future リスク情報の元のログ・ソースへの追加
- ドメインの抽出と検索
- ハッシュの抽出と検索
- Splunk Statsを使用してイベントにカウントを追加する
- Splunk Threat Intelligence KV StoreでのRFデータの検索
- ES の Recorded Future ルックアップ テーブルで IP を検索
- Core SplunkのRecorded FutureルックアップテーブルでIPを検索
その他の一般的で便利な検索の提案は大歓迎です!
単一ソース – 単一フィールドの例:
この検索では、ファイアウォール(ネットスクリーンなど)からの最新の24時間のデータを、Recorded Future IPリスクリスト検索と関連付けます。 ファイアウォール ログの宛先 ("dst") IP アドレスのうち、0 以外のリスクと相関するものが結果に表示されます。
sourcetype=netscreen:firewall earliest=-24h | 評価 名前=dst | 評価 時間=start_time |ルックアップ rf_ip_threatfeed 名前 OUTPUT Risk, RiskString, EvidenceDetails |検索 リスク != "" | 評価 RiskScore = リスク | 評価 ルール = spath(EvidenceDetails,"EvidenceDetails{}.ルール")| 評価 EvidenceString = spath(EvidenceDetails,"EvidenceDetails{}.EvidenceString")|検索 リスク != "" | sort -リスクスコア |テーブル名、時間、リスクスコア、リスク文字列、ルール、証拠文字列 | 改名する 名前は IPAddress です。
単一ソース – 複数フィールドの例
これは上記の例と似ていますが、相関関係ではファイアウォール データの "src" 列と "dst" 列の両方を使用して、危険な IP アドレスを特定します。
sourcetype=netscreen:firewall earliest=-24h | 評価 名前= src + ";" + DST |makemv delim=";" 名前 |mvexpand の名前 | 評価 時間=start_time |ルックアップ rf_ip_threatfeed 名前 OUTPUT Risk, RiskString, EvidenceDetails |検索 リスク != "" | 評価 RiskScore = リスク | 評価 ルール = spath(EvidenceDetails,"EvidenceDetails{}.ルール")| 評価 EvidenceString = spath(EvidenceDetails,"EvidenceDetails{}.EvidenceString")|検索 リスク != "" | sort -リスクスコア |テーブル名、時間、リスクスコア、リスク文字列、ルール、証拠文字列 | 改名する 名前は IPAddress です。
記録された将来のリスク情報を元のログ・ソースに追加する:
これは一括エンリッチメントの例です。以下のサンプルでは、Rapid7の脆弱性スキャンデータがSplunkにロードされていることを前提としており、記録された将来のリスク情報をデータセットに追加しています
source ="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{}.ルール ")|eval EvidenceString = spath(EvidenceDetails," EvidenceDetails{}.EvidenceString ") |ctime(_time) を Time として変換する |テーブル Time, Name, asset_id, dest, Risk, RiskString, Rule, EvidenceString |asset_idの名前を「 NeXpose AssetID」に変更 | sort -リスク</query>
ドメインの抽出と検索:
この検索では、過去 24 時間の「_raw」ログフィールドで見つかったドメイン名が抽出され、Recorded Future によってスコアリングされたゼロ以外のリスクドメインと相関するドメイン名が表示されます。
index=main evalNsourcetype=squid:アクセス最早さ=-24時間 |rex field=_raw "http://(?<domain>[^/]+)/.+" | 評価 Time=strftime(_time,"%m/%d/%y %I:%M:%S:%p") | 評価 名前=ドメイン |ルックアップrf_domain_threatfeed名 OUTPUT Risk, RiskString, EvidenceDetails |検索 リスク != "" | 評価 ドメイン = 名前 | 評価 RiskScore = リスク | 評価 ルール = spath(EvidenceDetails,"EvidenceDetails{}.ルール")| 評価 EvidenceString = spath(EvidenceDetails,"EvidenceDetails{}.EvidenceString") |sort -リスクスコア |テーブル ドメイン、時間、リスクスコア、リスク文字列、ルール、証拠文字列
ハッシュの抽出と検索:
この検索は、エンドポイント製品デバイスに記録されたハッシュを関連付けます(例: Symantec)をRecorded Futureのハッシュリスクリストと関連付けます。 ゼロ以外のリスクの高い Recorded Future データのデータと一致するハッシュが、ハッシュが観測されたときのタイムスタンプとともに表示されます。
sourcetype="symantec:ep:risk:file" earliest=-24h |rex field=_raw "アプリケーションハッシュ: (?<file_hash>[^,]+)" | 評価 名前=file_hash | 評価 Time=strftime(_time,"%m/%d/%y %I:%M:%S:%p") |ルックアップrf_hash_threatfeed名 OUTPUT Risk, RiskString, EvidenceDetails |検索 リスク != "" | 評価 ルール = spath(EvidenceDetails,"EvidenceDetails{}.ルール")| 評価 EvidenceString = spath(EvidenceDetails,"EvidenceDetails{}.EvidenceString") |sort -リスク |テーブル名、時間、リスク、リスク文字列、ルール、証拠文字列 | 改名する ハッシュとしての名前
Splunk Statsを使用してイベントにカウントを追加する
この検索では、haproxy ログファイルの「remoteip」フィールドが Recorded Future IP リスクリストに関連付けられます。この検索では、ログ・レコードとリスク・リストのすべての相関関係を表示するのではなく、IPアドレスでグループ化し、過去24時間以内の相関イベントの#を表示します。
sourcetype="haproxy:http" earliest=-24h |rex フィールド=captured_headers "^(?<remoteip>\d+\.\d+\.\d+\.\d+).*$" |検索remoteip=* | 評価 名前=remoteip |ルックアップ rf_ip_threatfeed 名前 OUTPUT Risk, RiskString, EvidenceDetails |検索 リスク != "" |名前による eventstats カウント | 評価 ルール = spath(EvidenceDetails, "EvidenceDetails{}.ルール" )| 評価 EvidenceString = spath(EvidenceDetails, "EvidenceDetails{}.EvidenceString" ) |ソートカウント |テーブル名、カウント、リスク、リスク文字列、ルール、証拠文字列 |名前 を「宛先IP」 に 変更 |count を Count に 名前変更 |ルールの名前を 「ルール 」 に変更します
Splunk Threat Intelligence KV StoreでのRFデータの検索
これにより、脅威インテリジェンス KV ストアで使用可能な Recorded Future リスクリストが検索されます。
| 'ip_intel' |検索 threat_key=rf*
ES の RF ルックアップ テーブルで IP を検索
これは、Recorded Future IP risklist lookup table (Splunk ES) で特定の IP アドレスを検索する簡単な検索です。
| inputlookup recordedFutureIpThreatList | search Name=162.208.22.34
Search for IP (e.g., 162.208.22.34) in RF lookup table in Core Splunk
これは、Recorded Future IP リスクリスト検索テーブル (Splunk Enterprise) で特定の IP アドレスを検索する簡単な検索です。
| inputlookup rf_ip_threatfeed | search Name=162.208.22.34<