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

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

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

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

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

Категории

Все категории
Loading categories
ets5-password-recovery — ETS5 Password Recovery Tool - это PoC для CVE-2021-36799 | Kitploit
Инструменты/GitHubGitHub/robertguetzkow/ets5-password-recovery
Взлом паролейИнструменты шифрования/дешифрованияАнализ уязвимостейЭксплуатацияОбратная инженерияКриптографияArchived
GitHubrobertguetzkow/ets5-password-recovery

ets5-password-recovery

Популярное

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

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

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

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

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

ETS5 Password Recovery Tool - это PoC для CVE-2021-36799

Репозиторий
334184 лет назадЕщё не проверено

ETS5 Password Recovery Tool

Table of Contents

  • Introduction
  • Installation
  • Requirements
  • How does the password recovery work?
  • How was the design flaw discovered?
  • How can the risk be mitigated?
  • Coordinated Vulnerability Disclosure
  • License
  • Change log

Introduction

Вы забыли пароль от одного из ваших проектов ETS5 и не можете получить доступ к конфигурации KNX установки? Инструмент восстановления паролей ETS5 позволяет вам извлечь пароль проекта и другие секреты, сохранённые в хранилище проектов ETS5. Это возможно из-за существенного недостатка в проектировании ETS5: он использует жёстко заданные пароль и соль для шифрования информации проекта (CVE-2021-36799).

Command prompt

Хранение криптографических секретов в исходном коде не рекомендуется, поскольку их можно восстановить с помощью реверс-инжиниринга программного обеспечения, что обеспечивает лишь немногим большую защиту, чем хранение информации в открытом виде. Это может представлять угрозу безопасности KNX установок. Если злоумышленник получит доступ к файлам в хранилище проектов, он сможет их расшифровать, даже не зная пароля проекта. Содержащаяся в них информация позволяет подслушивать, имитировать и перенастраивать KNX устройства. Это особенно проблематично, потому что ETS5 создаёт у пользователей впечатление, будто пароль проекта используется для шифрования информации проекта, а не только для экспортированных проектов. Следовательно, многие пользователи и системные интеграторы, вероятно, не предприняли дополнительных шагов для обеспечения конфиденциальности хранилища проектов. Если бы ETS5 правильно реализовал шифрование и был выбран надёжный пароль проекта, это создало бы для злоумышленника гораздо более сложную задачу, даже если бы он получил удалённый доступ к компьютеру.

Следующая конфиденциальная информация неправильно зашифрована:

  • Пароли проектов
  • FDSK
  • Backbone keys
  • Коды аутентификации устройств и производные ключи
  • Пароли управления устройствами и производные ключи
  • Пароли пользователей/туннелирования и производные ключи
  • Tool keys

Инструмент восстановления паролей ETS5 — это proof of concept, демонстрирующий проблему путём расшифровки и отображения чувствительной информации. Он был разработан в рамках координированного раскрытия уязвимости и опубликован с разрешения KNX Association. Публикация инструмента служит следующим целям:

  1. Публично документирует проблему безопасности, позволяя пользователям принять меры предосторожности для снижения рисков.
  2. KNX Association не планирует исправлять проблему в текущих или будущих версиях ETS. Повышение осведомлённости о недостатке проектирования может изменить их мнение. (см. раздел coordinated vulnerability disclosure для обновления)
  3. Раскрытие недостатка проектирования, надеюсь, побудит KNX Association и всех, кто читает этот документ, внедрить более качественные практики разработки программного обеспечения.
  4. Инструмент восстановления паролей ETS5 может быть полезен, если кто-то забыл пароль от собственного проекта.

ПРЕДУПРЕЖДЕНИЕ: Используйте этот инструмент только в том случае, если у вас есть законное разрешение на просмотр информации проекта. Обход мер безопасности, даже неэффективных, для получения доступа к информации, к которой вам запрещено обращаться, может являться уголовным преступлением в вашей юрисдикции.

Installation

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

Кроме того, если вы не хотите запускать непроверенный бинарник на своей системе, вы можете расшифровать отдельные атрибуты из XML-файлов проекта на сайте CyberChef.

Requirements

Программное обеспечение зависит от .NET Framework версии 4.6 или новее. Windows 10 уже включает подходящую версию .NET по умолчанию. Пользователям более ранних версий Windows потребуется установить текущую версию .NET Framework для запуска программы.

How does the password recovery work?

Вопреки тому, что предполагает пользовательский интерфейс, ETS5 не шифрует ваши локально хранящиеся файлы проектов в C:\ProgramData\KNX\ETS5\ProjectStore с помощью пароля проекта. Вместо этого он использует жёстко заданный пароль ETS5Password и соль Ivan Medvedev для обфускации определённых атрибутов в XML-файлах проекта. Жёстко заданные криптографические секреты противоречат лучшим практикам, как объяснено в CWE-798 и CWE-321.

Процесс деобфускации:

  1. Обфусцированный атрибут закодирован в Base64 и его необходимо декодировать, см. RFC 4648.
  2. Получите байтовое представление Ivan Medvedev как строку ASCII или UTF-8.
  3. Используйте функцию деривации ключа, реализованную PasswordDeriveBytes в .NET Framework. Она основана на PBKDF1, но добавляет счётчик в алгоритм деривации ключа. В ETS5 она используется с SHA-1 в качестве хеш-функции, 100 итераций, ETS5Password как пароль и байтовое представление Ivan Medvedev как соль. Первые 32 байта вывода деривации ключа будут использоваться как ключ, а следующие 16 байт как IV.
  4. Расшифруйте декодированный атрибут с помощью AES-256 в режиме CBC, используя ключ и IV из шага 3.
  5. Удалите PKCS#7 padding, и результатом будет исходное значение атрибута.

Реализацию деобфускации можно найти в файле Deobfuscator.cs. Поскольку пароль и соль постоянны, можно было бы предварительно вычислить ключ и IV, чтобы пропустить деривацию ключа. В реализации данного программного обеспечения это не сделано, так как оно призвано показать все шаги деобфускации. Однако если вам нужны ключ и IV, они приведены ниже.

HexBase64
Key22BD16CDBB96B0E18E977BB3FEFADD8886E7E38A2F8A6FD9D2F2F5663AC20371Ir0WzbuWsOGOl3uz/vrdiIbn44ovim/Z0vL1ZjrCA3E=
IV8E977BB3FEFADD88E6AE6CBEAE3E7CAFjpd7s/763Yjmrmy+rj58rw==

Экспортированные файлы проектов (.knxproj) не затронуты этим недостатком проектирования, и поэтому этот инструмент не может использоваться для восстановления пароля проекта для них. Файл .knxproj — это ZIP-архив, содержащий другой ZIP-архив с чувствительной информацией. Последний использует сжатие Deflate, шифрование ZipCrypto / PKWARE и пароль проекта для деривации ключа шифрования.

How was the design flaw discovered?

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