SOC Prime Bias: Critico

13 Mag 2026 22:13

Malware Trovato nel Repository di Tendenza di Hugging Face

Author Photo
Ruslan Mikhalov Capo della Ricerca sulle Minacce presso SOC Prime linkedin icon Segui
Malware Trovato nel Repository di Tendenza di Hugging Face
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Riassunto

I ricercatori di HiddenLayer hanno scoperto codice dannoso ospitato nel repository di Hugging Face Open-OSS/privacy-filter che imita un progetto legittimo di OpenAI. Il repo conteneva uno script loader.py che recuperava un comando PowerShell da jsonkeeper.com, il quale scaricava un file batch di seconda fase e un infostealer basato su Rust. Il payload esfiltra credenziali, dati del browser, file dei portafogli di criptovaluta e screenshot, quindi si auto-elimina dopo l’esecuzione di un’attività pianificata one-shot.

Investigazione

L’analisi ha identificato sei fasi dall’esca iniziale fino al finale infostealer in Rust, inclusa un’esecuzione nascosta di PowerShell, un downloader che recupera update.bat da api.eth-fastscan.org, e un file batch che crea uno script runner temporaneo e un’attività pianificata transitoria. È stato osservato traffico di rete verso un dominio C2 recargapopular.com e un dominio correlato welovechinatown.info. Sono stati trovati più repository di Hugging Face sotto l’utente anthfu che riutilizzavano lo stesso loader e URL C2.

Mitigazione

Bloccare i domini e gli URL dannosi elencati al perimetro della rete, e disabilitare l’esecuzione di script PowerShell non firmati sugli endpoint. Rimuovere eventuali file scaricati dai repository compromessi e revocare qualsiasi credenziale che potrebbe essere stata raccolta. Implementare un monitoraggio rigoroso per la creazione di attività pianificate sospette e per le linee di comando anomale di PowerShell.

Risposta

Isolare qualsiasi host che abbia eseguito il loader o start.bat, trattarlo come completamente compromesso e ricostruire il sistema. Ruotare tutte le password memorizzate, i cookie di sessione, i token OAuth e le credenziali dei portafogli di criptovaluta. Cercare connessioni storiche ai domini dannosi e la presenza dei percorsi di file e nomi di attività pianificate indicati.

"grafico TB %% Definizioni delle classi classDef action fill:#99ccff classDef tool fill:#cccccc classDef file fill:#ffcc99 classDef process fill:#ff9966 classDef malware fill:#ff6666 classDef credential fill:#ccffcc classDef exfil fill:#c0c0c0 classDef operator fill:#ff9900 %% Definizioni dei nodi malicious_repo["<b>Risorsa</b> – <b>Repository di Hugging Face</b><br/>Contiene start.bat e loader.py dannosi"] class malicious_repo file action_user_execution_link["<b>Azione</b> – <b>T1204.001 Esecuzione Utente: Link Dannoso</b><br/>La vittima clicca su un link al repository dannoso"] class action_user_execution_link action file_start_bat["<b>File</b> – start.bat<br/>Script batch invocato dalla vittima"] class file_start_bat file file_loader_py["<b>File</b> – loader.py<br/>Loader Python che verifica checksum e disabilita la verifica SSL"] class file_loader_py file action_user_execution_file["<b>Azione</b> – <b>T1204.002 Esecuzione Utente: File Dannoso</b><br/>La vittima esegue loader.py"] class action_user_execution_file action action_proxy_execution["<b>Azione</b> – <b>T1127 Esecuzione Proxy degli Strumenti di Sviluppatore Affidabili</b><br/>loader.py avvia PowerShell con bypass e finestra nascosta"] class action_proxy_execution action process_powershell["<b>Processo</b> – PowerShell<br/>Esegue linea di comando remota"] class process_powershell process action_taint_shared_content["<b>Azione</b> – <b>T1080 Contaminazione del Contenuto Condiviso</b><br/>PowerShell oneu2011liner scarica update.bat da api.ethu2011fastscan.org"]/Class action_taint_shared_content action file_update_bat["<b>File</b> – update.bat<br/>Script batch che aggiunge esclusioni Defender e crea attività pianificata"] class file_update_bat file action_hide_artifacts["<b>Azione</b> – <b>T1564.012 Nascondere i Frutti: Esclusioni File/Percorso</b><br/>Aggiunge esclusioni di Microsoft Defender per i file payload"] class action_hide_artifacts action action_hijack_execution["<b>Azione</b> – <b>T1574 Dirottamento del Flusso di Esecuzione</b><br/>Crea attività pianificata oneu2011shot MicrosoftEdgeUpdateTaskCore per eseguire il payload come SYSTEM"] class action_hijack_execution action process_scheduled_task["<b>Processo</b> – Attività Pianificata<br/>Esegue payload Rust con privilegi SYSTEM"]/Class process_scheduled_task process malware_rust_payload["<b>Malware</b> – Payload Rust<br/>Esegue controlli antiu2011analisi e disabilita AMSI/ETW"] class malware_rust_payload malware action_credential_collection["<b>Azione</b> – <b>T1555 Credenziali dagli Archivi di Password</b><br/>L’infostealer estrae credenziali di Chromium, Firefox, Discord e portafogli"]/Class action_credential_collection credential action_credential_files["<b>Azione</b> – <b>T1552.001 Credenziali Non Sicure: Credenziali Nei File</b><br/>Raccoglie file seed di SSH, FTP, VPN e portafogli"] class action_credential_files credential action_os_credential_dump["<b>Azione</b> – <b>T1003 Dump Credenziali OS</b><br/>Recupera chiavi del browser crittografate"] class action_os_credential_dump credential action_screen_capture["<b>Azione</b> – <b>T1113 Cattura Schermo</b><br/>Cattura screenshot da più monitor"] class action_screen_capture malware action_data_encoding["<b>Azione</b> – <b>T1132 Codifica Dati</b><br/>Packeggia i dati in JSON compresso secondo gzip"] class action_data_encoding malware action_exfiltration["<b>Azione</b> – <b>T1567.002 Esfiltrazione Attraverso Servizio Web</b><br/>Posta dati codificato tramite HTTPS a recargapopular.com"] class action_exfiltration exfil %% Connessioni malicious_repo –>|contiene| file_start_bat malicious_repo –>|contiene| file_loader_py action_user_execution_link –>|conduce_a| file_start_bat action_user_execution_link –>|conduce_a| file_loader_py file_start_bat –>|eseguito_da| action_user_execution_file file_loader_py –>|eseguito_da| action_user_execution_file action_user_execution_file –>|attiva| action_proxy_execution action_proxy_execution –>|avvia| process_powershell process_powershell –>|scarica| file_update_bat file_update_bat –>|esegue| action_hide_artifacts action_hide_artifacts –>|crea| action_hijack_execution action_hijack_execution –>|spawna| process_scheduled_task process_scheduled_task –>|esegue| malware_rust_payload malware_rust_payload –>|esegue| action_credential_collection malware_rust_payload –>|esegue| action_credential_files malware_rust_payload –>|esegue| action_os_credential_dump malware_rust_payload –>|esegue| action_screen_capture malware_rust_payload –>|codifica| action_data_encoding action_data_encoding –>|esfiltra| action_exfiltration "

