Cisco Secure Firewall - Repeated Malware Downloads

Original Source: [splunk source]
Name:Cisco Secure Firewall - Repeated Malware Downloads
id:aeff2bb5-3483-48d4-9be8-c8976194be1e
version:1
date:2025-04-09
author:Nasreddine Bencherchali, Splunk
status:production
type:Anomaly
Description:The following analytic detects repeated malware file downloads initiated by the same internal host (src_ip) within a short time window. It leverages Cisco Secure Firewall Threat Defense logs and identifies `FileEvent` events with a `SHA_Disposition` of "Malware" and `FileDirection` set to "Download". If ten or more such events occur from the same host within five minutes, this analytic will trigger. This activity may indicate the host is compromised and repeatedly retrieving malicious content—either due to command-and-control, malware staging, or automation. If confirmed malicious, this behavior may represent an infection in progress, persistence mechanism, or a malicious downloader.
Data_source:
  • -Cisco Secure Firewall Threat Defense File Event
search:`cisco_secure_firewall` EventType=FileEvent SHA_Disposition="Malware" FileDirection="Download"
| lookup cisco_secure_firewall_filetype_lookup Name as FileType OUTPUT Description
| bin _time span=5m
| stats count min(_time) as firstTime max(_time) as lastTime
values(uri) as uri
values(ClientApplication) as ClientApplication
values(app) as app
values(file_hash) as file_hash
values(SHA_Disposition) as SHA_Disposition
values(file_name) as file_name
values(ThreatName) as ThreatName
values(dest) as dest
values(dest_port) as dest_port
by src_ip FileDirection FileType Description
| where count >= 10
| `security_content_ctime(firstTime)`
| `security_content_ctime(lastTime)`
| table firstTime lastTime src_ip dest dest_port FileDirection FileType Description uri file_name file_hash app ClientApplication ThreatName SHA_Disposition
| `cisco_secure_firewall___repeated_malware_downloads_filter`


how_to_implement:This search requires Cisco Secure Firewall Threat Defense Logs, which includes the FileEvent 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 malware & file access policy must also enable logging.
known_false_positives:False positives should be minimal here, tuning may be required to exclude known test machines or development hosts.
References:
  -https://www.cisco.com/c/en/us/td/docs/security/firepower/741/api/FQE/secure_firewall_estreamer_fqe_guide_740.pdf
drilldown_searches:
name:'View the detection results for - "$src_ip$"'
search:'%original_detection_search% | search src_ip = "$src_ip$"'
earliest_offset:'$info_min_time$'
latest_offset:'$info_max_time$'
name:'View risk events for the last 7 days for - "$src_ip$"'
search:'| from datamodel Risk.All_Risk | search normalized_risk_object IN ("$src_ip$") starthoursago=168 | stats count min(_time) as firstTime max(_time) as lastTime values(search_name) as "Search Name" values(risk_message) as "Risk Message" values(analyticstories) as "Analytic Stories" values(annotations._all) as "Annotations" values(annotations.mitre_attack.mitre_tactic) as "ATT&CK Tactics" by normalized_risk_object | `security_content_ctime(firstTime)` | `security_content_ctime(lastTime)`'
earliest_offset:'$info_min_time$'
latest_offset:'$info_max_time$'
tags:
  analytic_story:
    - 'Cisco Secure Firewall Threat Defense Analytics'
  asset_type:Network
  security_domain:network
  mitre_attack_id:
    - 'T1105'
    - 'T1027'
  product:
    - 'Splunk Enterprise'
    - 'Splunk Cloud'
    - 'Splunk Enterprise Security'

tests:
name:'True Positive Test'
 attack_data:
  data: https://media.githubusercontent.com/media/splunk/attack_data/master/datasets/cisco_secure_firewall_threat_defense/file_event/file_events.log
  source: not_applicable
  sourcetype: cisco:sfw:estreamer
manual_test:None