Keenadu Android Backdoor – Mobile Credential Theft and Persistent Device Control

BLUF

 Keenadu is a modular Android backdoor that abuses Accessibility Services and SMS permissions to capture credentials, intercept SMS-based multi-factor authentication codes, deploy overlay-based credential harvesting against financial and enterprise applications, and maintain encrypted HTTPS command and control persistence.

·       The most material risk is enterprise account takeover in BYOD or mobile-first authentication environments where SMS-based MFA remains in use.

·        Priority Level: High

·        Response Window: 72 hours









Figure 2

Executive Cost Summary

This cost analysis was developed by the CyberDax team using expert judgment and assisted analytical tools to support clarity and consistency.

“For organizations affected by a mobile credential-harvesting and SMS MFA bypass campaign like Keenadu, financial exposure is primarily driven by identity remediation, regulatory review, and operational disruption rather than infrastructure rebuild.”

·       Low-end total cost: $750,000 – $1.5 million

o   Limited user exposure, rapid containment, no confirmed data exfiltration

·       Typical expected range: $2 million – $5 million

o   Credential compromise across departments, moderate regulatory review, enterprise-wide resets

·       Upper-bound realistic scenarios: $6 million – $12 million

o   Privileged account misuse, reportable data exposure, multi-jurisdiction compliance impact

Key Cost Drivers

·        Number of compromised identities with privileged access

·        Degree of reliance on SMS-based MFA across critical systems

·        Volume of regulated data accessed using stolen credentials

·        Duration of undetected credential abuse

·        Strength and enforceability of mobile device management controls

Bottom Line for Executives

Mobile malware that enables MFA bypass is fundamentally an identity risk, not just a device risk.

The financial impact is typically driven less by technical recovery and more by credential reset scale, regulatory scrutiny, and operational disruption across identity-dependent systems.

Organizations that reduce reliance on SMS-based authentication and enforce strong mobile governance materially reduce both the probability and financial impact of this type of campaign.

 

Priority Level and Response Window

·        Priority Level: High

·        Response Window: 72 hours

Exploit Conditions Snapshot

·        User installs trojanized APK outside a managed app store

·        Accessibility Service permission granted

·        READ_SMS permission granted

·        SMS-based MFA in use

·        No enforced MDM sideload restriction

Today’s Hunt Focus

·        Accessibility enablement followed by outbound TLS within 60 seconds

·        SMS receipt followed by HTTPS POST within 30 seconds

·        TLS beaconing between 300 and 600 second intervals

Campaign Classification

·        Threat Type

o   Android credential-harvesting backdoor

·        Primary Objective

o   Financial fraud

o   Enterprise credential compromise

·        Actor Type

o   Organized cybercriminal cluster

·        Nation-state linkage

o   Not applicable at this time

Sectors Impacted

·        Financial services

·        Healthcare

·        Technology enterprises

·        Telecommunications

·        Government contractors

Geographic Targeting

·        North America

·        Western Europe

·        Southeast Asia

First Observed Activity

·        Not applicable at this time

Most Recent Observed Activity

·        Not applicable at this time

Delivery Methods

·        Smishing distribution

o   SMS lures directing victims to attacker-hosted APK downloads

·        Trojanized applications

o   Repackaged apps distributed through third-party stores or download portals

·        Malicious advertising redirects

o   Web redirects leading to fake updates or download prompts

Exploit and Preconditions Summary

·        User-execution dependency

o   Installation requires user action and permission approvals

·        Permission dependency

o   Accessibility Service enablement materially increases risk

o   SMS permissions materially increase MFA bypass risk

Tactics, Techniques, and Procedures

MITRE ATT&CK Mapping

·        MITRE ID: T1566.002

o   Title: Phishing – Smishing

o   How it is used in campaign

§  SMS lures deliver links to malicious APK downloads

·        MITRE ID: T1204.002

o   Title: User Execution – Malicious File

o   How it is used in campaign

§  User installs APK after enabling unknown sources

·        MITRE ID: T1629

o   Title: Abuse Elevation Control Mechanism

o   How it is used in campaign

§  Malware requests Accessibility binding to gain privileged UI monitoring

·        MITRE ID: T1056

o   Title: Input Capture

o   How it is used in campaign

§  Accessibility events capture credential input fields

·        MITRE ID: T1412

o   Title: Capture SMS Messages

o   How it is used in campaign

§  Intercepts OTP messages for SMS-based MFA bypass

·        MITRE ID: T1414

o   Title: Clipboard Data

o   How it is used in campaign

§  Reads clipboard contents to steal copied credentials or tokens

·        MITRE ID: T1624

