EXPLORE
← Back to Explore
splunk_escuAnomaly

Protocols passing authentication in cleartext

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.

Detection Query

| 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`

Author

Rico Valdez, Splunk

Created

2026-04-15

Data Sources

Cisco Secure Firewall Threat Defense Connection Event

Tags

Use of Cleartext ProtocolsCisco Secure Firewall Threat Defense AnalyticsScattered Lapsus$ Hunters
Raw Content
name: Protocols passing authentication in cleartext
id: 6923cd64-17a0-453c-b945-81ac2d8c6db9
version: 12
date: '2026-04-15'
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$") | 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: 7d
      latest_offset: "0"
rba:
    message: Allowed Traffic from $src_ip$ to $dest$ over port $dest_port$. Which might indicate a potential authentication attempts over a  cleartext protocol.
    risk_objects:
        - field: user
          type: user
          score: 20
        - field: dest
          type: system
          score: 20
    threat_objects:
        - field: dest
          type: ip_address
tags:
    analytic_story:
        - Use of Cleartext Protocols
        - Cisco Secure Firewall Threat Defense Analytics
        - Scattered Lapsus$ Hunters
    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