SOC Prime Bias: Середній

07 Apr 2026 18:22

Ілюзія розшифровки сертифікатів: як Blank Grabber Stealer приховує свій завантажувач

Author Photo
Ruslan Mikhalov Керівник досліджень загроз у SOC Prime linkedin icon Стежити
Ілюзія розшифровки сертифікатів: як Blank Grabber Stealer приховує свій завантажувач
shield icon

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 (через командний рядок)

КОМАНДА SOC Prime
02 квітня 2026

Можливі точки стійкості [ASEPs – Software/NTUSER Hive] (через командний рядок)

КОМАНДА SOC Prime
02 квітня 2026

Можливе проникнення / Екфільтрація / C2 через служби / інструменти третіх сторін (через проксі)

КОМАНДА SOC Prime
02 квітня 2026

Можливе розташування зібраних даних у папці Temp (через file_event)

КОМАНДА SOC Prime
02 квітня 2026

Можливе системне перерахування (через командний рядок)

КОМАНДА SOC Prime
02 квітня 2026

Зміни шляху до середовища (через реєстрову подію)

КОМАНДА SOC Prime
02 квітня 2026

Можливе використання PING для затримки виконання (через командний рядок)

КОМАНДА SOC Prime
02 квітня 2026

Підозрілі операції з реєстровим ключем Ms-settings (через командний рядок)

КОМАНДА SOC Prime
02 квітня 2026

Використання Certutil для кодування даних та операцій з сертифікатами (через командний рядок)

КОМАНДА SOC Prime
02 квітня 2026

Можливе виявлення паролів WiFi (через командний рядок)

КОМАНДА SOC Prime
02 квітня 2026

Змінні середовища в аргументах командного рядка (через командний рядок)

КОМАНДА SOC Prime
02 квітня 2026

Можливе проникнення / Екфільтрація / C2 через служби / інструменти третіх сторін (через DNS)

КОМАНДА SOC Prime
02 квітня 2026

Можливе виявлення конфігурації мережі системи (через командний рядок)

КОМАНДА SOC Prime
02 квітня 2026

Можливе перерахування антивірусного або брандмауерного програмного забезпечення (через процес створення)

КОМАНДА SOC Prime
02 квітня 2026

Зміни підозрілих параметрів Windows Defender (через PowerShell)

КОМАНДА SOC Prime
02 квітня 2026

Вимкнення моніторингу в реальному часі Windows Defender (через PowerShell)

КОМАНДА SOC Prime
02 квітня 2026

Підозрілі бінарні файли / скрипти в місці автозапуску (через file_event)

КОМАНДА SOC Prime
02 квітня 2026

Спроба зв’язку з доменами для пошуку IP (через DNS)

КОМАНДА SOC Prime
02 квітня 2026

Вимкнення моніторингу в реальному часі Windows Defender та інші зміни параметрів (через командний рядок)

КОМАНДА SOC Prime
02 квітня 2026

IOC (HashSha256) для виявлення: Ілюзія декодування сертифіката: Як стілер Blank Grabber приховує свій завантажувач

Правила AI SOC Prime
02 квітня 2026

Виявлення комунікацій BlankGrabber C2 через DNS-запити [Windows Sysmon]

Правила AI SOC Prime
02 квітня 2026

Виявлення активності BlankGrabber через PowerShell [Windows Powershell]

Правила AI SOC Prime
02 квітня 2026

Виконання симуляції

Передумова: Перевірка телеметрії та базової лінії перед запуском повинна бути успішною.

Мотив: Цей розділ деталізує точне виконання техніки противника (TTP), призначене для виклику правила виявлення. Команди та наратив МАЮТЬ прямо відображати визначені TTP і націлені на генерування точної телеметрії, очікуваної правилами виявлення.

  • Наратив атаки та команди:
    Противник, зламавши кінцеву точку за допомогою стілера BlankGrabber, видає DNS-запити до трьох різних служб, які використовуються шкідливим ПЗ для C2 та розвідки:

    1. Домен API Telegram – використовується для отримання команд через бота Telegram.
      Resolve-DnsName -Name api.telegram.org -Type A
    2. Служба перевірки публічного IP – отримує зовнішню IP-адресу жертви для подальшої експфільтрації.
      Resolve-DnsName -Name api.ipify.org -Type A
    3. Послуга передачі файлів зловживання – відправляє невеличкий закодований шматок даних через піддомен pastebin.com.
      Resolve-DnsName -Name maliciouspayload.pastebin.com -Type A

    Кожен виклик виконується з використанням вбудованого PowerShell Resolve-DnsName для забезпечення генерування журналів клієнта DNS на локальному хості. Три запити безпосередньо відображаються на три блоки правила Sigma, гарантуючи відповідність. Сценарій регресивного тестування:

  • # Симуляція 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 очищено."