CrowdStrike виявляє обфускацію команд оболонки на VMware ESXi
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.
Потік Атаки
Виявлення
Можливе перелік систем ESXCLI [Windows] (через командний рядок)
Proof of Value
Можлива спроба переліку або модифікації конфігураційних файлів SSHd (через командний рядок)
Proof of Value
Можливе перелік систем ESXCLI [Linux] (через командний рядок)
Proof of Value
Підозріле перезавантаження служби syslog ESXCLI [Linux] (через командний рядок)
Proof of Value
Виявлення обфускованих команд на VMware ESX [створення процесів Linux]
Proof of Value
Запуск симуляції
Передумова: перевірка Телеметрії та базової лінії перед польотом повинна бути пройдена.
Обґрунтування: В цьому розділі детально розглядається точне виконання техніки супротивника (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 на наявність попереджень." -
Команди очищення: Оскільки ці команди призначені бути неконструктивними (використовуючи
getorconfig get), потрібне мінімальне очищення. Однак, щоб переконатися, що ніякі постійні зміни не були внесені, якщо була використанаsetкоманда:# У цій симуляції деструктивних дій не виконувалося. # Якщо використовувалася команда 'set', відновіть початкову конфігурацію. echo "[+] Очищення: Зміни в конфігурації системи не були виконані."