Back to Intelligence

Keenadu Firmware Backdoor Hijacks Android Tablets via Supply Chain Attack

SA
Security Arsenal Team
February 23, 2026
5 min read

In the modern enterprise mobility landscape, the "trust but verify" model is increasingly difficult to uphold when the hardware itself is the adversary. Security Arsenal analysts are closely tracking a emerging threat dubbed "Keenadu," a firmware-level backdoor that fundamentally breaks the trust chain of Android devices.

Unlike standard malware that requires user interaction or app installation to gain a foothold, Keenadu demonstrates a terrifying evolution in supply chain attacks. By embedding itself directly into the device firmware during the manufacturing build process, this backdoor gains near-god-mode privileges, capable of silently harvesting data and remotely controlling device behavior before the user even powers on the unit for the first time.

The Vulnerability of the Build Pipeline

The discovery of Keenadu highlights a critical blind spot in mobile security: the Original Design Manufacturer (ODM) supply chain. According to recent research, the compromise affects devices associated with various brands, including Alldocube. The infection does not occur via a phishing link or a malicious app store; it occurs when the firmware is being compiled and signed by the vendor.

This means the malware is present in the signed Over-The-Air (OTA) update packages. When a device checks for updates, it downloads a malicious package that is cryptographically signed by the vendor's legitimate key. The device verifies the signature, sees it is valid, and blindly installs the backdoor.

Technical Analysis and TTPs

Keenadu resides in the system partition, making it persistent across factory resets. Its primary Tactics, Techniques, and Procedures (TTPs) include:

  1. Firmware Implantation: The backdoor is injected into the firmware image (specifically within the boot or system partition) before the final image is signed.
  2. Signed OTA Delivery: The malware propagates or updates itself through the official update mechanism. This bypasses Google Play Protect and most mobile detection solutions, as the files appear legitimate to the OS.
  3. Data Exfiltration: Once active, it establishes a C2 channel to exfiltrate sensitive data, including SMS logs, contacts, and geolocation data.
  4. Remote Code Execution (RCE): The backdoor allows attackers to download and execute arbitrary payloads, effectively turning the tablet into a pivot point for lateral movement within the corporate network.

Detection and Threat Hunting

Detecting firmware-level backdoors like Keenadu is notoriously difficult because the malware operates at a privilege level higher than most Mobile Device Management (MDM) agents. However, SOC analysts can hunt for indirect indicators of compromise (IOCs), such as anomalous network traffic or device behavior inconsistencies.

KQL Queries for Sentinel/Defender

Use the following KQL queries to hunt for Android devices exhibiting suspicious behavior indicative of Keenadu or similar firmware implants. Note that specific process names may vary by vendor, so focus on anomalies.

Script / Code
// Hunt for Android devices connecting to unknown or suspicious IPs
DeviceNetworkEvents
| where ActionType == "ConnectionAllowed"
| where OSPlatform == "Android"
| where RemoteIPType != "Loopback" 
| project Timestamp, DeviceName, RemoteIP, RemotePort, RemoteUrl, InitiatingProcessFileName
| join kind=innerouter (
    DeviceInfo 
    | where OSPlatform == "Android"
    | project DeviceId, DeviceName, Model, OSVersion
) on DeviceName
| where isnull(RemoteUrl) or RemoteUrl matches regex @"^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$" // Direct IP connections often suspicious for C2
| summarize Count=count() by DeviceName, RemoteIP, bin(Timestamp, 1h)
| where Count > 10


// Hunt for suspicious processes originating from system directories
DeviceProcessEvents
| where OSPlatform == "Android"
| whereFolderPath startswith @"/system/" or FolderPath startswith @"/vendor/"
| where InitiatingProcessFileName !in ("android.process.acore", "system_server", "com.android.systemui")
| project Timestamp, DeviceName, InitiatingProcessFileName, FolderPath, SHA256
| distinct InitiatingProcessFileName, FolderPath

Bash Scripts for Forensic Analysis

If you have physical access to a compromised device or an ADB shell, use these commands to inspect the integrity of the system partition and look for anomalies.

Script / Code
# Check for unexpected mount points or write access on system partitions (should usually be read-only)
adb shell mount | grep -E "system|vendor|odm"

# List processes and look for binaries executing from /data or /tmp that shouldn't be there
adb shell ps -A -o PID,NAME,ARGS | grep -v "app_" | grep -v "/system/"

# Inspect the build.prop file for discrepancies or modified ro.build.fingerprint
adb shell getprop | grep ro.build

Python Script for Firmware Verification

This script attempts to hash critical partition images (if accessible) to compare against known good baselines.

Script / Code
import hashlib
import os

def calculate_sha256(file_path):
    """Calculates SHA256 hash of a file."""
    h = hashlib.sha256()
    try:
        with open(file_path, 'rb') as file:
            while chunk := file.read(8192):
                h.update(chunk)
        return h.hexdigest()
    except FileNotFoundError:
        return None

# In a real scenario, mount the firmware image or access via ADB pull
# Example: checking a specific system file suspected of modification
target_file = "/path/to/mounted/system/bin/suspicious_binary"
known_good_hash = "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" # Placeholder

file_hash = calculate_sha256(target_file)

if file_hash:
    if file_hash == known_good_hash:
        print(f"[+] Integrity check passed for {target_file}")
    else:
        print(f"[!] ALERT: Hash mismatch detected for {target_file}!")
        print(f"    Current: {file_hash}")
else:
    print(f"[-] File not found: {target_file}")

Mitigation Strategies

Firmware backdoors cannot be removed by simply uninstalling an app or running a virus scan. Remediation requires a more aggressive approach:

  1. Vendor Vetting: Stop procuring devices from obscure ODMs that lack transparent security practices. Stick to vendors with a strong track record of supply chain integrity.
  2. Firmware Updates (Careful Application): While Keenadu spreads via updates, vendors may eventually release a clean version. Monitor vendor security advisories closely and only update once a specific, verified "clean" version is confirmed by the vendor.
  3. Network Segmentation: Treat Android devices as untrusted. Enforce strict zero-trust network access (ZTNA) policies. Mobile devices should be isolated from critical server infrastructure.
  4. Mobile Threat Defense (MTD): Deploy an MTD solution that can detect on-device anomalies, such as unexpected root access, configuration changes, or unusual API calls indicative of firmware-level tampering.
  5. Device Retirement: In severe cases where the firmware cannot be scrubbed, the only safe option is the physical destruction or secure disposal of the compromised hardware.

Related Resources

Security Arsenal Managed SOC Services AlertMonitor Platform Book a SOC Assessment soc-mdr Intel Hub

socthreat-intelmanaged-socandroid-malwaresupply-chainfirmware-securitykeenadumobile-incident-response

Is your security operations ready?

Get a free SOC assessment or see how AlertMonitor cuts through alert noise with automated triage.