Шкідливе ПЗ CoinMiner продовжує поширюватися через USB-накопичувачі
Detection stack
- AIDR
- Alert
- ETL
- Query
РЕЗЮМЕ
Шкідливе програмне забезпечення CoinMiner продовжує розповсюджуватися через USB-накопичувачі в Південній Кореї, використовуючи прихований ярлик, який запускає скрипти VBS та BAT, що, у свою чергу, встановлюють кілька компонентів, які зрештою доставляють шкідливу програму для майнінгу криптовалюти.
Розслідування
Звіт описує структуру каталогів на зараженому USB, ланцюг виконання від ярлика через кілька стадій дроппера, реєстрацію під службою DcomLaunch та розгорнення криптомайнерів PrintMiner і XMRig.
Пом’якшення
Користувачі повинні тримати ОС і програмне забезпечення в актуальному стані, блокувати виконання ненадійних файлів ярликів, використовувати антивірусні засоби з оновленими базами та забороняти доступ до відомої шкідливої інфраструктури.
Реакція
Виявляйте шкідливий ярлик та пов’язані з ним скрипти, здійснюйте моніторинг створення файлів-дропперів та DCOM реєстрацій, блокуйте мережевий трафік до виявлених доменів і IP-адрес командування та контролю майнінгу.
graph TB %% Визначення класів classDef action fill:#99ccff classDef tool fill:#66cc66 classDef file fill:#ffcc66 classDef process fill:#c266ff classDef malware fill:#ff6666 classDef network fill:#cccccc %% Вузли action_usb_insert[“<b>Дія</b> – <b>T1204.002 Виконання користувачем: шкідливий файл</b>: Користувач вставляє скомпрометований USB-накопичувач із прихованим ярликом.”] class action_usb_insert action tool_shortcut[“<b>Інструмент</b> – <b>T1547.009 Модифікація ярликів</b>: Прихований LNK-ярлик \”USB Drive.lnk\”, видимий для користувача.”] class tool_shortcut tool tool_vbscript[“<b>Інструмент</b> – <b>T1059.005 Visual Basic</b>: Ярлик запускає Visual Basic-скрипт.”] class tool_vbscript tool tool_batch[“<b>Інструмент</b> – <b>T1059.003 Командна оболонка Windows</b>: VBScript запускає batch-файл.”] class tool_batch tool file_malicious_dll[“<b>Файл</b> – <b>T1036.005 Маскування: імітація легітимної назви</b> та <b>T1036.008 Маскування: подвійне розширення</b>: Шкідлива DLL \”printui.dll\” (перейменована з .dat) розміщується в C:\\Windows\\System32 через приховані каталоги.”] class file_malicious_dll file process_printui[“<b>Процес</b> – <b>T1055.001 Інʼєкція в процес</b> та <b>T1574.001 Перехоплення DLL</b>: Легітимний printui.exe завантажує шкідливу DLL.”] class process_printui process tool_dcom[“<b>Інструмент</b> – <b>T1546.015 Компонент серверного ПЗ</b> та <b>T1021.003 DCOM</b>: Реєструє DLL у службі DCOM для забезпечення стійкості.”] class tool_dcom tool file_svcinsty[“<b>Файл</b>: Виконуваний файл \”svcinsty64.exe\”, створений дропером для встановлення фінального навантаження.”] class file_svcinsty file file_svctrl[“<b>Файл</b>: Виконуваний файл \”svctrl64.exe\”, створений дропером як допоміжний модуль.”] class file_svctrl file malware_printminer[“<b>Шкідливе ПЗ</b> – PrintMiner: Додає виключення у Windows Defender, підробляє сповіщення безпеки, готує завантаження майнера.”] class malware_printminer malware tool_defender_exclusion[“<b>Інструмент</b> – <b>T1564.012 Підміна вмісту диска</b> та <b>T1562.011 Модифікація реєстру</b>: Змінює список виключень Defender для приховування активності.”] class tool_defender_exclusion tool network_c2[“<b>Мережа</b> – <b>T1071.001 Веб-протоколи</b>, <b>T1102.002 Веб-сервіси</b>, <b>T1102.003 Передача інструментів у систему</b>: HTTPS-звʼязок із сервером керування для отримання конфігурації та завантаження майнера.”] class network_c2 network malware_xmrig[“<b>Шкідливе ПЗ</b> – XMRig: Open-source майнер Monero, який завантажується та запускається.”] class malware_xmrig malware action_compute_hijack[“<b>Дія</b> – <b>T1496.001 Захоплення обчислювальних ресурсів</b>: Запускає XMRig для майнінгу криптовалюти з обходом інструментів аналізу.”] class action_compute_hijack action action_replication[“<b>Дія</b> – <b>T1091 Розповсюдження через змінні носії</b>: Відтворює ярлик і приховані файли на інших USB-накопичувачах.”] class action_replication action %% Зв’язки action_usb_insert –>|створює| tool_shortcut tool_shortcut –>|запускає| tool_vbscript tool_vbscript –>|виконує| tool_batch tool_batch –>|скидає| file_malicious_dll file_malicious_dll –>|завантажується процесом| process_printui process_printui –>|забезпечує стійкість через| tool_dcom tool_dcom –>|створює| file_svcinsty tool_dcom –>|створює| file_svctrl file_svcinsty –>|встановлює| malware_printminer file_svctrl –>|підтримує| malware_printminer malware_printminer –>|додає виключення через| tool_defender_exclusion malware_printminer –>|звʼязується з| network_c2 network_c2 –>|доставляє| malware_xmrig malware_xmrig –>|виконує| action_compute_hijack action_compute_hijack –>|ініціює| action_replication action_replication –>|розміщує| tool_shortcut
Потік Атаки
Виявлення
Виявлення активностей USB-ярликів та BAT-шкідливого програмного забезпечення [Події файлів Windows]
Перегляд
Виявлення комунікацій XMRig з C&C сервером через специфічне ім’я хоста [Мережева підключення Windows]
Перегляд
Виконання шкідливих файлів через printui.exe та svcinsty64.exe [Створення процесу Windows]
Перегляд
Індикатори компрометації (HashMd5) для виявлення: CoinMiner, що постійно розповсюджується через USB
Перегляд
Індикатори компрометації (DestinationIP) для виявлення: CoinMiner, що постійно розповсюджується через USB
Перегляд
Виконання Симуляції
Передумова: Телеметрія та базовий передпольотний контроль повинні бути успішними.
Обґрунтування: У цьому розділі детально описується точне виконання техніки противника (TTP), розробленої для спрацьовування правила виявлення. Команди та наратив ПОВИННІ безпосередньо відображати ідентифіковані TTP та мають генерувати точну телеметрію, яку очікує логіка виявлення. Абстрактні або не пов’язані приклади призведуть до неправильного діагностування.
-
Наратив атаки та команди:
-
Етап 1 – Скидання шкідливої DLL: Зловмисник копіює створений
printui.dllв ту ж каталог, що іprintui.exe(імітує доставку драйвера через USB-пристрій). -
Етап 2 – Виконання
printui.exe: Викликомprintui.exeз ключем/ml(шкідливе завантаження), шкідлива DLL завантажується, генеруючи подію створення процесу, що відповідає вибору (Image endswith printui.exe), одночасно задовольняючи фільтр умови (Image contains printui.dll). Правило виключає цей випадок, тому зловмисник додає другий крок, щоб його обійти. -
Етап 3 – Виконання
svcinsty64.exe: Зловмисник реєструє нову службу, що вказує на двійковий файл навантаження (payload.exe), що зберігається на USB-накопичувачі. Ця дія викликає подію створення процесу дляsvcinsty64.exe, що відповідає вибору правила без спрацювання фільтра, що призводить до генерації сповіщення.
-
Етап 1 – Скидання шкідливої DLL: Зловмисник копіює створений
-
Скрипт регресійного тесту: Наведений нижче сценарій автоматизує три етапи, забезпечуючи відтворюваність.
# ------------------------------------------------- # Регресійний тест – Спрацювання Sigma правила для printui.exe / svcinsty64.exe # ------------------------------------------------- $dllPath = "$env:TEMPprintui.dll" $exePath = "$env:SystemRootSystem32printui.exe" $svcInstPath = "$env:SystemRootSystem32svcinsty64.exe" $payloadPath = "$env:TEMPpayload.exe" # 1️⃣ Скидання фіктивної шкідливої DLL (бінарний вміст не важливий для виявлення) Write-Host "[*] Створення фіктивної шкідливої DLL у $dllPath" Set-Content -Path $dllPath -Value ([byte[]](0..255)) -Encoding Byte # 2️⃣ Виконання printui.exe (безпечне завантаження) – не повинно спрацьовувати через фільтр Write-Host "[*] Запуск безпечного printui.exe (буде відфільтровано)" Start-Process -FilePath $exePath -ArgumentList "/p" -Wait # 3️⃣ Виконання printui.exe з шкідливим DLL – відфільтровано (очікуване) Write-Host "[*] Запуск printui.exe з шкідливим DLL (відфільтровано)" Start-Process -FilePath $exePath -ArgumentList "/ml `$dllPath`" -Wait # 4️⃣ Підготовка фіктивного виконуваного файлу навантаження (простий CMD скрипт, перекомпільований в exe) Write-Host "[*] Створення фіктивного виконуваного файлу навантаження" $payloadSource = @" @echo off echo Payload виконано > $env:TEMPpayload_output.txt "@ $payloadScript = "$env:TEMPpayload.bat" $payloadSource | Set-Content -Path $payloadScript -Encoding ASCII # Конвертація .bat в .exe з використанням iexpress (вбудований) $iexpress = "$env:SystemRootSystem32iexpress.exe" $config = "$env:TEMPiexpress.sed" @" [Version] Version=3.0 [Options] ExtractTitle=Payload ExtractLocation=%TEMP% ShowProgress=0 HideExtractWindow=1 [SourceFiles] SourceFiles=0 %TEMP%payload.bat [Run] RunCommand="%TEMP%payload.bat" "@ | Set-Content -Path $config -Encoding ASCII & $iexpress /N /Q /M $config Move-Item -Path "$env:TEMPPayload.exe" -Destination $payloadPath -Force # 5️⃣ Реєстрація шкідливої служби з використанням svcinsty64.exe – ПОВИННО SPAATYUVATY Write-Host "[*] Реєстрація шкідливої служби через svcinsty64.exe" $svcName = "ШкідливаСлужба" $svcDisplay = "Шкідлива служба" $svcCmd = "`"$payloadPath`"" $svcArgs = "/install `$svcName` `$svcDisplay` `$svcCmd`" Start-Process -FilePath $svcInstPath -ArgumentList $svcArgs -Wait # 6️⃣ Видалення служби Write-Host "[*] Видалення шкідливої служби" $removeArgs = "/uninstall `$svcName`" Start-Process -FilePath $svcInstPath -ArgumentList $removeArgs -Wait # 7️⃣ Видалення тимчасових артефактів Write-Host "[*] Видалення тимчасових файлів" Remove-Item -Path $dllPath -Force -ErrorAction SilentlyContinue Remove-Item -Path $payloadPath -Force -ErrorAction SilentlyContinue Remove-Item -Path $payloadScript -Force -ErrorAction SilentlyContinue Write-Host "[+] Тест завершено" -
Команди очищення: (Якщо вище наведений сценарій не вдалося виконати або ви віддаєте перевагу ручному очищенню)
# Видалення шкідливої служби, якщо ще існує $svcName = "MaliciousSvc" $svcInstPath = "$env:SystemRootSystem32svcinsty64.exe" & $svcInstPath /uninstall $svcName # Видалення тимчасової DLL та навантаження Remove-Item -Path "$env:TEMPprintui.dll" -Force -ErrorAction SilentlyContinue Remove-Item -Path "$env:TEMPpayload.exe" -Force -ErrorAction SilentlyContinue Remove-Item -Path "$env:TEMPpayload.bat" -Force -ErrorAction SilentlyContinue # (Необов'язково) Перевірте відсутність залишкових служб Get-Service -Name $svcName -ErrorAction SilentlyContinue