Уязвимость в TrueConf Client
Уязвимость в TrueConf Client
Категория: Программы Теги: Уязвимости Опубликовано: 6 апреля 2026

Уязвимость BDU:2026-04546 (CVE-2026-3502) TrueConf Client

В начале 2026 года специалистами Check Point Research была обнаружена целевая атака Operation TrueChaos, направленная против государственных учреждений Юго-Восточной Азии. В ходе расследования выявлена уязвимость нулевого дня в клиентском приложении TrueConf Client (Windows), получившая идентификатор BDU:2026-04546 (CVE-2026-3502). Проблема заключается в механизме обновления клиента, который загружает исполняемый файл с сервера без какой-либо проверки его целостности и подлинности. Злоумышленник, получивший контроль над сервером TrueConf, может подменить легитимный пакет обновления произвольным вредоносным файлом. В результате все подключающиеся клиенты автоматически (с согласия пользователя) скачивают и запускают вредоносный код с повышенными привилегиями, так как процесс обновления традиционно требует административных прав.

Анализ уязвимости

Уровень опасности: 7.8 (HIGH)
Вектор атаки: CVSS:3.1/AV:A/AC:L/PR:H/UI:R/S:C/C:H/I:H/A:L

Расшифровка значений вектора атаки:

  • Вектор атаки (AV:A) – смежная сеть: атакующий должен находиться в той же локальной сети или иметь доступ к внутреннему сегменту, где расположен TrueConf сервер.

  • Сложность атаки (AC:L) – низкая: злоумышленнику не требуется преодолевать дополнительные средства защиты.

  • Необходимые привилегии (PR:H) – высокие: для замены файла обновления на сервере нужны права администратора этого сервера (либо предварительная компрометация).

  • Взаимодействие с пользователем (UI:R) – требуется: жертва должна нажать на кнопку «Обновить» во всплывающем окне клиента.

  • Влияние на конфиденциальность (C:H) – высокое: полное раскрытие информации.

  • Влияние на целостность (I:H) – высокое: возможность модификации любых данных.

  • Влияние на доступность (A:L) – низкое: частичное нарушение доступности.

  • Область (S:C) – изменённая: атака на клиента выходит за рамки уязвимого компонента.

Условия эксплуатации

Для успешной атаки должны соблюдаться следующие условия:

  • Злоумышленник уже находится во внутренней сети организации (или скомпрометировал один из хостов в этой сети) и имеет возможность сетевого взаимодействия с сервером TrueConf.

  • Нарушитель обладает правами администратора на сервере TrueConf или может выполнить запись в каталог C:\Program Files\TrueConf Server\ClientInstFiles\.

  • Клиент TrueConf (версия до 8.5.3.884) сконфигурирован для получения обновлений от этого сервера (стандартная настройка).

  • Пользователь взаимодействует с интерфейсом приложения и соглашается на установку «новой версии».

Технический анализ эксплоита

Для понимания работы вектора атаки рассмотрим код эксплоита к уязвимости BDU:2026-04546 (CVE-2026-3502). Эксплоит написан на Python и состоит из трёх основных модулей: основной эксплоит (exploit.py), конструктор вредоносного обновления (malicious_update_builder.py) и поддельный сервер обновлений (update_server.py). Анализ кода выполняется в образовательных целях для демонстрации механизма уязвимости.

Анализ основного эксплоита (exploit.py)

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

Класс TrueConfUpdateExploit
При инициализации принимает URL целевого сервера и формирует конечную точку обновления: self.update_endpoint = f"{self.target_server}/downlods/trueconf_client.exe". Обратите внимание на опечатку в пути: вместо downloads используется downlods – это реальный путь в уязвимых версиях TrueConf Server, что подтверждает точность эксплоита.

Метод check_vulnerability()
Отправляет HEAD-запрос к endpoint’у обновления. Если сервер возвращает 200 OK, проверяется наличие заголовков ETag или Last-Modified. Отсутствие этих заголовков интерпретируется как признак отсутствия проверок целостности. Это – основной индикатор уязвимости. В реальном ответе легитимного сервера также нет цифровой подписи или хэша, что и позволяет подменить файл.

