SynkLoader поєднує декілька технік обходу та доставки
Detection stack
- AIDR
- Alert
- ETL
- Query
В середині SynkLoader: завантажувач, наповнений методами ухилення
Резюме
SynkLoader — це нещодавно виявлена модульна родина шкідливих програм, що використовує багатомовну архітектуру для ускладнення виявлення. Шкідливе програмне забезпечення використовує завантажувач на основі Python для розгортання модулів у пам’яті для профілювання системи, стійкості та крадіжки облікових даних через фальшивий екран блокування Windows. Воно також використовує розвинені методи ухилення, включаючи завантаження DLL у пам’ять і власне шифрування ChaCha20 для C2-комунікацій.
Розслідування
Дослідники виявили SynkLoader під час розслідування інциденту та пізніше створили емулятор C2, щоб залучити загрозових акторів в контрольоване середовище. Постачаючи фальшиву системну інформацію, вони спостерігали розгортання кількох модулів, зокрема компонентів для стійкості та фішингу. Цей підхід активного обману дозволив аналітикам захопити значну частину інструментарію атакуючих і краще зрозуміти їхні протоколи комунікації.
Зниження
Організації повинні блокувати несанкціоновані MSI-установники, надіслані з публічних хмарних сховищ, і контролювати підозрілі дії PowerShell з використанням закодованих команд. Рекомендується жорсткий контроль стосовно завантажень файлів у Microsoft Teams та моніторинг несанкціонованих спланованих завдань, створених через COM-інтерфейси. Рішення EDR також повинні виявляти завантаження DLL у пам’ять та незвичну поведінку процесу Python.
Відповідь
Якщо виявлено активність SynkLoader, уражений вузол слід негайно ізолювати, щоб обмежити латеральне переміщення, забезпечене модулем TrafficRedirector. Реагувальники повинні провести аналіз пам’яті для виявлення компонентів у пам’яті та перевірити заплановані завдання або маніпуляції об’єктами COM для стійкості. Автентифікаційні журнали також слід перевірити на підозрілі входи після можливого розгортання модуля PhishLocker.
Потік атаки
Ми все ще оновлюємо цю частину.
Виявлення
Підозрілі рядки PowerShell (через powershell)
Виклик підозрілих методів .NET з Powershell (через powershell)
Виконання Python зі підозрілих папок (через cmdline)
Можливий збір системних даних (через cmdline)
Можлива маніпуляція акаунтами або групами (через cmdline)
Можливі індикатори обфускації PowerShell (через powershell)
Підозріле заплановане завдання (через аудит)
IOC (HashSha256) для виявлення: SynkLoader: коли використовують все, що можна, окрім кухонної мийки
Виявлення виконання SynkLoader за допомогою завантажувача Python [Створення процесу Windows]
Виявлення виконання PowerShell у пам’яті з використанням шістнадцяткового кодування [Windows Powershell]
Виявлення фальшивого екрану блокування PhishLocker та стійкості запланованих завдань [Журнал безпеки Microsoft Windows]
Виконання симуляції
Попередня вимога: Тест достовірності телеметрії та базовий перевірка повинні бути пройдені.
Обґрунтування: У цьому розділі детально оголошується виконання техніки противника (TTP), призначеної для запуску правила виявлення. Команди та опис повинні безпосередньо відображати ідентифіковані TTPs і прагнути до створення точної телеметрії, очікуваної логікою виявлення. Абстрактні або не пов’язані приклади можуть призвести до неправильного діагностування.
-
Опис атаки та команди: Зловмисник отримав первинний доступ і має намір виконати завантаження другого етапу повністю в пам’яті, щоб уникнути залишення сліду на диску. Щоб ухилитися від простих антивірусів на основі файлів, вони використовують функцію
Invoke-Expression(скорочено якiex) для запуску шістнадцятково закодованого рядка. Вони також намагаються застосувати метод[System.Management.Automation.ScriptBlock]::Create, більш складну техніку, що часто використовують розвинені завантажувачі для виконання блоків коду безпосередньо з пам’яті. Ці дії призначені для запуску певних командних лінійних шаблонів, які контролюються правилом безпеки. -
Скрипт тестування регресії:
# Скрипт симуляції: Запуск виявлення виконання в пам’яті Write-Host "[*] Початок симуляції валідації виявлення..." -ForegroundColor Cyan # 1. Запуск через 'iex' (Invoke-Expression) Write-Host "[*] Виконання завантаження через шаблон 'iex'..." -ForegroundColor Yellow $hexPayload = "Write-Host 'ТРИВОГА: Виконання в пам'яті через IEX виявлено!'" $hexEncoded = [System.BitConverter]::ToString([System.Text.Encoding]::UTF8.GetBytes($hexPayload)).Replace("-", " ") # Імітація виконання команди, яке буде відображено в журналах powershell.exe -Command "iex ([System.Text.Encoding]::UTF8.GetString([System.Convert]::FromHexString('$($hexEncoded.Replace(' ', ''))')))" Start-Sleep -Seconds 2 # 2. Виконання за шаблоном 'ScriptBlock::Create' Write-Host "[*] Виконання завантаження за шаблоном 'ScriptBlock::Create'..." -ForegroundColor Yellow $cmd = "Write-Host 'ТРИВОГА: Виконання в пам'яті за 'ScriptBlock' виявлено!'" powershell.exe -Command "& ([System.Management.Automation.ScriptBlock]::Create('$cmd'))" Write-Host "[*] Симуляція завершена." -ForegroundColor Green -
Команди очищення:
# Ця симуляція не створює постійних артефактів, оскільки вона повністю в пам’яті. # Тим не менш, ми очищаємо консоль, щоб показати завершення. Clear-Host Write-Host "[*] Очищення завершено. Жодних файлів на диск не було записано." -ForegroundColor Cyan