ID | Technique | Tactic |
---|---|---|
T1041 | Exfiltration Over C2 Channel | Exfiltration |
T1567.002 | Exfiltration to Cloud Storage | Exfiltration |
T1048.003 | Exfiltration Over Unencrypted Non-C2 Protocol | Exfiltration |
Detection: Cisco Secure Firewall - Potential Data Exfiltration
Description
The following analytic detects potentially suspicious large outbound data transfers from internal to external networks. It leverages Cisco Secure Firewall Threat Defense logs and calculates the total volume of data exchanged per connection by summing InitiatorBytes and ResponderBytes. Connections exceeding 100 MB are flagged, as these may indicate unauthorized data exfiltration, especially if initiated by unusual users, hosts, or processes. This analytic is scoped to inside-to-outside flows using a macro (cisco_secure_firewall_inside_to_outside) to abstract environment-specific zone definitions. If confirmed malicious, this behavior may reflect data staging and exfiltration over an encrypted or stealthy transport.
Search
1`cisco_secure_firewall` EventType=ConnectionEvent `cisco_secure_firewall_inside_to_outside`
2
3| eval total_bytes = InitiatorBytes + ResponderBytes
4
5| eval total_mb = round(total_bytes / 1024 / 1024, 2)
6
7| where total_mb >= 100
8
9| eval Exfiltrated = total_mb + " MB"
10
11| stats min(_time) as firstTime max(_time) as lastTime
12 Values(url) as url
13 Values(rule) as rule
14 Values(dest_port) as dest_port
15 by src_ip, dest, Exfiltrated, transport, action
16
17| `security_content_ctime(firstTime)`
18
19| `security_content_ctime(lastTime)`
20
21| `cisco_secure_firewall___potential_data_exfiltration_filter`
Data Source
Name | Platform | Sourcetype | Source |
---|---|---|---|
Cisco Secure Firewall Threat Defense Connection Event | N/A | 'cisco:sfw:estreamer' |
'not_applicable' |
Macros Used
Name | Value |
---|---|
cisco_secure_firewall | sourcetype="cisco:sfw:estreamer" |
cisco_secure_firewall___potential_data_exfiltration_filter | search * |
cisco_secure_firewall___potential_data_exfiltration_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 ConnectionEvent EventType. This search uses two input macros named cisco_secure_firewall
and cisco_secure_firewall_inside_to_outside
.
We strongly recommend that you specify your environment-specific configurations
(index, source, sourcetype, etc.) for Cisco Secure Firewall Threat Defense logs. Replace the macro definitions
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 access policy must also enable logging.
Known False Positives
Large outbound transfers may occur due to legitimate activities such as cloud backups, file syncing, OS or application updates, or developer build deployments. Backup servers, CI/CD pipelines, and enterprise sync tools (e.g., OneDrive, Dropbox) may exhibit similar patterns. Additional validation using user context, scheduled task windows, or endpoint telemetry is recommended to reduce false positives.
Associated Analytic Story
Risk Based Analytics (RBA)
Risk Message:
Potential data exfiltration from $src_ip$ to $dest$ with $Exfiltrated$ MB of data exfiltrated"
Risk Object | Risk Object Type | Risk Score | Threat Objects |
---|---|---|---|
src_ip | system | 40 | url |
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