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.

 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
This configuration file applies to all detections of type anomaly. These detections will use Risk Based Alerting.

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