🔍 Contexte

Publié le 16 septembre 2026 par Zimperium zLabs (auteurs : Gianluca Braga, Vishnu Pratapagiri, Fernando Ortega), cet article présente l’analyse technique complète de RatHat, un nouveau malware Android attribué à des acteurs opérant depuis la Chine.

🎯 Vecteurs d’infection

RatHat est distribué via :

  • Smishing (campagnes SMS/phishing)
  • Malvertising redirigeant vers des portails de téléchargement tiers frauduleux
  • Forums tiers proposant des APKs malveillants déguisés en applications légitimes

🏗️ Architecture technique

Le malware repose sur trois composants principaux :

  1. L’application Android malveillante : interface utilisateur, acquisition de permissions, déclenchement de la chaîne d’infection
  2. Go Agent (liblocal-service.so) : agent C2 exécuté en contexte shell ADB, gestion de la persistance système
  3. FRP Client (libmedia_codec.so) : client reverse-proxy (basé sur fatedier/frp) établissant un tunnel persistant vers le C2

🛡️ Techniques anti-analyse (4 couches + anti-debug)

  • Layer 1 : Altération du conteneur ZIP (fichiers déclarés comme répertoires, bit de chiffrement)
  • Layer 2 : AndroidManifest.xml de 61 Mo avec chunks de type 0x9999 non documentés
  • Layer 3 : Empoisonnement du bytecode DEX avec des pseudo-instructions invalides
  • Layer 4 : Double chiffrement de chaînes (StringFog + StringCrypto avec swap de paires d’octets et XOR 16 octets)
  • Anti-debug : 6 vérifications runtime (JDWP, ptrace, FLAG_DEBUGGABLE, propriétés système, Frida, Xposed/root/émulateur)

🤖 Fonctionnalités clés

  • IA générative : sérialisation de l’arbre Accessibility en XML envoyé à un assistant IA pour automatiser la navigation UI en temps réel
  • Keylogger hardware : lecture de /dev/input/* via getevent depuis le shell ADB, reconstruction des PINs/patterns via locateValues.json (géométrie des claviers par marque)
  • Overlay injection : pages HTML frauduleuses superposées aux apps bancaires et de paiement (WeChat, Alipay)
  • Interception OTP/2FA : récepteur SMS et listener de notifications
  • Auto-escalade ADB : activation autonome du débogage sans fil, auto-appairage ADB local via libadb-android
  • Persistance hors cycle de vie : le service Go survit à la désinstallation de l’APK et réinstalle automatiquement le malware

📡 Communication C2

  • App Android : enregistrement HTTP + WebSocket persistant avec heartbeats, authentification HMAC-SHA256
  • Go Agent : serveur HTTP local sur 127.0.0.1:7910
  • FRP Client : tunnel reverse proxy contournant NAT et firewalls
  • Endpoints couvrant : enrôlement, credentials, SMS, liste d’apps, transfert de fichiers, clés ADB, monitoring écran, vidéo, configuration tunnel, mise à jour de l’agent

🏦 Secteurs ciblés

Applications bancaires, portefeuilles de paiement (WeChat, Alipay), applications de streaming (utilisées comme leurre).

📄 Nature de l’article

Analyse technique approfondie publiée par un éditeur de sécurité mobile (Zimperium), visant à documenter les capacités de RatHat et à promouvoir ses solutions MTD/zDefend.

🧠 TTPs et IOCs détectés

TTP

  • T1660 — Phishing: SMS Phishing (Smishing) (Initial Access)
  • T1476 — Deliver Malicious App via Other Means (Initial Access)
  • T1407 — Download New Code at Runtime (Defense Evasion)
  • T1418 — Software Discovery (Discovery)
  • T1417 — Input Capture (Collection)
  • T1417.001 — Input Capture: Keylogging (Collection)
  • T1417.002 — Input Capture: GUI Input Capture (Collection)
  • T1516 — Input Injection (Impact)
  • T1411 — Input Prompt (Collection)
  • T1409 — Stored Application Data (Collection)
  • T1412 — Capture SMS Messages (Collection)
  • T1430 — Location Tracking (Collection)
  • T1406 — Obfuscated Files or Information (Defense Evasion)
  • T1508 — Suppress Application Icon (Defense Evasion)
  • T1541 — Foreground Persistence (Persistence)
  • T1398 — Boot or Logon Initialization Scripts (Persistence)
  • T1422 — System Network Configuration Discovery (Discovery)
  • T1481 — Web Service (Command and Control)
  • T1437.001 — Application Layer Protocol: Web Protocols (Command and Control)
  • T1521 — Encrypted Channel (Command and Control)
  • T1404 — Exploit OS Vulnerability (Privilege Escalation)
  • T1629.003 — Impair Defenses: Disable or Modify Tools (Defense Evasion)
  • T1632 — Subvert Trust Controls (Defense Evasion)

IOC

  • Fichiers : liblocal-service.so
  • Fichiers : libmedia_codec.so
  • Fichiers : server_config.json
  • Fichiers : svc_config.html
  • Fichiers : locateValues.json
  • Fichiers : local-service.update
  • Fichiers : app.apk
  • Chemins : /data/local/tmp/frpc
  • Chemins : /data/local/tmp/local-service.update
  • Chemins : /data/local/tmp/app.apk
  • Chemins : /proc/self/status
  • Chemins : /proc/self/maps
  • Chemins : /dev/input/

⚠️ À propos de ces IOC — ils sont extraits automatiquement de l’article original le 16 septembre 2026 et n’ont pas fait l’objet d’une vérification externe. Un indicateur peut avoir été réattribué depuis : une IP de C2 peut redevenir un service légitime, un domaine sinkholé peut changer de propriétaire. Aucune garantie d’exactitude ni d’actualité — contrôlez leur validité avant tout usage opérationnel, en particulier avant de les injecter dans une blocklist ou un SIEM.

Malware / Outils

  • RatHat (rat)
  • frpc (fatedier/frp) (tool)
  • StringFog (other)
  • libadb-android (tool)

🟡 Indice de vérification factuelle : 50/100 (moyenne)

  • ⬜ zimperium.com — source non référencée (0pts)
  • ✅ 27023 chars — texte complet (fulltext extrait) (15pts)
  • ✅ 13 IOCs (IPs/domaines/CVEs) (10pts)
  • ⬜ pas d’IOC vérifié (0pts)
  • ✅ 23 TTPs MITRE identifiées (15pts)
  • ✅ date extraite du HTML source (10pts)
  • ⬜ aucun acteur de menace nommé (0pts)
  • ⬜ pas de CVE à vérifier (0pts)

🔗 Source originale : https://zimperium.com/blog/rathat-ai-powered-mobile-threat-is-here-for-your-credentials-bank-accounts