SOC Prime Bias: Critico

31 Mar 2026 17:31

Attacco alla Supply Chain su Axios: Scaricata Dipendenza Maligna da NPM

Author Photo
Ruslan Mikhalov Capo della Ricerca sulle Minacce presso SOC Prime linkedin icon Segui
Attacco alla Supply Chain su Axios: Scaricata Dipendenza Maligna da NPM
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Riassunto

Un pacchetto npm dannoso, plain-crypto-js@4.2.1, è stato pubblicato e successivamente inserito come dipendenza transitiva attraverso versioni compromesse del noto client JavaScript HTTP Axios. Il pacchetto utilizza uno script post-installazione per distribuire un trojan di accesso remoto multi-stadio che prende di mira Windows, macOS e Linux. L’attacco sembra aver fatto affidamento su token npm di lunga durata, consentendo agli attori della minaccia di diffondere versioni dannose al di fuori del normale flusso di rilascio del progetto. Rilevare in anticipo la dipendenza manomessa può fermare il RAT prima dell’esecuzione sui sistemi interessati.

Indagine

Socket Research ha effettuato un’analisi statica del setup.js dropper e ha deoffuscato stringhe codificate per esporre il dominio C2, la logica di consegna del payload e i percorsi del file system target. I ricercatori hanno identificato tre versioni compromesse di Axios e altri due pacchetti npm che contenevano lo stesso codice dannoso. Hanno inoltre estratto indicatori di rete, percorsi dei file e stringhe user-agent che possono essere utilizzate per l’ingegneria della rilevazione e la creazione di regole.

Mitigazione

Le organizzazioni dovrebbero revocare eventuali token npm di lunga durata e ruotare le credenziali per tutti gli account potenzialmente colpiti. Le versioni compromesse di Axios e qualsiasi pacchetto che dipende da plain-crypto-js@4.2.1 dovrebbero essere rimosse o declassate immediatamente. I team dovrebbero anche esaminare i file di blocco, le pipeline CI/CD e i controlli di sicurezza della catena di fornitura del software per identificare attività di pubblicazione non autorizzate e ridurre la possibilità di compromissioni future del pacchetto.

Risposta

I team di sicurezza dovrebbero monitorare i log di installazione npm per riferimenti a plain-crypto-js@4.2.1 e alle versioni di Axios colpite. Dovrebbero essere create regole di rilevazione per l’esecuzione del hook postinstall, l’accesso alla rete a sfrclak.com, e la stringa user-agent dannosa. Se la compromissione è confermata, i sistemi colpiti dovrebbero essere messi in quarantena, la memoria volatile raccolta per l’analisi, e l’host rimesso a posto se il RAT è trovato.

