UAT-10147 Використовує SPECTRE для крос-платформної стійкості та ухилення
Detection stack
- AIDR
- Alert
- ETL
- Query
Резюме
UAT-10147 — це китайськомовний актор загрози, що працює над розробкою складної багатоплатформної екосистеми для пост-експлуатації. Його комплект інструментів включає міжплатформний бекдор SPECTRE, руткіт Specter для Linux та інструменти для шахрайства з SEO, такі як BadIIS. Актор також використовує передові техніки, зокрема Bring Your Own Vulnerable Driver (BYOVD), щоб відключити захист EDR, і впроваджує робочі процеси з розробки з використанням штучного інтелекту.
Розслідування
Cisco Talos проаналізували відновлений вихідний код та зразки шкідливого ПЗ для відстеження еволюції інструментарію UAT-10147. Розслідування виявило ознаки генерування коду за допомогою штучного інтелекту в руткіті Linux та характерні артефакти розробки в шкідливому ПЗ BadIIS. Дослідники також задокументували командні структури імплантарта SPECTRE, техніки ін’єкцій та можливості обходу захисту на рівні ядра.
Захист
Організаціям слід зміцнити IIS та Linux сервери з інтернет-доступом та моніторити розгортання відомих вразливих драйверів, таких як RTCore64.sys and DBUtil_2_3.sys. Слід забезпечити жорсткі налаштування EDR, з моніторингом несанкціонованого завантаження модулів ядра та створення підозрілих сервісів systemd. Захисти веб-серверів повинні також включати аудит на предмет несанкціонованих обробників ASHX та неочікуваних HTTP-заголовків, таких як X-ID.
Відповідь
Якщо виявлено активність UAT-10147, скомпрометовані IIS або Linux сервери слід негайно ізолювати, щоб обмежити бічний рух. Відповідальні мають провести судово-медичну експертизу цілісності ядра та пошук несанкціонованих NTFS альтернативних потоків даних. Також слід переглянути системні журнали на предмет підозрілих установок сервісів та потенційного викрадення облікових даних через дампінг реєстру або перелік Credential Manager.
Потік атаки
Ми ще оновлюємо цю частину.
Виявлення
Підозрілі Використання Cmdkey (через cmdline)
Підозріле командування і контроль за допомогою незвичайного запиту DNS до домену верхнього рівня (TLD) (через dns)
Схований файл був створений на хості Linux (через file_event)
Виявлення модифікацій реєстру SPECTRE для збереження доступу [Подія реєстру Windows]
Виявлення ін’єкцій DLL SPECTRE та процесів [Створення процесу в Windows]
Виявлення виконання команд оболонки та завантаження модулів ядра варіанту SPECTRE для Linux [Створення процесу в Linux]
Виконання симуляції
Передумова: Повинен бути пройдено перевірку телеметрії та базового рівня.
Обгрунтування: Цей розділ деталізує точне виконання техніки противника (TTP), призначеної для спрацьовування правила виявлення. Команди та наратив повинні безпосередньо відображати встановлені TTPs і спрямовані на генерування точної телеметрії, як очікується за логікою виявлення. Абстрактні чи нерелевантні приклади призведуть до помилкового діагнозу.
-
Сценарій атаки та команди: Противник отримав початковий доступ через веб-вразливість. Щоб встановити глибоку стійкість та уникнути виявлення, вони мають намір розгорнути руткіт. Спочатку атакуючий запускає оболонку, щоб стабілізувати свою сесію. Потім вони запускають
psщоб перевірити, чи працюють якісь процеси моніторингу безпеки. Нарешті, вони використовуютьinsmodщоб завантажити фіктивний модуль ядра, імітуючи метод зміни поведінки ядра варіанта SPECTRE для дистанційного управління. -
Скрипт регресійного тестування:
#!/bin/bash # Сценарій імітації варіанту SPECTRE для Linux echo "[+] Початок імітації варіанту SPECTRE для Linux..." # 1. Імітація виконання оболонки (selection_shell) echo "[+] Крок 1: Виконання команди оболонки..." /bin/sh -c "echo 'Доступ до оболонки встановлено'" # 2. Імітація виявлення процесів (selection_ps) echo "[+] Крок 2: Виконання виявлення процесів..." ps -ef | grep "simulation" # 3. Імітація завантаження модуля ядра (selection_kernel_module) # Примітка: Це вимагає sudo. Спробуємо завантажити фіктивний модуль або зімітуємо команду. # Щоб уникнути збою системи, ми використаємо неіснуюче ім'я модуля # яке все ж генерує телеметрію командного рядка 'insmod'. echo "[+] Крок 3: Спроба завантажити модуль ядра через insmod..." sudo insmod spectre_rootkit_test.ko || echo "[!] insmod не вдалося, як і очікувалося (модуль не знайдено), але телеметрія повинна бути згенерована." echo "[+] Імітація завершена." -
Команди очищення:
# Очищення мінімальне, оскільки ми використовували неіснуюче ім'я модуля, щоб уникнути нестабільності системи. # Якщо справжній модуль був завантажений, використовуйте: # sudo rmmod spectre_rootkit_test echo "[+] Очищення: Ніяких стійких змін в ядрі не було зроблено."