>

Gängige Splunk-Suchzeichenfolgen für aufgezeichnete zukünftige Risikolisten

Diese Seite enthält Beispielsuchen für die Korrelation von Risikolisten für die aufgezeichnete Zukunft mit verschiedenen Protokolldateien, die üblicherweise für die Indizierung in Splunk Enterprise konfiguriert sind. Es ist unwahrscheinlich, dass eine dieser Suchvorgänge direkt "so wie sie ist" verwendet werden kann. Vielmehr sollen sie sachkundigen Splunk-Ingenieuren einen Ausgangspunkt für die Erstellung von Suchvorgängen bieten, die Risikolisten für die aufgezeichnete Zukunft mit verschiedenen Protokolldateien korrelieren, die sich in Client-Splunk-Instanzen befinden.  Viele der Beispiele konzentrieren sich auf IP-Adressen, und ähnliche Suchvorgänge nach Domänen, Schwachstellen und Hashes lassen sich einfach aus den hier aufgeführten Beispielen erstellen.

Hier ist die Liste der verfügbaren Suchanfragen auf dieser Support-Seite:

Vorschläge für weitere gängige und nützliche Suchanfragen sind willkommen! 


Single Source – Beispiel für ein einzelnes Feld:

Diese Suche korreliert die Daten der letzten 24 Stunden von einer Firewall (z. B. netscreen) mit der Suche nach der Risikoliste für aufgezeichnete zukünftige IP-Adressen. Alle Ziel-IP-Adressen ("DST") aus den Firewall-Protokollen, die mit einem Risiko ungleich Null korrelieren, werden im Ergebnis angezeigt.

sourcetype=netscreen:firewall frühester=-24h | Eval Name=dst | Eval Zeit=start_time | Nachschlagen rf_ip_threatfeed Name OUTPUT Risk, RiskString, EvidenceDetails | Suche Risiko != "" | Eval RiskScore = Risiko | Eval Regel = spath(EvidenceDetails,"EvidenceDetails{}. Regel")| Eval EvidenceString = spath(EvidenceDetails,"EvidenceDetails{}. EvidenceString")| Suche Risiko != "" | sort -RiskScore | Tabelle Name, Zeit, RiskScore, RiskString, Regel, EvidenceString | umbenennen Name als IPAddress

Einzelne Quelle – Beispiel für mehrere Felder

Dies ist ein ähnliches Beispiel wie das obige Beispiel, aber die Korrelation verwendet sowohl die Spalten "src" als auch "dst" der Firewalldaten, um riskante IP-Adressen zu identifizieren.

sourcetype=netscreen:firewall frühester=-24h | Eval Name=src + "; " + Sommerzeit | makemv delim="; " Name | mvexpand Name | Eval Zeit=start_time | Nachschlagen rf_ip_threatfeed Name OUTPUT Risk, RiskString, EvidenceDetails | Suche Risiko != "" | Eval RiskScore = Risiko | Eval Regel = spath(EvidenceDetails,"EvidenceDetails{}. Regel")| Eval EvidenceString = spath(EvidenceDetails,"EvidenceDetails{}. EvidenceString")| Suche Risiko != "" | sort -RiskScore | Tabelle Name, Zeit, RiskScore, RiskString, Regel, EvidenceString | umbenennen Name als IPAddress

Hinzufügen von aufgezeichneten zukünftigen Risikoinformationen zu einer ursprünglichen Protokollquelle:

Dies ist ein Beispiel für die Massenanreicherung. Im folgenden Beispiel wird davon ausgegangen, dass Schwachstellen-Scan-Daten von Rapid7 in Splunk geladen wurden und wir Informationen zu aufgezeichneten zukünftigen Risiken an den Datensatz anhängen

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{}. Regel")| eval EvidenceString = spath(EvidenceDetails,"EvidenceDetails{}. EvidenceString") | ctime(_time) als Zeit | table Time, Name, asset_id, dest, Risk, RiskString, Rule, EvidenceString | asset_id in "NeXpose AssetID" umbenennen| sort -Risk </query>

Domain-Extraktion und -Suche:

Diese Suche extrahiert den Domainnamen, der in den letzten 24 Stunden im Protokollfeld "_raw" gefunden wurde, und zeigt alle an, die mit einer Domain ungleich Null korrelieren, die von Recorded Future bewertet wurde.