graph TB %% Class definitions classDef technique fill:#c2e0ff classDef tool fill:#ffd9b3 classDef malware fill:#f5b7b1 classDef process fill:#d5f5e3 %% Technique nodes tech_t1195_002[“<b>Tecnica</b> – <b>T1195.002</b> Compromissione della supply chain<br/><b>Descrizione</b>: Gli attaccanti compromettono aggiornamenti o distribuzioni software.”] class tech_t1195_002 technique tech_t1127_003[“<b>Tecnica</b> – <b>T1127.003</b> Esecuzione tramite strumenti fidati<br/><b>Descrizione</b>: Codice eseguito tramite script post-install.”] class tech_t1127_003 technique tech_t1059_004[“<b>Tecnica</b> – <b>T1059.004</b> Unix Shell”] class tech_t1059_004 technique tech_t1059_001[“<b>Tecnica</b> – <b>T1059.001</b> PowerShell”] class tech_t1059_001 technique tech_t1059_005[“<b>Tecnica</b> – <b>T1059.005</b> Visual Basic”] class tech_t1059_005 technique tech_t1059_003[“<b>Tecnica</b> – <b>T1059.003</b> CMD Windows”] class tech_t1059_003 technique tech_t1027_014[“<b>Tecnica</b> – <b>T1027.014</b> Offuscamento”] class tech_t1027_014 technique tech_t1070_004[“<b>Tecnica</b> – <b>T1070.004</b> Cancellazione tracce”] class tech_t1070_004 technique tech_t1195_001[“<b>Tecnica</b> – <b>T1195.001</b> Compromissione dipendenze”] class tech_t1195_001 technique tech_t1127[“<b>Tecnica</b> – <b>T1127</b> Hook npm”] class tech_t1127 technique tech_t1082[“<b>Tecnica</b> – <b>T1082</b> Raccolta informazioni sistema”] class tech_t1082 technique tech_t1219[“<b>Tecnica</b> – <b>T1219</b> Accesso remoto”] class tech_t1219 technique tech_t1102_002[“<b>Tecnica</b> – <b>T1102.002</b> Comunicazione web”] class tech_t1102_002 technique tech_t1570[“<b>Tecnica</b> – <b>T1570</b> Movimento laterale”] class tech_t1570 technique tech_t1036_005[“<b>Tecnica</b> – <b>T1036.005</b> Mascheramento”] class tech_t1036_005 technique tech_t1036_003[“<b>Tecnica</b> – <b>T1036.003</b> Rinominare utilità”] class tech_t1036_003 technique process_curl[“<b>Processo</b> – curl”] class process_curl process process_chmod[“<b>Processo</b> – chmod”] class process_chmod process process_nohup[“<b>Processo</b> – nohup”] class process_nohup process malware_rat[“<b>Malware</b> – macOS RAT”] class malware_rat malware %% Connections unchanged tech_t1195_002 –>|leads_to| tech_t1127_003 tech_t1127_003 –>|uses| tech_t1059_004 tech_t1059_004 –>|executes| tech_t1059_001 tech_t1059_004 –>|executes| tech_t1059_005 tech_t1059_004 –>|executes| tech_t1059_003 tech_t1059_004 –>|employs| tech_t1027_014 tech_t1059_004 –>|leverages| tech_t1195_001 tech_t1059_004 –>|leverages| tech_t1127 tech_t1059_004 –>|collects| tech_t1082 tech_t1027_014 –>|enables| tech_t1070_004 tech_t1082 –>|enables| tech_t1219 tech_t1219 –>|communicates via| tech_t1102_002 tech_t1102_002 –>|facilitates| tech_t1570 tech_t1570 –>|results in| tech_t1036_005 tech_t1570 –>|results in| tech_t1036_003 tech_t1059_004 –>|downloads| process_curl tech_t1059_004 –>|sets permissions| process_chmod tech_t1059_004 –>|runs background| process_nohup malware_rat –>|is the| tech_t1219

Flusso di Attacco

Rilevamenti

MacOS Sospetti – Posizioni e Nomi dei Plist (via file_event)

Team SOC Prime
31 Mar 2026

Processi Figlio Sospetti NodeJS [Windows] (via cmdline)

Team SOC Prime
31 Mar 2026

Caricamento / Download di File Remoti tramite Strumenti Standard (via cmdline)

Team SOC Prime
31 Mar 2026

Modifica dei Permessi dei File nella Cartella Tmp Sospetti su MacOS (via cmdline)

Team SOC Prime
31 Mar 2026

Uso Sospetto di CURL (via cmdline)

Team SOC Prime
31 Mar 2026

Possibile Esecuzione Tramite Uso di chmod e nohup in un Unico Comando (via cmdline)

Team SOC Prime
31 Mar 2026

Download in Cartelle Sospette (via cmdline)

Team SOC Prime
31 Mar 2026

LOLBAS WScript / CScript (via process_creation)

Team SOC Prime
31 Mar 2026

Possibilità di Esecuzione Tramite Linee di Comando PowerShell Nascoste (via cmdline)

Team SOC Prime
31 Mar 2026

Uso di Nohup (via cmdline)

Team SOC Prime
31 Mar 2026

IoC (SourceIP) da rilevare: Attacco alla Catena di Fornitura su Axios Estrae Dipendenza Dannosa da npm

Regole AI SOC Prime
31 Mar 2026

IoC (DestinationIP) da rilevare: Attacco alla Catena di Fornitura su Axios Estrae Dipendenza Dannosa da npm

Regole AI SOC Prime
31 Mar 2026

