SOC Prime Bias: Критичний

11 Aug 2026 06:12 UTC

CrowdStrike виявляє обфускацію команд оболонки на VMware ESXi

Author Photo
SOC Prime Team linkedin icon Стежити
CrowdStrike виявляє обфускацію команд оболонки на VMware ESXi
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Резюме

Зловмисники все частіше націлюються на гіпервізори VMware ESX за допомогою складного обфускування команд оболонки, розробленого для уникнення виявлення. Актори загроз використовують техніки від простого кодування hex до складних криптографічних шифрів та невидимих символів Unicode, вставлених в оболонку BusyBox. Ці методи дозволяють зловмисникам виконувати шкідливі команди, такі як відключення syslog або шифрування віртуальних машин, при зведенні до мінімуму читабельних слідів у стандартних журналах оболонки.

Розслідування

Дослідники CrowdStrike систематично оцінювали 21 різні техніки обфускування в контрольованому середовищі ESX 7.0.3. Вони згрупували ці методи в шість категорій: escape-послідовності, генерація символів, ін’єкція Unicode, криптографічне кодування, коректування інфраструктури та альтернативні системи кодування. Дослідження підтвердило, що ці техніки можуть обходити традиційне виявлення на основі ключових слів, використовуючи відмінності між тим, як команди аналізуються та в кінцевому підсумку виконуються.

Послаблення

Команди безпеки повинні перейти від базового виявлення на основі ключових слів до кореляційних правил із використанням регекспа, які ідентифікують синтаксичні шаблони, що зазвичай асоціюються з обфускуванням. Такі передові платформи SIEM, як CrowdStrike Falcon Next-Gen SIEM, можуть допомогти виявити такі поведінки в телеметрії оболонки ESX. Підтримка надійної бази нормальної адміністративної діяльності також є важливою для ідентифікації аномальних виконань оболонки.

Відповідь

Якщо виявлено виконання обфускованих команд, реагуючі на інцидент повинні негайно ізолювати постраждалий вузол ESX, щоб обмежити бічний рух або шифрування віртуальної машини. Журнали оболонки слід аналізувати на наявність відомих шаблонів обфускування, щоб реконструювати команди, які фактично виконувалися. Реагуючі повинні також розглянути питання збереження через заплановані завдання або змінені системні конфігурації та перевірити цілісність файлової системи VMFS.

Потік Атаки

Запуск симуляції

Передумова: перевірка Телеметрії та базової лінії перед польотом повинна бути пройдена.

Обґрунтування: В цьому розділі детально розглядається точне виконання техніки супротивника (TTP), розробленої для запуску правила виявлення. Команди та наратив ПОВИННІ безпосередньо відображати виявлені TTP та націлені на генерацію точної телеметрії, яку очікує логіка виявлення.

  • Наратив атаки та команди: Супротивник отримав доступ до оболонки вузла VMware ESX. Щоб уникнути виявлення засобами безпеки, що сканують наявність ключового слова esxcli, зловмисник використовує awk команду для генерації рядка esxcli використовуючи десяткові значення ASCII, а потім передає його system(). Ця техніка використовується для внесення змін у конфігурацію (наприклад, скидання log-хостів), залишаючись невидимими для простих фільтрів підбору по шаблону.

  • Скрипт для тестування регресії: Цей скрипт виконує одну зі специфічних навантажень, визначених у логіці виявлення, щоб перевірити спрацьовування правила.

    #!/bin/bash
    # Скрипт симуляції для запуску правила 'Виявлення обфускованої команди на VMware ESX'.
    
    echo "[+] Початок симуляції: Виконання обфускованої команди"
    
    # Навантаження 1: Використання printf в підоболонці для приховання 'esxcli'
    echo "[+] Виконання навантаження 1 (обфускування через printf)..."
    $(printf "x65x73x78x63x6cx69") system syslog config get
    
    # Навантаження 2: Використання awk для реконструкції 'esxcli' через десяткові коди ASCII
    echo "[+] Виконання навантаження 2 (реконструкція ASCII через awk)..."
    awk 'BEGIN{printf "%c%c%c%c%c%c",101,115,120,99,108,105} system " syslog config get"'
    
    echo "[+] Симуляцію завершено. Перевірте SIEM на наявність попереджень."
  • Команди очищення: Оскільки ці команди призначені бути неконструктивними (використовуючи get or config get), потрібне мінімальне очищення. Однак, щоб переконатися, що ніякі постійні зміни не були внесені, якщо була використана set команда:

    # У цій симуляції деструктивних дій не виконувалося. 
    # Якщо використовувалася команда 'set', відновіть початкову конфігурацію.
    echo "[+] Очищення: Зміни в конфігурації системи не були виконані."