Flusso di Attacco

Esecuzione Simulazione

Prerequisito: Il Controllo Preliminare di Telemetria & Baseline deve essere superato.

Ragionamento: Questa sezione dettaglia l’esecuzione precisa della tecnica dell’avversario (TTP) progettata per attivare la regola di rilevamento. I comandi e la narrazione DEVONO riflettere direttamente i TTP identificati e mirare a generare l’esatta telemetria attesa dalla logica di rilevamento. Esempi astratti o non correlati porteranno a una diagnostica errata.

  • Narrazione dell’Attacco & Comandi:
    L’attaccante ha ottenuto una presenza su una workstation Windows e desidera eseguire un payload malevolo con diritti elevati mentre rimane invisibile all’utente. Essi:

    1. Creano un PowerShell one-liner che genera una shell CMD nascosta (/k) e immediatamente la eleva usando Start-Process -Verb RunAs.
    2. Esegue questo one-liner da una sessione PowerShell esistente, garantendo che l’albero dei processi contenga sia un’istanza nascosta di PowerShell and un’istanza CMD lanciata con /k.
    3. Il CMD elevato può quindi essere usato per scaricare ed eseguire il payload finale.
  • Script di Test di Regressione:

    # ---------------------------------------------------------
    # Script avversario simulato – PowerShell Nascosto + CMD RunAs
    # ---------------------------------------------------------
    $maliciousCmd = "cmd.exe /k echo L'attaccante ha elevato && ping -n 5 127.0.0.1"
    $psCommand   = "-ExecutionPolicy Bypass -WindowStyle Hidden -Command `"Start-Process -FilePath 'powershell.exe' -ArgumentList `"$maliciousCmd`" -Verb RunAs`""
    # Avvio PowerShell nascosto che esegue a sua volta il CMD elevato
    Start-Process -FilePath "powershell.exe" -ArgumentList $psCommand -WindowStyle Hidden
  • Comandi di Pulizia:

    # Terminare eventuali processi CMD elevati ancora attivi generati dal test
    Get-Process -Name "cmd" -ErrorAction SilentlyContinue | Where-Object {
        $_.StartInfo.Arguments -match "/k echo L'attaccante ha elevato"
    } | Stop-Process -Force
    
    # Opzionalmente rimuovere eventuali file temporanei se creati (nessuno in questo semplice esempio)