diff --git a/README.md b/README.md index 8181d6b..4ff7a35 100644 --- a/README.md +++ b/README.md @@ -156,6 +156,27 @@ Recommend to update the lookup file "opendbl_ip.csv" every 15 minutes (cron `*/1 Source: https://opendbl.net/ +## Example usage + +``` +| tstats summariesonly=true allow_old_summaries=true count FROM datamodel=Web WHERE Web.action="allowed" +BY Web.user, Web.src, Web.dest, Web.site, Web.url, Web.category, Web.action, index, _time span=1s +| rename Web.* AS * +| lookup urlhaus-filter-splunk-online host AS site, host AS dest OUTPUT message AS description, updated +| lookup urlhaus-filter-splunk-online path_wildcard_prefix AS vendor_url, host AS site, host AS dest OUTPUT message AS description2, updated AS updated2 +| lookup phishing-filter-splunk host AS site, host AS dest OUTPUT message AS description3, updated AS updated3 +| lookup phishing-filter-splunk path_wildcard_prefix AS vendor_url, host AS site, host AS dest OUTPUT message AS description4, updated AS updated4 +| lookup pup-filter-splunk host AS site, host AS dest OUTPUT message AS description5, updated AS updated5 +| lookup vn-badsite-filter-splunk host AS site, host AS dest OUTPUT message AS description6, updated AS updated6 +| lookup botnet_ip dst_ip AS dest OUTPUT malware AS description7, updated AS updated7 +| eval Description=coalesce(description, description2, description3, description4, description5, description6, description7) +| search Description=* +| eval updated=coalesce(updated, updated2, updated3, updated4, updated5, updated6, updated7), "Signature Last Updated"=strftime(strptime(updated." +0000","%Y-%m-%dT%H:%M:%SZ %z"),"%Y-%m-%d %H:%M:%S %z"), Time=strftime(_time, "%Y-%m-%d %H:%M:%S %z"), "Source IP"=src, Username=user, Domain=site, "Destination IP"=dest, URL=url, Action=action +| table Time, index, "Signature Last Updated", "Source IP", Username, Domain, "Destination IP", Description, Action, URL +``` + +It is not recommended to use subsearch (e.g. `[| inputlookup urlhaus-filter-splunk-online.csv | fields host ]`) for these [lookup tables](./lookups/) especially [urlhaus-filter](./lookups/urlhaus-filter-splunk-online.csv) and [phishing-filter](./lookups/phishing-filter-splunk.csv) because they usually have more than 30,000 rows, which exceed the soft-limit of [10,000 rows](https://docs.splunk.com/Documentation/SplunkCloud/latest/Search/Aboutsubsearches#Subsearch_performance_considerations) returned by subsearch. + ## Disable individual commands Settings -> All configurations -> filter by "malware_filter" app