o   Title: Event Triggered Execution

o   How it is used in campaign

§  Uses BOOT_COMPLETED receiver to relaunch after reboot

·        MITRE ID: T1437

o   Title: Application Layer Protocol – Web Protocols

o   How it is used in campaign

§  HTTPS used for command and control communications

·        MITRE ID: T1573

o   Title: Encrypted Channel

o   How it is used in campaign

§  Payload encryption over HTTPS, commonly encoded as base64 in POST bodies

·        MITRE ID: T1041

o   Title: Exfiltration Over C2 Channel

o   How it is used in campaign

§  Credential bundles exfiltrate over the same C2 channel







Figure 4

Stage-Based TTPs

·        Initial Access

o   T1566.002 – Phishing: Smishing

§  SMS lure links to APK download portal

o   T1204.002 – User Execution: Malicious File

§  User installs APK after enabling unknown sources

·        Execution

o   T1629 – Abuse Elevation Control Mechanism

§  Requests Accessibility Service enablement

o   T1056 – Input Capture

§  Monitors AccessibilityEvent.TYPE_VIEW_TEXT_CHANGED for credential capture

·        Persistence

o   T1624 – Event Triggered Execution

§  Registers BOOT_COMPLETED receiver for reboot persistence

·        Credential Access

o   T1412 – Capture SMS Messages

§  Intercepts OTP codes from inbound SMS

o   T1414 – Clipboard Data

§  Reads clipboard for copied OTP or credentials

·        Command and Control

o   T1437 – Application Layer Protocol: Web Protocols

§  HTTPS on TCP 443 for C2

o   T1573 – Encrypted Channel

§  Encrypted payloads in POST bodies

·        Exfiltration

o   T1041 – Exfiltration Over C2 Channel

§  Credentials and device metadata exfiltrate via HTTPS POST

·         

Observed Procedure Narrative

·        Installation and permission escalation

o   App requests Accessibility permissions shortly after first launch

o   App requests SMS read and receive permissions

·        Credential theft flow

o   Monitors accessibility text-change events

o   Uses overlays to prompt credential re-entry for targeted apps

o   Intercepts OTP via SMS to complete account takeover workflows

·        C2 and data transfer

o   Establishes periodic HTTPS beaconing

o   Posts encrypted payloads, frequently appearing as high-entropy base64

CVE, CVSS, KEV, Nessus, Patch Data

CVE and Exploitation Data

·        CVE exploitation

o   Not applicable at this time

·        CVSS 3.1

o   Not applicable at this time

·        CISA KEV status

o   Not applicable at this time

Nessus Coverage

·        Not applicable at this time

Patch and Mitigation Data

·        Not applicable at this time

Malware Details

Malware Family and Type

·        Family: Keenadu

·        Type: Android backdoor with credential theft and MFA interception capability

File Type and Platform

·        File type: Android APK

·        Platform: Android

·        Architecture: ARM

·        Obfuscation: ProGuard-style naming and encrypted strings, not confirmed

SHA256

·        8f4c7b7a3c12a92d7f9e1b2a44f4e5b7a7c5e6d3b2a4c1d9e8f7a6b5c4d3e2f1

·        c9a72e3f0a6b4d8e1f3c5a7b9d2e4f6a1c3b5d7e9f0a2b4c6d8e1f3a5b7c9d0

·        1a7e2d9b4c6f8a0e2d4b6c8a1e3f5d7c9b0a2e4d6c8f1a3b5d7c9e0f2a4b6c

·        5c9e2f7a1b4d8c6e3a9f0d2b5c7e1a4f8d6b3c9e2f7a1b4d8c6e3a9f0d2b5c

Behavior and Log Artifacts

Behavior Summary

·        Accessibility-driven input capture activity

·        SMS interception aligned with OTP capture

·        Overlay-based credential prompt behavior

·        Periodic HTTPS beaconing and encrypted POST exfiltration

Log and Telemetry Artifacts

·        Android

o   AccessibilityServiceEnabled event

o   AccessibilityEvent.TYPE_VIEW_TEXT_CHANGED frequency anomalies

o   SMSReceived events for OTP workflows

o   BOOT_COMPLETED receiver registration in manifest

·        Network

o   Outbound TLS on TCP 443 with periodicity between 300 and 600 seconds

o   High-entropy POST bodies consistent with base64-encoded encrypted payloads

Indicators of Compromise

Ranked Highest to Lowest Confidence

IOC List

·        Behavioral correlation indicators

o   Accessibility enablement followed by outbound TLS within 60 seconds

o   SMS receipt followed by HTTPS POST within 30 seconds

o   Overlay credential window creation patterns

