Ілюзія розшифровки сертифікатів: як Blank Grabber Stealer приховує свій завантажувач
Detection stack
- AIDR
- Alert
- ETL
- Query
Резюме
BlankGrabber — це інфостілер на основі Python, який починається з завантажувача на основі пакетного скрипту, що «декодує» Rust-скомпільований стейджер, замаскований під файл сертифіката. Стейджер перевіряє наявність пісочниць та віртуальних машин, дешифрує вбудоване навантаження та залишає кілька шкідливих компонентів, включаючи клієнта XWorm і стілер, упакований PyInstaller. Експфільтрація спирається на публічні веб-сервіси, такі як API ботів Telegram та IP-look-up, щоб змішатися зі звичайним трафіком. Шкідливе програмне забезпечення також маніпулює налаштуваннями системи, блокує доступ до сайтів безпеки та намагається обійти UAC для зміцнення стійкості.
Розслідування
Команда Splunk Threat Research Team проаналізувала початковий завантажувач, доставлений через gofile.io, його використання certutil.exe для декодування навантаження та логіку антианаліза Rust стейджеру. Вони реверсували потік дешифрування AES-GCM/CTR, витягли вбудований ZIP-архів і відобразили отриманий набір навантажень. Поведінкове тестування виявило широке виявлення хостів, захоплення веб-камери, збирання буфера обміну та викрадення ключів хоста та інших конфіденційних артефактів.
Захист
Моніторьте підозрілу активність certutil.exe, команди PowerShell, що змінюють параметри Windows Defender, та несанкціоновані редагування файлу hosts. Налаштуйте сигнали на виконання WinRAR/rar.exe з нестандартних шляхів і DNS-запити до API Telegram або відомих IP-служб пошуку. Заблоковуйте відомі шкідливі імена файлів і обмежте виконання непідписаних Python-бінарників, упакованих PyInstaller, через політики контролю програм.
Відповідь
Якщо виявлені індикатори, ізолюйте кінцеву точку, збережіть волатильні докази та зберіть каталог %TEMP% для судово-медичної оцінки. Видаліть шкідливі завдання за розкладом або записи Run в реєстрі, відновіть будь-які зміни у файлі hosts та скиньте виключення Windows Defender. Виконайте повне скидання облікових даних для потенційно відкритих облікових даних браузера і даних криптогаманця.
"graph TB %% Class definitions classDef technique fill:#e6f7ff classDef operator fill:#ffcc66 classDef data fill:#d9ead3 %% Nodes u2013 Techniques init_exec["<b>Техніка</b> – T1059.003: Windows Command Shell<br/><b>Опис</b>: Пакетний скрипт запускає certutil для декодування вбудованого Rust стейджеру"] class init_exec technique evasion_vm["<b>Техніка</b> – T1497: Віртуалізація/Пісочниці уникнення<br/><b>Опис</b>: Перевіряє драйвери, імена користувачів та UUID для виявлення середовищ аналізу"] class evasion_vm technique obfuscation["<b>Техніка</b> – T1027: Обфусковані файли або інформація<br/><b>Опис</b>: Rust виконуваний файл замаскований під файл сертифіката"] class obfuscation technique decode["<b>Техніка</b> – T1140: Деобфускація/Декодування файлів або інформації<br/><b>Опис</b>: AESu2011CTR/GCM дешифрування зашифрованого навантаження (blank.aes)"] class decode technique load_stager["<b>Техніка</b> – T1105: Імпорт інструмента<br/><b>Опис</b>: Залишає випадково названий виконуваний файл у %TEMP%і запускає його"] class load_stager technique pers_startup["<b>Техніка</b> – T1037.005: Ініціалізаційні скрипти завантаження або входу в систему (папка запуску)"] class pers_startup technique elev_uac["<b>Техніка</b> – T1548.002: Зловживання механізмом контролю підвищення привілеїв (обхід реєстру UAC)"] class elev_uac technique impair_def["<b>Техніка</b> – T1562.004: Послаблення захисту (відключення Windows Defender, додавання у виключення)"] class impair_def technique hide_hosts["<b>Техніка</b> – T1564.012: Сховати артефакти (зміна файлу hosts для блокування сайтів безпеки)"] class hide_hosts technique data_collection["<b>Техніка</b> – T1082: Виявлення системної інформації та пов’язаного збору"] class data_collection data sysinfo["<b>Техніка</b> – T1082: Виявлення системної інформації"] class sysinfo technique browser_info["<b>Техніка</b> – T1217: Виявлення інформації браузера"] class browser_info technique clipboard["<b>Техніка</b> – T1115: Дані буфера обміну"] class clipboard technique video_capture["<b>Техніка</b> – T1125: Захоплення відео"] class video_capture technique wifi_passwords["<b>Техніка</b> – T1016: Виявлення конфігурації мережі системи (паролі Wi‑Fi)"] class wifi_passwords technique product_key["<b>Техніка</b> – T1012: Запит реєстру (ключ продукту Windows)"] class product_key technique removable_media["<b>Техніка</b> – T1025: Дані з змінних носіїв"] class removable_media technique wmi_queries["<b>Техніка</b> – T1047: Інструментація управління Windows (запити системи)"] class wmi_queries technique archive_data["<b>Техніка</b> – T1560.001: Архівування зібраних даних (утиліта RAR)"] class archive_data technique exfil_telegram["<b>Техніка</b> – T1041: Витік через канал C2 (API бота Telegram)"] class exfil_telegram technique exfil_public["<b>Техніка</b> – T1048: Витік через альтернативний протокол (Послуги публічного обміну файлами)"] class exfil_public technique self_delete["<b>Техніка</b> – T1070: Видалення індикаторів (Самовидалення після витоку)"] class self_delete technique %% Flow connections init_exec –>|приводить до| evasion_vm evasion_vm –>|приводить до| obfuscation obfuscation –>|приводить до| decode decode –>|приводить до| load_stager load_stager –>|дозволяє| pers_startup load_stager –>|дозволяє| elev_uac load_stager –>|дозволяє| impair_def load_stager –>|дозволяє| hide_hosts load_stager –>|починає| data_collection data_collection –>|включає| sysinfo data_collection –>|включає| browser_info data_collection –>|включає| clipboard data_collection –>|включає| video_capture data_collection –>|включає| wifi_passwords data_collection –>|включає| product_key data_collection –>|включає| removable_media data_collection –>|включає| wmi_queries data_collection –>|приводить до| archive_data archive_data –>|використовує| exfil_telegram archive_data –>|використовує| exfil_public exfil_telegram –>|слідує за| self_delete exfil_public –>|слідує за| self_delete "
Атакувати потік
Виявлення
Ескалація привілеїв (обхід UAC) через FodHelper (через командний рядок)
Перегляд
Можливі точки стійкості [ASEPs – Software/NTUSER Hive] (через командний рядок)
Перегляд
Можливе проникнення / Екфільтрація / C2 через служби / інструменти третіх сторін (через проксі)
Перегляд
Можливе розташування зібраних даних у папці Temp (через file_event)
Перегляд
Можливе системне перерахування (через командний рядок)
Перегляд
Зміни шляху до середовища (через реєстрову подію)
Перегляд
Можливе використання PING для затримки виконання (через командний рядок)
Перегляд
Підозрілі операції з реєстровим ключем Ms-settings (через командний рядок)
Перегляд
Використання Certutil для кодування даних та операцій з сертифікатами (через командний рядок)
Перегляд
Можливе виявлення паролів WiFi (через командний рядок)
Перегляд
Змінні середовища в аргументах командного рядка (через командний рядок)
Перегляд
Можливе проникнення / Екфільтрація / C2 через служби / інструменти третіх сторін (через DNS)
Перегляд
Можливе виявлення конфігурації мережі системи (через командний рядок)
Перегляд
Можливе перерахування антивірусного або брандмауерного програмного забезпечення (через процес створення)
Перегляд
Зміни підозрілих параметрів Windows Defender (через PowerShell)
Перегляд
Вимкнення моніторингу в реальному часі Windows Defender (через PowerShell)
Перегляд
Підозрілі бінарні файли / скрипти в місці автозапуску (через file_event)
Перегляд
Спроба зв’язку з доменами для пошуку IP (через DNS)
Перегляд
Вимкнення моніторингу в реальному часі Windows Defender та інші зміни параметрів (через командний рядок)
Перегляд
IOC (HashSha256) для виявлення: Ілюзія декодування сертифіката: Як стілер Blank Grabber приховує свій завантажувач
Перегляд
Виявлення комунікацій BlankGrabber C2 через DNS-запити [Windows Sysmon]
Перегляд
Виявлення активності BlankGrabber через PowerShell [Windows Powershell]
Перегляд
Виконання симуляції
Передумова: Перевірка телеметрії та базової лінії перед запуском повинна бути успішною.
Мотив: Цей розділ деталізує точне виконання техніки противника (TTP), призначене для виклику правила виявлення. Команди та наратив МАЮТЬ прямо відображати визначені TTP і націлені на генерування точної телеметрії, очікуваної правилами виявлення.
-
Наратив атаки та команди:
Противник, зламавши кінцеву точку за допомогою стілера BlankGrabber, видає DNS-запити до трьох різних служб, які використовуються шкідливим ПЗ для C2 та розвідки:- Домен API Telegram – використовується для отримання команд через бота Telegram.
Resolve-DnsName -Name api.telegram.org -Type A - Служба перевірки публічного IP – отримує зовнішню IP-адресу жертви для подальшої експфільтрації.
Resolve-DnsName -Name api.ipify.org -Type A - Послуга передачі файлів зловживання – відправляє невеличкий закодований шматок даних через піддомен
pastebin.com.Resolve-DnsName -Name maliciouspayload.pastebin.com -Type A
Кожен виклик виконується з використанням вбудованого PowerShell
Resolve-DnsNameдля забезпечення генерування журналів клієнта DNS на локальному хості. Три запити безпосередньо відображаються на триблоки правила Sigma, гарантуючи відповідність.Сценарій регресивного тестування: - Домен API Telegram – використовується для отримання команд через бота Telegram.
-
# Симуляція DNS C2 BlankGrabber – створює правило виявлення $domains = @( “api.telegram.org”, “api.ipify.org”, “maliciouspayload.pastebin.com” ) foreach ($d in $domains) { Write-Host “Запит $d …” try { Resolve-DnsName -Name $d -Type A -ErrorAction Stop | Out-Null Write-Host “✅ $d запрошено” } catch { Write-Warning “❌ Не вдалося здійснити запит до $d : $_” } Start-Sleep -Seconds 2 # невелика затримка для імітації реалістичного трафіку }
Команди очищення: -
Cleanup Commands:
# Постійні артефакти не створюються Resolve-DnsName. # Очистіть кеш DNS, щоб видалити будь-які залишкові записи. ipconfig /flushdns Write-Host "Кеш DNS очищено."