Protocols passing authentication in cleartext

Original Source: [splunk source]
Name:Protocols passing authentication in cleartext
id:6923cd64-17a0-453c-b945-81ac2d8c6db9
version:8
date:2025-05-27
author:Rico Valdez, Splunk
status:production
type:Anomaly
Description:The following analytic identifies the use of cleartext protocols that risk leaking sensitive information. It detects network traffic on legacy protocols such as Telnet (port 23), POP3 (port 110), IMAP (port 143), and non-anonymous FTP (port 21). The detection leverages the Network_Traffic data model to identify TCP traffic on these ports. Monitoring this activity is crucial as it can expose credentials and other sensitive data to interception. If confirmed malicious, attackers could capture authentication details, leading to unauthorized access and potential data breaches.
Data_source:
  • -Cisco Secure Firewall Threat Defense Connection Event
search:| tstats `security_content_summariesonly` count min(_time) as firstTime max(_time) as lastTime from datamodel=Network_Traffic where NOT All_Traffic.action IN ("blocked", "block") AND All_Traffic.transport="tcp" AND (All_Traffic.dest_port="23" OR All_Traffic.dest_port="143" OR All_Traffic.dest_port="110" OR (All_Traffic.dest_port="21" AND All_Traffic.user != "anonymous")) by All_Traffic.user All_Traffic.src_ip All_Traffic.dest All_Traffic.dest_port All_Traffic.rule
| `security_content_ctime(firstTime)`
| `security_content_ctime(lastTime)`
| `drop_dm_object_name("All_Traffic")`
| `protocols_passing_authentication_in_cleartext_filter`


how_to_implement:This search requires you to be ingesting your network traffic, and populating the Network_Traffic data model. For more accurate result it's better to limit destination to organization private and public IP range, like All_Traffic.dest IN(192.168.0.0/16,172.16.0.0/12,10.0.0.0/8, x.x.x.x/22)
known_false_positives:Some networks may use leverage clear text protocols such as kerberos, FTP or telnet servers. Apply the necessary exclusions where needed.
References:
  -https://www.rackaid.com/blog/secure-your-email-and-file-transfers/
  -https://www.infosecmatter.com/capture-passwords-using-wireshark/
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:
    - 'Use of Cleartext Protocols'
    - 'Cisco Secure Firewall Threat Defense Analytics'
  asset_type:Endpoint
  product:
    - 'Splunk Enterprise'
    - 'Splunk Enterprise Security'
    - 'Splunk Cloud'
  security_domain:network

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