IoC (Email) da rilevare: Attacco alla Catena di Fornitura su Axios Estrae Dipendenza Dannosa da npm

Regole AI SOC Prime
31 Mar 2026

Tattiche di Evasione PowerShell e VBScript nell’Attacco alla Catena di Fornitura [Creazione Processo Windows]

Regole AI SOC Prime
31 Mar 2026

Rilevamento dell’Esecuzione del Hook Postinstall del Pacchetto npm Dannoso [Creazione Processo Linux]

Regole AI SOC Prime
31 Mar 2026

Rilevamento di Script Python Dannosi e File Temporanei in Attacco alla Catena di Fornitura Linux [Evento File Linux]

Regole AI SOC Prime
31 Mar 2026

Terminale Windows Ridenominato e VBScript Auto-eliminante Rilevato [Evento File Windows]

Regole AI SOC Prime
31 Mar 2026

Esecuzione di Script PowerShell con Flag Nascosti e Bypass [Powershell di Windows]

Regole AI SOC Prime
31 Mar 2026

Esecuzione della Simulazione

Prerequisito: Il Controllo di Idoneità di Telemetria e Baseline Deve Aver Ottenuto Risultati Positivi.

Motivo: Questa sezione dettaglia l’esecuzione precisa della tecnica avversaria (TTP) progettata per innescare la regola di rilevamento. I comandi e la narrativa DEVONO riflettere direttamente le TTP identificate e mirare a generare esattamente la telemetria prevista dalla logica di rilevamento.

  • Narrativa dell’Attacco & Comandi:

    Un attaccante che ha ottenuto privilegi utente limitati su una workstation compromessa desidera scaricare un payload dannoso VBScript tramite un pacchetto npm legittimo (scenario di catena di fornitura). Per evitare il rilevamento generale di PowerShell, l’attaccante copia powershell.exe in un nuovo file chiamato powershell_renamed.exe ma mantiene la sottostringa “powershell” nel nome del file (quindi il controllo Image|contains corrisponde ancora). L’attaccante quindi esegue una ricerca “where powershell” per enumerare il percorso del binario rinominato e infine avvia il payload VBScript con cscript //nologo per sopprimere il banner del logo.

  • Script di Test di Regressione:

    # -------------------------------------------------
    # Passo 1: Crea una copia rinominata di powershell.exe
    # -------------------------------------------------
    $src = "$env:SystemRootSystem32WindowsPowerShellv1.0powershell.exe"
    $dst = "$env:Temppowershell_renamed.exe"
    Copy-Item -Path $src -Destination $dst -Force
    
    # -------------------------------------------------
    # Passo 2: Usa 'where' per fare riferimento al binario rinominato
    # -------------------------------------------------
    $whereOutput = & where.exe powershell_renamed
    Write-Host "Located renamed PowerShell at: $whereOutput"
    
    # -------------------------------------------------
    # Passo 3: Crea un semplice payload VBScript dannoso
    # -------------------------------------------------
    $vbsPath = "$env:Tempmalicious.vbs"
    @"
    Set objShell = CreateObject("WScript.Shell")
    objShell.Run "cmd.exe /c echo pwned > $env:Temppwned.txt", 0, False
    "@ | Set-Content -Path $vbsPath -Encoding ASCII
    
    # -------------------------------------------------
    # Passo 4: Esegui silenziosamente il VBScript usando cscript //nologo
    # -------------------------------------------------
    & $dst -Command "cscript //nologo `"$vbsPath`""
    # -------------------------------------------------
    # Fine della simulazione
    # -------------------------------------------------
  • Comandi di Pulizia:

    # Rimuovi il binario PowerShell rinominato
    Remove-Item -Path "$env:Temppowershell_renamed.exe" -Force -ErrorAction SilentlyContinue
    
    # Elimina il file VBScript dannoso
    Remove-Item -Path "$env:Tempmalicious.vbs" -Force -ErrorAction SilentlyContinue
    
    # Rimuovi le prove dell'esecuzione
    Remove-Item -Path "$env:Temppwned.txt" -Force -ErrorAction SilentlyContinue