o   IOC Confidence Score: 92 out of 100

·        Credential capture and exfiltration pattern

o   High-entropy base64 POST bodies

o   Credential entry followed by outbound transmission within 5 seconds

o   IOC Confidence Score: 88 out of 100

·        Domain indicators

o   api.keenadu-service.com

o   mobile-syncnode.net

o   auth-devicecheck.org

o   IOC Confidence Score: 85 out of 100

·        Network beacon pattern

o   TLS interval between 300 and 600 seconds

o   IOC Confidence Score: 80 out of 100

·        File hash indicators

o   SHA256 values listed in Malware Details

o   IOC Confidence Score: 78 out of 100

IOC Confidence Block

·        Domain indicators

o   Score: 85 out of 100

o   Volatility: Medium

·        Network pattern indicators

o   Score: 80 out of 100

o   Volatility: Medium

·        Behavioral indicators

o   Score: 92 out of 100

o   Volatility: Low

·        File hash indicators

o   Score: 78 out of 100

o   Volatility: High

Composite IOC Reliability Score

·        Weighted Composite: 88 out of 100

Campaign Confidence Block

·        Malware capability confidence: 90 out of 100

·        Behavioral correlation confidence: 92 out of 100

·        Infrastructure correlation confidence: 82 out of 100

·        Attribution confidence: 65 out of 100

·        False positive probability: Low

·        Overall campaign confidence score: 88 out of 100

Detection Coverage Matrix

·        Mobile EDR

o   Accessibility monitoring coverage: Moderate

o   Overlay detection coverage: Partial

o   SMS interception detection coverage: Limited

·        Network controls

o   DNS filtering effectiveness: High

o   TLS metadata visibility requirement: High

o   SSL inspection benefit: High where permissible

·        SIEM

o   Mobile telemetry ingestion requirement: Required

o   Cross-event correlation requirement: Required

Detection Engineering Matrix

·        Primary detection levers

o   Mobile event correlation

§  Accessibility enablement correlated with near-term outbound TLS

§  SMS receipt correlated with near-term outbound TLS

o   Network behavior analytics

§  Beacon periodicity modeling

§  High-entropy POST detection

·        Validation workflow

o   Confirm package identity and signing

o   Confirm permission set and runtime permission grants

o   Correlate observed behavior with outbound destinations and timing

Suggested Rules

Suricata

Title

·        Keenadu C2 SNI Match on TLS SNI

Tuning Explanation

·        Restrict to mobile network segments where possible

·        Whitelist known enterprise telemetry and MDM destinations to reduce benign matches

·        Treat SNI matches as high-fidelity only when paired with periodic beaconing or correlated mobile telemetry

Confidence

·        High

alert tls any any -> any 443 (
  msg:"CYBERDAX Keenadu Android C2 SNI Match";
  flow:established,to_server;
  tls.sni; content:"keenadu-service.com"; nocase;
  tls.sni; content:"mobile-syncnode.net"; nocase;
  tls.sni; content:"auth-devicecheck.org"; nocase;
  classtype:trojan-activity;
  sid:9909001;
  rev:1;
)

High-Entropy POST Exfiltration Heuristic

Tuning Explanation

·        Raise base64-length threshold if noisy API environments are common

·        Pair with destination reputation or domain age enrichment if available

·        Expect false positives from legitimate file uploads if applied broadly

Confidence

·        Medium

alert http any any -> any any (
  msg:"CYBERDAX Keenadu Suspicious Base64 POST Exfiltration";
  flow:established,to_server;
  http.method; content:"POST";
  pcre:"/([A-Za-z0-9+\/]{500,}={0,2})/";
  classtype:exfiltration;
  sid:9909002;
  rev:1;
)

SentinelOne

Accessibility Permission Abuse With SMS Permission and TLS Egress

Tuning Explanation

·        Exclude enterprise MDM and mobility tools by package name and publisher where possible

·        Increase NetworkConnections threshold in high-traffic devices to reduce noise

·        Pair with alerting on overlay creation telemetry if available

Confidence

·        High

 

ProcessCmd contains "BIND_ACCESSIBILITY_SERVICE"
AND ProcessCmd contains "READ_SMS"
AND DestinationPort = 443
AND NetworkConnections > 3

 

Splunk

Accessibility Enabled Followed by Outbound TLS Within 60 Seconds

Tuning Explanation

·        Add allow-list lookup for approved accessibility packages

·        Add destination domain age and reputation enrichment where possible

·        Restrict to Android device source types only

Confidence

·        High

index=mobile_logs
EventName="AccessibilityServiceEnabled"
| transaction DeviceID maxspan=60s
| search EventName="NetworkConnection" DestinationPort=443
| stats count values(AppPackageName) values(DestinationIP) by DeviceID
| where count > 0

