Варіант шкідливого ПЗ BlueShell пов’язаний з кампаніями APT
Detection stack
- AIDR
- Alert
- ETL
- Query
Резюме
У звіті розглядається новий варіант BlueShell RAT на базі Linux, написаний на Go. Ця версія має покращені можливості ухилення, включаючи маскування процесу під робітника ядра та використання проксі-серверів для C2-комунікації. Шкідливе програмне забезпечення було пов’язане з загрозами з Китаю, включаючи BlackTech.
Розслідування
Аналітики ідентифікували дроппер, який декодує за допомогою XOR та розпаковує завантажувану частину BlueShell у /tmp/kthread. Шкідливе програмне забезпечення зберігає закодовані конфігураційні дані у змінній середовища під назвою wtim. Розслідування також виявило нові можливості, включаючи перевірку імені вузла та можливість уникнення прямих C2-підключень шляхом маршрутизації трафіку через внутрішній проксі-сервер.
Пом’якшення
Організації повинні ретельно стежити за підозрілим створенням файлів у межах /tmp та незвичайними іменами процесів такими як [kworker/12:12]. Команди безпеки також мають виявляти несподіваний вихідний трафік, який проходить через внутрішні проксі-сервери. При видаленні дропперів повинна проводитися судова експертиза пам’яті та стесання файлової системи для відновлення завантажуваних і конфігураційних даних.
Відповідь
Якщо виявлено активність BlueShell, уражені сервери слід негайно ізолювати та перевірити за допомогою судово-медичної експертизи пам’яті для виявлення шкідливого процесу та його конфігурації. Необхідно проаналізувати журнали проксі для з’єднань з C2 IP адресою 48.216.210.91. Дослідники повинні також з’ясувати, як був розгорнутий початковий дроппер, включаючи можливе зловживання скомпрометованими обліковими даними SSH.
Потік атаки
Виявлення
Були встановлені небезпечні дозволи для виконуваного файлу/скрипту/папки (через cmdline)
Перегляд
Схований файл було створено на хості Linux (через file_event)
Перегляд
IOC (HashSha256) для виявлення: Аналіз варіанту BlueShell, що використовується групами APT
Перегляд
IOC (SourceIP) для виявлення: Аналіз варіанту BlueShell, що використовується групами APT
Перегляд
IOC (DestinationIP) для виявлення: Аналіз варіанту BlueShell, що використовується групами APT
Перегляд
Виявлення спроб підключення до C2 серверу варіантом BlueShell [Windows Network Connection]
Перегляд
Виявлення варіанту BlueShell з C2-комунікацією через проксі-сервер [Proxy]
Перегляд
Виявлення виконання варіанту шкідливого ПЗ BlueShell [Linux Process Creation]
Перегляд
Виконання симуляції
Передумова: Перевірка наявності телеметрії та базової лінії повинна пройти.
Обґрунтування: У цьому розділі детально описується точне виконання техніки противника (TTP), розробленої для запуску правила виявлення. Команди та наратив ПОВИННІ прямо відображати виявлені TTP та прагнути генерувати точну телеметрію, очікувану в логіці виявлення. Абстрактні або нерелевантні приклади призведуть до невірного діагнозу.
-
Наратив атаки та команди: Зловмисник отримав початковий доступ до серверу Linux та розгортає варіант BlueShell для встановлення стійкості. Щоб уникнути виявлення, він намагається замаскувати шкідливий процес під робітничий потік ядра з назвою
/kworker/12:12. Одночасно дроппер намагається розпакувати головний завантажуваний файл у/tmp/kthread. Ми будемо імітувати як маскування процесу, так і активність дроппера, щоб перевірити, чи запускаються певні рядки, визначені в правилі Sigma. -
Скрипт регресійного тесту:
#!/bin/bash # Симуляція виконання варіанту шкідливого ПЗ BlueShell echo "[+] Початок симуляції BlueShell..." # 1. Імітація поведінки дроппера (Запис у /tmp/kthread) echo "Імітуємо запис дроппера у /tmp/kthread" echo "#!/bin/bash" > /tmp/kthread chmod +x /tmp/kthread /tmp/kthread & SLEEP_PID=$! # 2. Імітація виконання замаскованого процесу # Ми створюємо фіктивний файл та перейменовуємо його на ім'я цільового процесу, щоб запустити 'Image contains' echo "[+] Імітуємо замаскований процес /kworker/12:12" echo "echo 'Я фіктивний поток ядра'" > /tmp/fake_worker chmod +x /tmp/fake_worker # Запуск через шлях, що містить ім'я, щоб запустити логіку 'contains' /tmp/fake_worker --name="/kworker/12:12" & WORKER_PID=$! echo "[+] Команди симуляції відправлено." echo "[+] Очікування на прийом телеметрії..." sleep 10 # Очищення обробляється окремою командою echo "[+] Симуляцію завершено. Використовуйте скрипт очищення для видалення артефактів." -
Команди очищення:
#!/bin/bash # Очищення артефактів симуляції echo "[+] Очищення артефактів симуляції..." rm -f /tmp/kthread rm -f /tmp/fake_worker pkill -f "/kworker/12:12" pkill -f "/tmp/kthread" echo "[+] Очищення завершено."