ID | Technique | Tactic |
---|---|---|
T1105 | Ingress Tool Transfer | Command And Control |
T1027 | Obfuscated Files or Information | Defense Evasion |
Detection: Cisco Secure Firewall - Snort Rule Triggered Across Multiple Hosts
Description
This analytic identifies Snort intrusion signatures that have been triggered by ten or more distinct internal IP addresses within a one-hour window. It leverages Cisco Secure Firewall Threat Defense logs and focuses on the IntrusionEvent event type to detect activity that may indicate broad targeting or mass exploitation attempts. This behavior is often associated with opportunistic scanning, worm propagation, or automated exploitation of known vulnerabilities across multiple systems. If confirmed malicious, this could represent the early phase of a coordinated attack aiming to gain a foothold on several hosts or move laterally across the environment.
Search
1`cisco_secure_firewall` EventType=IntrusionEvent
2
3| bin _time span=1h
4
5| stats dc(src_ip) as unique_src_ips, values(src_ip) as src_ip
6 min(_time) as firstTime max(_time) as lastTime
7 Values(dest) as dest
8 Values(dest_port) as dest_port
9 Values(rule) as rule
10 Values(transport) as transport
11 Values(app) as app
12 by signature_id, signature class_desc MitreAttackGroups InlineResult InlineResultReason
13
14| where unique_src_ips >= 10
15
16| `security_content_ctime(firstTime)`
17
18| `security_content_ctime(lastTime)`
19
20| `cisco_secure_firewall___snort_rule_triggered_across_multiple_hosts_filter`
Data Source
Name | Platform | Sourcetype | Source |
---|---|---|---|
Cisco Secure Firewall Threat Defense Intrusion Event | N/A | 'cisco:sfw:estreamer' |
'not_applicable' |
Macros Used
Name | Value |
---|---|
cisco_secure_firewall | sourcetype="cisco:sfw:estreamer" |
cisco_secure_firewall___snort_rule_triggered_across_multiple_hosts_filter | search * |
cisco_secure_firewall___snort_rule_triggered_across_multiple_hosts_filter
is an empty macro by default. It allows the user to filter out any results (false positives) without editing the SPL.
Annotations
Default Configuration
This detection is configured by default in Splunk Enterprise Security to run with the following settings:
Setting | Value |
---|---|
Disabled | true |
Cron Schedule | 0 * * * * |
Earliest Time | -70m@m |
Latest Time | -10m@m |
Schedule Window | auto |
Creates Risk Event | True |
Implementation
This search requires Cisco Secure Firewall Threat Defense Logs, which
includes the IntrusionEvent EventType. This search uses an input macro named cisco_secure_firewall
.
We strongly recommend that you specify your environment-specific configurations
(index, source, sourcetype, etc.) for Cisco Secure Firewall Threat Defense logs. Replace the macro definition
with configurations for your Splunk environment. The search also uses a post-filter
macro designed to filter out known false positives.
The logs are to be ingested using the Splunk Add-on for Cisco Security Cloud (https://splunkbase.splunk.com/app/7404).
The intrusion access policy must also be configured.
Known False Positives
False positives should be minimal. Simultaneous vulnerability scanning across multiple internal hosts might trigger this, as well as some snort rules that are noisy. Disable those if necessary or increase the threshold.
Associated Analytic Story
Risk Based Analytics (RBA)
Risk Message:
The Snort rule $signature$ was triggered by $unique_src_ips$ unique internal hosts within a one-hour window, indicating potential widespread exploitation or coordinated targeting activity.
Risk Object | Risk Object Type | Risk Score | Threat Objects |
---|---|---|---|
src_ip | system | 25 | signature |
References
Detection Testing
Test Type | Status | Dataset | Source | Sourcetype |
---|---|---|---|---|
Validation | ✅ Passing | N/A | N/A | N/A |
Unit | ✅ Passing | Dataset | not_applicable |
cisco:sfw:estreamer |
Integration | ✅ Passing | Dataset | not_applicable |
cisco:sfw:estreamer |
Replay any dataset to Splunk Enterprise by using our replay.py
tool or the UI.
Alternatively you can replay a dataset into a Splunk Attack Range
Source: GitHub | Version: 1