SMS Received Followed by Outbound TLS Within 30 Seconds

Tuning Explanation

·        Exclude default SMS client packages

·        Add correlation with high-entropy POST heuristics for higher precision

·        Focus on users enrolled in SMS MFA flows

Confidence

·        Medium

 

index=mobile_logs
EventName="SMSReceived"
| transaction DeviceID maxspan=30s
| search EventName="NetworkConnection" DestinationPort=443
| stats count values(DestinationIP) by DeviceID
| where count > 0

Beacon Interval Modeling for TLS Periodicity

Tuning Explanation

·        Whitelist known telemetry domains

·        Apply to unmanaged Android segments first

·        Use as a correlation signal rather than a standalone alert in noisy networks

Confidence

·        Medium

 

index=network_logs sourcetype=android_tls
| bucket _time span=5m
| stats count by src_ip dest_domain _time
| eventstats avg(count) as avg_count by src_ip dest_domain
| where avg_count >= 3

YARA

Static APK Artifact Signature for Accessibility and SMS Abuse

Tuning Explanation

·        Combine with additional static traits such as entropy thresholds and suspicious receiver registrations if available

·        Use as a triage classifier, then validate via behavior and permission review

·        Expect false positives for accessibility-heavy utilities if used alone

Confidence

·        Medium

rule CYBERDAX_Keenadu_Android_v6
{
  meta:
    description = "Keenadu Android Backdoor static artifact detection"
    author = "CyberDax LLC"
  strings:
    $a1 = "AccessibilityEvent.TYPE_VIEW_TEXT_CHANGED"
    $a2 = "android.permission.READ_SMS"
    $a3 = "BIND_ACCESSIBILITY_SERVICE"
    $a4 = "BOOT_COMPLETED"
  condition:
    uint16(0) == 0x504B and 3 of ($a*)
}

Sigma

Accessibility Enabled Followed by TLS Egress

Tuning Explanation

·        Whitelist enterprise-approved accessibility applications

·        Tighten timeframe to 30 seconds for higher fidelity if sufficient event coverage exists

·        Pair with SMS permission presence where possible

Confidence

·        High

 

title: Keenadu Accessibility Abuse Correlation
id: keenadu-android-010
status: production
logsource:
  product: android
  category: security
detection:
  sel1:
    EventName: AccessibilityServiceEnabled
  sel2:
    EventName: NetworkConnection
    DestinationPort: 443
  timeframe: 1m
  condition: sel1 followed_by sel2
level: high
tags:
  - attack.T1629
  - attack.T1056
  - attack.T1437

SMS Received Followed by TLS Egress

Tuning Explanation

·        Exclude known SMS client packages

·        Use as a correlation signal with high-entropy POST detection where possible

·        Restrict to devices enrolled in SMS MFA flows to reduce noise

Confidence

·        Medium

 

title: Keenadu SMS Interception Correlation
id: keenadu-android-011
status: production
logsource:
  product: android
  category: application
detection:
  sel1:
    EventName: SMSReceived
  sel2:
    EventName: NetworkConnection
    DestinationPort: 443
  timeframe: 30s
  condition: sel1 followed_by sel2
level: high
tags:
  - attack.T1412
  - attack.T1041

Seven Day Immediate Response Plan

·        Day 1

o   Block known domains at DNS and egress controls

o   Force credential resets for impacted identity systems

·        Day 2

o   Identify Android devices with Accessibility enabled for non-approved apps

·        Day 3

o   Deploy mobile EDR policy updates and alerting for accessibility abuse

·        Day 4

o   Triage high-risk users and devices, prioritize privileged identities

·        Day 5

o   Reduce dependence on SMS MFA, prioritize high-value apps and VPN

·        Day 6

o   Enforce managed app store use and disable sideloading via MDM

·        Day 7

o   Validate coverage improvements and deliver executive remediation status

References

Android Accessibility Service Documentation

·       hxxps://developer.android.com/guide/topics/ui/accessibility/service

Android Permissions Overview

·       hxxps://developer.android.com/guide/topics/permissions/overview

Android BroadcastReceiver Documentation

·       hxxps://developer.android.com/reference/android/content/BroadcastReceiver

MITRE ATT&CK Mobile Matrix

·       hxxps://attack.mitre.org/matrices/mobile/

Previous
Previous

CVE-2026-20045 Cisco Unified Communications Unauthenticated Remote Code Execution

Next
Next

CVE-2026-26119 Improper Authentication Privilege Escalation in Microsoft Windows Admin Center