🔍 Contexte

Article publié le 29 mars 2026 sur le blog personnel de la chercheuse Persephone Karnstein, adapté d’une présentation donnée avec Mitchell Marasch à BSides Seattle 2026, pour le compte de Bureau Veritas Cybersecurity North America (anciennement Security Innovation). L’évaluation a été conduite fin 2025 / début 2026.

🎯 Périmètre de l’évaluation

Les chercheurs ont évalué trois surfaces d’attaque :

  • Le hardware physique (PCB/MBB de la moto Zero Motorcycles)
  • L’application Android com.zeromotorcycles.nextgen
  • Le firmware embarqué distribué via OTA (Over-The-Air)

🔓 Vulnérabilités identifiées

1. Secrets hardcodés dans l’application Android L’analyse de l’APK via JADX révèle dans com.zeromotorcycles.nextgen.BuildConfig :

  • L’URL du serveur de mise à jour firmware : https://fota-server.zeromotorcycles.com/update/
  • Un bearer token d’autorisation en clair
  • Des credentials Starcom apparemment factices

2. Contournement de l’authentification du serveur FOTA Le serveur accepte des requêtes avec un VIN forgé (numéro de série véhicule) construit à partir d’informations publiques (Unofficial Zero Manual, numéros de pièces). Aucune validation réelle du VIN côté serveur n’est effectuée.

3. Téléchargement non autorisé du firmware En envoyant une simple requête GET avec les headers Authorization et User-Agent: ZeroMoto/1.0, il est possible de télécharger n’importe quelle version de firmware. Les révisions étant séquentielles, il suffit de deviner un numéro.

4. Exposition de fichiers de cartographie mémoire (.map) Le package firmware (zip) contient des fichiers .map (linker map ARM) pour le MBB et le BMU, révélant la disposition mémoire complète et les noms de fonctions, facilitant drastiquement le reverse engineering.

5. Signature de firmware arbitraire Les chercheurs indiquent avoir pu signer un firmware arbitraire, ouvrant la voie à une mise à jour malveillante pouvant affecter physiquement le véhicule (évoqué comme “The Malware That Kills You Instantly”).

🛠️ Outils et méthodes utilisés

  • ADB : extraction de l’APK depuis le téléphone
  • JADX : décompilation de l’application Android
  • curl : interaction directe avec l’API FOTA
  • Analyse de firmware binaire ARM avec fichiers .map

📦 Composants firmware exposés

  • MBB (Main Bike Board) firmware (banka/bankb)
  • BMS firmware
  • BMU firmware
  • Bootloader Zero

📰 Type d’article

Publication de recherche / analyse technique issue d’un audit de sécurité offensif sur des équipements IoT embarqués (véhicules électriques connectés). But principal : documenter publiquement les vulnérabilités découvertes lors d’un assessment de sécurité présenté en conférence.

🧠 TTPs et IOCs détectés

TTP

  • T1552.001 — Credentials In Files (Credential Access)
  • T1195.002 — Compromise Software Supply Chain (Initial Access)
  • T1036 — Masquerading (Defense Evasion)
  • T1588.002 — Obtain Capabilities: Tool (Resource Development)
  • T1190 — Exploit Public-Facing Application (Initial Access)
  • T1601 — Modify System Image (Defense Evasion)

Malware / Outils

  • JADX (tool)
  • ADB (tool)

🔗 Source originale : https://persephonekarnstein.github.io/post/zero-days/