Уязвимость средства защиты облачных, виртуальных и физических систем Veeam Backup & Replication
Уязвимость средства защиты облачных, виртуальных и физических систем Veeam Backup & Replication
Категория: Программы Теги: Уязвимости Опубликовано: 8 июня 2025

Уязвимость BDU:2024-06706 (CVE-2024-40711) Veeam Backup & Replication

Уязвимость BDU:2024-06706 (CVE-2024-40711) небезопасной десериализации в .NET Remoting позволяет удаленному злоумышленнику выполнять произвольный код без аутентификации в Veeam Backup & Replication. Уязвимость возникает при обработке специально сформированных сериализованных объектов через протокол .NET Remoting.

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

Уровень опасности: 9.8 КРИТИЧЕСКИЙ (CRITICAL)
Вектор атаки: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

  • AV:N (Attack Vector: Network) - Атака через сеть

  • AC:L (Attack Complexity: Low) - Низкая сложность эксплуатации

  • PR:N (Privileges Required: None) - Не требует привилегий

  • UI:N (User Interaction: None) - Не требует взаимодействия с пользователем

  • S:U (Scope: Unchanged) - Не изменяет область воздействия

  • C:H (Confidentiality Impact: High) - Полное нарушение конфиденциальности

  • I:H (Integrity Impact: High) - Полное нарушение целостности

  • A:H (Availability Impact: High) - Полное нарушение доступности

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

  1. Доступ к сети с уязвимым сервисом Veeam Backup & Replication (порт TCP 9392 по умолчанию)

  2. Версия ПО ≤ 12.1.2.172

  3. Открытый .NET Remoting endpoint (/RemotingServer)


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

Рассмотрим ключевые компоненты эксплоита для понимания работы вектора атаки с использованием уязвимости CVE-2024-40711:

1. Создание вредоносного объекта

Эксплоит использует цепочку гаджетов .NET для выполнения кода через BinaryFormatter:

// Создание payload для выполнения команды
CVE-2024-40711.exe -f binaryformatter -g Veeam -c "cmd /c calc.exe"

2. Механизм десериализации

Уязвимость в обработке CDbCryptoKeyInfo:

public class CDbCryptoKeyInfo : ISerializable
{
    public void GetObjectData(SerializationInfo info, StreamingContext context)
    {
        // Уязвимый метод, позволяющий подменить логику
    }
}

3. Сетевое взаимодействие

Эксплоит запускает HTTP-сервер для доставки payload:

HttpServerChannel for 'trigger' created:
  http://192.168.201.1:8000/trigger

4. Отправка триггера

Используется уязвимый метод .NET Remoting:

TcpChannel channel = new TcpChannel(properties, clientProvider, serverProvider);
ChannelServices.RegisterChannel(channel, secure);

Возможные последствия эксплуатации:

  1. Полный контроль над сервером резервного копирования

  2. Кража резервных копий (включая зашифрованные данные)

  3. Компрометация доменных учетных записей через системные привилегии Veeam

  4. Саботаж резервных копий (шифрование/удаление)

  5. Распространение в корпоративную сеть (атака на Active Directory)


Защитные меры

1. Обновление ПО

  • Установить Veeam Backup & Replication 12.3.1.1139 или новее.

2. Сегментация сети

# Правило iptables для ограничения доступа
iptables -A INPUT -p tcp --dport 9392 -s trusted_ip -j ACCEPT
iptables -A INPUT -p tcp --dport 9392 -j DROP

3. Правила для Suricata (IPS)

Добавить в local.rules:

alert tcp any any -> $HOME_NET 9392 ( \
  msg:"CVE-2024-40711 Veeam Exploit Attempt"; \
  flow:to_server,established; \
  content:"|2e 4e 45 54|"; depth:4; \  # .NET Remoting signature
  content:"CDbCryptoKeyInfo"; nocase; \
  metadata:policy security-ips drop; \
  sid:1000001; rev:1;)

Это правило Suricata предназначено для обнаружения попыток эксплуатации уязвимости CVE-2024-40711 в Veeam Backup & Replication, генерируя оповещение при обнаружении TCP-трафика, направленного на порт 9392 сервера Veeam, содержащего сигнатуру .NET Remoting (.NET) в первых 4 байтах и строку CDbCryptoKeyInfo (без учета регистра), что указывает на попытку эксплуатации уязвимости десериализации. Правило применяется к установленным TCP-соединениям, направленным на сервер, и рекомендует отбрасывать трафик для предотвращения эксплуатации.

4. Отключение ненужных служб

Для старых версий через PowerShell:

Stop-Service "VeeamBackupSvc"
Set-Service "VeeamBackupSvc" -StartupType Disabled

5. Мониторинг аномалий

Пример логирования подозрительных запросов:

# В конфигурации Veeam
<logger name="Remoting" level="TRACE" />
Алексей Черемных Алексей Черемных
39