Ботнет PowMix атакує чеських працівників через приманку медійної компанії
Detection stack
- AIDR
- Alert
- ETL
- Query
Резюме
Cisco Talos виявили ботнет, відомий як PowMix, який діє щонайменше з грудня 2025 року і націлений на організації в Чехії. Ланцюг зараження починається з шкідливих LNK-файлів, які запускають завантажувач PowerShell, що розпаковує ZIP-архів, обходить захист AMSI і запускає навантаження PowMix безпосередньо в пам’ять. Як тільки він встановлюється, шкідливе програмне забезпечення зберігає стійкість через заплановане завдання з випадковим шістнадцятковим ім’ям і використовує глобальний мутекс для контролю виконання. PowMix зв’язується зі своєю командно-контрольної інфраструктурою через випадкові REST-подібні шляхи, розташовані на зловживаних herokuapp.com домени і підтримує віддалене виконання команд, зміну конфігурації та самовидалення.
Розслідування
Talos дослідили повний LNK-базований ланцюг доставки, завантажувач PowerShell і сам бот PowMix, виявивши помітні схожості з ранньою кампанією ZipLine, включаючи приховування навантаження на основі ZIP і використання інфраструктури Heroku для C2. Дослідники задокументували метод обходу AMSI, логіку генерації ідентифікатора бота в стилі CRC32 та інтервали маячення, розроблені з урахуванням коливань для зменшення виявлення. Команда також виділила ключові індикатори, включаючи шаблон іменування запланованих завдань, конвенції мутексу і жорстко закодовані рядки ключів XOR, вбудовані в шкідливе програмне забезпечення. Охоплення виявлення було розширено за рахунок створення сигнатур ClamAV та Snort.
Пом’якшення
Організації повинні застосовувати жорсткий контроль до виконання LNK-файлів і стежити за активністю PowerShell, що створює заплановані завдання або глобальні мутекси. Захисти AMSI мають бути посилені де можливо, а виконання скриптів контролюватися вимогами до підписання коду та обмежувальними політиками. Команди безпеки повинні також блокувати або ретельно перевіряти вихідний трафік на підозрілі herokuapp.com домени і переглядати журнали автентифікації проксі для незвичних запитів, схожих на браузерні, що можуть вказувати на активність PowMix. Виявлення на кінцевих точках мають бути оновлені для ідентифікації конкретних команд PowerShell та поведінки завантажувача.
Реакція
Якщо виявлено активність, пов’язану з PowMix, захисники повинні ізолювати уражений хост, завершити шкідливий процес PowerShell і видалити заплановане завдання разом з будь-якими пов’язаними файлами, збереженими у ProgramData. Судова колекція повинна охоплювати весь ланцюг виконання, включаючи артефакти командного рядка, значення мутексів і будь-які завантажені конфігураційні дані. Потенційно викриті облікові дані слід скинути, а контрольні заходи проксі і брандмауера оновити для блокування ідентифікованих доменів командно-контрольного центру. Команди безпеки повинні також моніторити мережевий трафік на команди, такі як #HOST and #KILL, повідомити відповідних зацікавлених сторін і оновити контент виявлення для відображення останніх індикаторів.
graph TB classDef action fill:#99ccff classDef technique fill:#ffff99 classDef process fill:#ffcc99 classDef malware fill:#ff9999 classDef artifact fill:#e0e0e0 classDef persistence fill:#b3ffb3 classDef c2 fill:#d9b3ff classDef command fill:#ffd9b3 attack_phishing[“<b>Дія</b> – T1566.001 Фішинг: цільове фішингове вкладення<br/>Жертва отримує email зі шкідливим ZIP”] class attack_phishing action file_zip[“<b>Артефакт</b> – Шкідливий ZIP архів<br/>Містить LNK ярлик”] class file_zip artifact file_lnk[“<b>Артефакт</b> – Шкідливий ярлик (.lnk)<br/>T1027.012 LNK Icon Smuggling”] class file_lnk artifact process_powershell[“<b>Процес</b> – PowerShell loader<br/>T1059.001 виконання PowerShell”] class process_powershell process tech_amsi_bypass[“<b>Техніка</b> – AMSI bypass<br/>Вимикає або обходить Antimalware Scan Interface”] class tech_amsi_bypass technique tech_compression[“<b>Техніка</b> – T1027.015 Стиснення<br/>Пейлоад стиснутий для приховування”] class tech_compression technique tech_xor[“<b>Техніка</b> – T1001 Обфускація даних (XOR)<br/>Кастомне XOR шифрування пейлоада”] class tech_xor technique malware_powmix[“<b>Шкідливе ПЗ</b> – PowMix<br/>In-memory loader, генерує Bot ID, C2 зв’язок”] class malware_powmix malware tech_botid[“<b>Техніка</b> – Генерація Bot ID<br/>CRC32-подібна перевірка для унікального ID”] class tech_botid technique persistence_task[“<b>Персистентність</b> – Заплановане завдання<br/>T1543.001 Launch Agent, випадкове ім’я, запуск через Explorer”] class persistence_task persistence tech_shortcut_mod[“<b>Техніка</b> – T1547.009 Модифікація ярлика<br/>Використання LNK для запуску”] class tech_shortcut_mod technique tech_screensaver[“<b>Техніка</b> – T1546.002 Screensaver<br/>Запуск за розкладом 11:00 щодня”] class tech_screensaver technique c2_communication[“<b>C2 зв’язок</b> – HTTPS GET запити<br/>T1102 Web Service, шифровані дані в URL, імітація Chrome”] class c2_communication c2 command_host[“<b>Команда</b> – #HOST<br/>Оновлення C2 домену”] class command_host command command_kill[“<b>Команда</b> – #KILL<br/>Видалення задач і файлів”] class command_kill command tech_indicator_removal[“<b>Техніка</b> – T1027.005 Видалення індикаторів”] class tech_indicator_removal technique tech_hide_artifacts[“<b>Техніка</b> – T1564.011 Приховування артефактів<br/>Ігнорування переривань процесу”] class tech_hide_artifacts technique attack_phishing –>|доставляє| file_zip file_zip –>|містить| file_lnk file_lnk –>|запускає| process_powershell process_powershell –>|застосовує| tech_amsi_bypass process_powershell –>|використовує| tech_compression process_powershell –>|використовує| tech_xor process_powershell –>|завантажує| malware_powmix malware_powmix –>|виконує| tech_botid malware_powmix –>|створює| persistence_task persistence_task –>|використовує| tech_shortcut_mod persistence_task –>|запускається о| tech_screensaver malware_powmix –>|зв’язується з| c2_communication c2_communication –>|надсилає| command_host c2_communication –>|надсилає| command_kill command_kill –>|застосовує| tech_indicator_removal command_kill –>|застосовує| tech_hide_artifacts
Потік Атаки
Виявлення
Можливий Шкідливий LNK Файл з Подвійним Розширенням (через cmdline)
Переглянути
Можливе Виконання через Активність Запланованих Завдань з PowerShell (через powershell)
Переглянути
Виклик Підозрілих Методів .NET з Powershell (через powershell)
Переглянути
Виклик Підозрілих Функцій .NET з Powershell (через powershell)
Переглянути
Підозрілий Зв’язок з Доміном Herokuapp (через проксі)
Переглянути
Підозрілий Зв’язок з Доміном Herokuapp (через DNS)
Переглянути
Виявлення PowerShell Invoke-Expression та Конструкції Динамічних Команд [Windows Powershell]
Переглянути
Виявлення Випадкових Інтервалів Маячення та Iмітації REST API Викликів Ботнетом PowMix [Windows Network Connection]
Переглянути
Виявлення Обходу AMSI та Створення Мутексів Ботнетом PowMix [Windows Sysmon]
Переглянути
Виконання Завантажувача PowerShell Ботнета PowMix [Windows Process Creation]
Переглянути
Симуляція Виконання
Попередня умова: Перевірка попереднього завантаження телеметрії та базового рівня повинна бути пройдена.
Обґрунтування: Цей розділ описує точне виконання техніки супротивника (TTP), розробленої для активації правила виявлення. Команди та наратив МАЮТЬ безпосередньо відображати ідентифіковані TTPs та прагнути генерувати саме ту телеметрію, на яку орієнтовано логіку виявлення.
-
Опис Атаки та Команди:
Оператор ботнета PowMix спочатку відключає AMSI за допомогою виклику PowerShell one-liner, що встановлює внутрішнійamsiInitFailedпрапор до$true. Негайно після цього той самий процес PowerShell створює іменований мутекс у глобальному просторі (GlobalBOT12345) для гарантування єдиного працюючого екземпляра. Обидві дії виконуються з одного командного рядка, щоб логи Sysmon захопили точні рядки, на які орієнтовано правило. -
Сценарій регресивного тесту:
# Обхід AMSI, схожий на PowMix + створення глобального мутексу (запускає правило виявлення) $botId = "BOT12345" # 1. Встановлення прапора обходу AMSI (буквальний рядок з'являється в командному рядку) # 2. Створити глобальний мутекс з іменем "Global<BotID>" powershell.exe -NoProfile -Command ` "$amsiInitFailed = $true; ` $null = [System.Threading.Mutex]::new($true, 'Global$botId')" -
Команди очищення:
# Жодні стійкі артефакти не записуються на диск; існує лише мутекс у пам'яті. # Щоб звільнити мутекс, завершіть будь-які залишкові процеси PowerShell # запущені тестом і за бажанням виконайте короткий скрипт для відкриття та закриття. Get-Process -Name powershell | Where-Object { $_.StartInfo.Arguments -match 'GlobalBOT12345' } | Stop-Process -Force