Abyssos: Технічний аналіз нового модульного RAT
Detection stack
- AIDR
- Alert
- ETL
- Query
Резюме
Abyssos — це недавно виявлений модульний засіб віддаленого адміністрування (RAT), розроблений на C++. Він надає розширені можливості, включаючи крадіжку облікових даних, ексфільтрацію файлів та віддалений доступ через VNC. Шкідливе програмне забезпечення також використовує складні методи обфускації, включаючи IR-проходи на основі LLVM, для ускладнення аналізу безпеки та виявлення.
Розслідування
Zscaler ThreatLabz провела технічний аналіз версії Abyssos 2.4F, досліджуючи його механізми протианалізу, мережевий протокол і архітектуру команд. Розслідування виявило кастомізовану TCP-комунікацію, шифрування AES-GCM і кілька модульних компонентів, отриманих з C2 серверів. Дослідники також визначили спеціальні перевірки антигіпервізора і характерні патерни найменування м’ютексів.
Зниження ризиків
Організаціям слід встановлювати контролі безпеки на кінцевих точках, здатні виявляти обфускацію на основі LLVM і аномальну поведінку процесів. Команди безпеки повинні моніторити неавторизовані сесії VNC та підозрілу активність файлів у тимчасових директоріях Windows. Обмеження вихідних з’єднань до невідомих C2 IP-адрес і виявлення незвичних параметрів командного рядка, таких як --elevated також рекомендується.
Відповідь
Якщо виявлена активність Abyssos, інцидентні респондери повинні негайно ізолювати уражений хост, щоб зірвати комунікацію C2 і обмежити горизонтальне переміщення. Слід виконати форензіку пам’яті для відновлення декриптованих модулів і визначення виконаних команд. Також слід переглянути мережеві логи для відомих C2 IP-адрес, щоб оцінити обсяг порушення й ідентифікувати потенційну ексфільтрацію даних.
Логіка Атаки
Виявлення
Можливе використання PING для затримки виконання (через командний рядок)
IOCs (HashSha256) для виявлення: Abyssos: Технічний аналіз нового модульного RAT
IOCs (SourceIP) для виявлення: Abyssos: Технічний аналіз нового модульного RAT
IOCs (DestinationIP) для виявлення: Abyssos: Технічний аналіз нового модульного RAT
Виявлення протианалізу Abyssos [Створення процесу в Windows]
Виконання симуляції
Передумова: Перевірка телеметрії та базових показників повинна бути успішно пройдена.
Обґрунтування: Це розділ детально розповідає про точне виконання техніки супротивника (TTP), призначеної для запуску правила виявлення. Команди та наратив ПОВИННІ безпосередньо відображати ідентифіковані TTP і націлені на створення точної телеметрії, яку очікує логіка виявлення. Абстрактні або нерелевантні приклади призведуть до помилкового діагнозу.
-
Наратив атаки та команди: Атакуючий прагне розгорнути Abyssos RAT. Щоб гарантувати, що шкідливе програмне забезпечення запускається лише один раз і щоб визначити його середовище, пейлоад виконує команду, що імітує поведінку шкідливого ПЗ. Спочатку атакуючий імітує наявність сервісу віртуальної машини, посилаючись на
vmtoolsd.exe. По-друге, атакуючий намагається активувати вторинну логіку виявлення, створюючи унікальний, форматований як UUID Global Mutex, одночасно передаючи--elevatedпрапор через аргумент командного рядка. Це імітує спробу шкідливого програмного забезпечення встановити блокування одноразового запуску під час фази протианалізу. -
Скрипт регресійного тесту:
# Скрипт симуляції Abyssos # Цей скрипт симулює два шляхи виявлення: # 1. Відповідність імені процесу (vmtoolsd.exe) # 2. Шаблон м'ютекса + '--elevated' командний рядок Write-Host "[+] Початок симуляції Abyssos..." -ForegroundColor Cyan # Шлях 1: Імітуйте виявлення процесу віртуальної машини (Примітка: передбачається, що ми можемо викликати подію створення процесу # яка 'закінчується на' vmtoolsd.exe. У реальному тесті ми могли б перейменувати безнешну утиліту на цю.) # Для цілей симуляції, ми використовуємо фіктивний файл для запуску логіки 'Image', якщо правило дозволяє. # Оскільки ми не можемо легко 'створити' справжній vmtoolsd.exe без адміністраторських прав/установки, ми симулюємо командну лінію логіку. # Шлях 2: Симулюйте логіку Mutex + Командна лінія $uuid = [guid]::NewGuid().ToString() $mutexName = "Global$uuid" $commandLine = "malware_payload.exe --elevated" Write-Host "[+] Створення м'ютекса: $mutexName" -ForegroundColor Yellow # Ми використовуємо невеликий фрагмент C# через PowerShell для створення необхідного Global Mutex $code = @" using System; using System.Threading; public class CreateMutex { public static void Run(string name) { Mutex m = new Mutex(true, name); Console.WriteLine("Mutex created: " + name); // Утримуйте його активним ненадовго для з'ймання телеметрії Thread.Sleep(5000); m.ReleaseMutex(); } } "@ Add-Type -TypeDefinition $code # Запуск логіки за командною лінією (Симулюється через процес, який би намічав цей рядок) # У реальному середовищі, виявлення розглядає створення процесу. # Тут ми симулюємо створення процесу з потрібним рядком. Write-Host "[+] Симуляція виконання процесу з '--elevated' флагом..." -ForegroundColor Yellow Start-Process "cmd.exe" -ArgumentList "/c echo $commandLine" -WindowStyle Hidden # Запуск створення м'ютекса Write-Host "[+] Симуляція завершена." -ForegroundColor Green -
Команди очищення:
# Очищення: Постійні файли не були створені, але ми перевіримо, щоб закрити всі осиротілі процеси. Stop-Process -Name "cmd" -ErrorAction SilentlyContinue Write-Host "[+] Очищення завершено." -ForegroundColor Cyan