index=main evalNsourcetype=squid:Zugriff frühest=-24h | rex field=_raw "http://(?<domain>[^/]+)/.+" | Eval Time=strftime(_time,"%m/%d/%y %I:%M:%S:%p") | Eval Name=Domäne | Nachschlagen rf_domain_threatfeed Name OUTPUT Risk, RiskString, EvidenceDetails | Suche Risiko != "" | Eval Domäne = Name | Eval RiskScore = Risiko | Eval Regel = spath(EvidenceDetails,"EvidenceDetails{}. Regel")| Eval EvidenceString = spath(EvidenceDetails,"EvidenceDetails{}. EvidenceString") |sort -RiskScore | Tabelle Domäne, Zeit, RiskScore, RiskString, Regel, EvidenceString

Hash-Extraktion und -Suche:

Diese Suche korreliert Hashes, die auf einem Endgerätgerät protokolliert wurden (z. Symantec) mit der Hash-Risikoliste von Recorded Future. Hashes, die mit Daten in riskanten Daten vom Typ "Aufgezeichnete Zukunft" ungleich Null übereinstimmen, werden zusammen mit dem Zeitstempel angezeigt, zu dem der Hash beobachtet wurde.

sourcetype="Symantec:ep:risk:file" frühest=-24h | rex field=_raw "Anwendungs-Hash: (?<file_hash>[^,]+)" | Eval Name=file_hash | Eval Time=strftime(_time,"%m/%d/%y %I:%M:%S:%p") | Nachschlagen rf_hash_threatfeed Name OUTPUT Risk, RiskString, EvidenceDetails | Suche Risiko != "" | Eval Regel = spath(EvidenceDetails,"EvidenceDetails{}. Regel")| Eval EvidenceString = spath(EvidenceDetails,"EvidenceDetails{}. EvidenceString") |sort -Risiko | Tabelle Name, Zeit, Risiko, RiskString, Regel, EvidenceString | umbenennen Name als Hash

Verwenden von Splunk Stats zum Hinzufügen von Zählern zu Ereignissen

Bei dieser Suche wird das Feld "remoteip" aus einer haproxy-Protokolldatei mit der Risikoliste für aufgezeichnete zukünftige IP-Adressen korreliert. Anstatt nur jede Korrelation eines Protokolldatensatzes mit der Risikoliste anzuzeigen, gruppiert diese Suche nach der IP-Adresse und zeigt die # korrelierten Ereignisse innerhalb der letzten 24 Stunden an.

sourcetype="haproxy:http" frühest=-24h | rex field=captured_headers "^(?<remoteip>\d+\.\d+\.\d+\.\d+).*$" | Suche remoteip=* | Eval Name=remoteip | Nachschlagen rf_ip_threatfeed Name OUTPUT Risk, RiskString, EvidenceDetails | Suche Risiko != "" | eventstats zählen nach Name |Eval Regel = spath(EvidenceDetails,"EvidenceDetails{}. Regel")| Eval EvidenceString = spath(EvidenceDetails,"EvidenceDetails{}. EvidenceString") | Sortieren -Zählen | Tabelle Name, Anzahl, Risiko, RiskString, Regel, EvidenceString | Name in "Ziel-IP" umbenennen | count in Count umbenennen | Regel in "Regel(n)"umbenennen

Suche nach HF-Daten im Splunk Threat Intelligence KV Store

Dadurch wird im KV-Speicher von Threat Intelligence nach verfügbaren Risikolisten für aufgezeichnete zukünftige Risiken gesucht.

| "ip_intel" | Suche threat_key=RF*

Suche nach IP in der RF-Lookup-Tabelle in ES

Hierbei handelt es sich um eine einfache Suche, um nach einer bestimmten IP-Adresse in der Recorded Future IP risklist lookup table (Splunk ES) zu suchen.

| inputlookup recordedFutureIpThreatList | search Name=162.208.22.34 Uhr

Suche nach IP (z. B. 162.208.22.34) in der RF-Lookup-Tabelle in Core Splunk

Hierbei handelt es sich um eine einfache Suche nach einer bestimmten IP-Adresse in der Suchtabelle "Recorded Future IP risklist" (Splunk Enterprise).

| inputlookup-rf_ip_threatfeed | search Name=162.208.22.34< Uhr