Метод simulate_attack()
Принимает путь к вредоносному исполняемому файлу (собранному в формате Inno Setup) и выводит инструкции по развёртыванию. Важно отметить, что эксплоит не выполняет автоматическую замену файла на сервере – это оставлено на усмотрение атакующего, так как требует предварительной компрометации.

Генерация отчёта
Метод generate_report() создаёт JSON с IOC, включая пути к артефактам (PowerISO, 7z-x64.dll) и ключ реестра для постоянного доступа.

Анализ конструктора вредоносного обновления (malicious_update_builder.py)

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

Функция create_dll_payload()
Генерирует исходный код DLL на C, который при загрузке вызывает MessageBoxA и создаёт файл C:\ProgramData\pwned.txt. В реальной атаке вместо этого может происходить загрузка Havoc C2 демона. DLL будет использоваться для загрузки (DLL sideloading) через легитимный poweriso.exe.

Скрипт Inno Setup (create_innosetup_script())
Создаёт файл installer.iss – инструкцию для сборщика установщика Inno Setup. Ключевые секции:

  • [Files] – копирует легитимный trueconf_client.exe (симулирует обновление), а также 7z-x64.dll и poweriso.exe в {commonappdata}\PowerISO.

  • [Run] – после установки добавляет ключ автозапуска UpdateCheck в HKCU\Software\Microsoft\Windows\CurrentVersion\Run, указывая на poweriso.exe.

  • [Code] – через Exec создаёт задание в планировщике Windows (schtasks) для ежедневного запуска того же исполняемого файла, обеспечивая персистентность.

Компиляция
В коде приведены инструкции по компиляции с использованием MinGW для создания исполняемых файлов-обманок. В реальной кампании злоумышленники использовали настоящий легитимный poweriso.exe, уязвимый к DLL sideloading, и подкладывали вредоносную 7z-x64.dll.

Анализ поддельного сервера (update_server.py)

Данный модуль запускает Flask-сервер, эмулирующий поведение скомпрометированного TrueConf Server. Он необходим для тестирования атаки в изолированной среде.

Эндпоинт /downlods/trueconf_client.exe
Отдаёт вредоносный файл, указанный в аргументе --update. Важно, что ответ не содержит заголовков ETagContent-MD5 или Digest, что полностью повторяет поведение реального уязвимого сервера.

Эндпоинт /config
Возвращает JSON с полями version (установлена более новая версия, например 8.5.2) и update_available: true. Клиент TrueConf периодически обращается к этому URL или аналогичному, чтобы узнать о наличии обновлений.

Атака MITM
В реальных условиях злоумышленник может перенаправить DNS-запросы клиентов на IP-адрес своего поддельного сервера (например, через ARP-spoofing или компрометацию DNS).

Пример HTTP-запроса (от клиента к серверу)

Обычный запрос клиента для проверки обновления выглядит так:

GET /downlods/trueconf_client.exe HTTP/1.1
Host: trueconf-internal.local
User-Agent: TrueConf Client/8.5.1
Accept: */*

Уязвимый сервер отвечает:

HTTP/1.1 200 OK
Content-Type: application/x-msdownload
Content-Length: 52428800

[бинарные данные поддельного update.exe]

Отсутствие заголовков проверки целостности позволяет клиенту без сомнений сохранить и запустить полученный файл.

Способы защиты

Учитывая, что уязвимость уже исправлена в версии TrueConf Client 8.5.3.884 и выше, основная рекомендация – немедленное обновление всех клиентских приложений. Однако в крупных организациях обновление может занять время, поэтому следует применять компенсирующие меры.

Способы защиты:

  • Обновление TrueConf Client до версии 8.5.3.884 или новее.

  • Ограничение сетевого доступа к каталогу ClientInstFiles – если сервер TrueConf работает под Windows, следует настроить разрешения NTFS так, чтобы только доверенные учётные записи (например, LOCAL SERVICE и администраторы сервера) имели запись в C:\Program Files\TrueConf Server\ClientInstFiles\.

  • Мониторинг целостности файлов – использовать SIEM или FIM (File Integrity Monitoring) для отслеживания изменений trueconf_client.exe в указанном каталоге. При любом изменении – сигнал тревоги.

Алексей Черемных Алексей Черемных
101