Red Hot Cyber
La cybersecurity è condivisione. Riconosci il rischio, combattilo, condividi le tue esperienze ed incentiva gli altri a fare meglio di te.
Cerca

Industroyer2: analisi del nuovo malware ICS che interrompe i servizi critici

Emanuele De Lucia : 20 Aprile 2022 08:23

Autore: Emanuele De Lucia
Data Pubblicazione: 18/04/2022

Pochi giorni fa, una nuova variante di un malware del ceppo Industroyer è stata impiegata durante un attacco informatico condotto contro i sistemi di controllo industriale (ICS) responsabili della gestione dei sottosistemi delle centrali elettriche in Ucraina .

Questa nuova versione è stata denominata Industroyer2 e rappresenta l’evoluzione di una famiglia di malware già osservata a dicembre 2016 che lavora contro obiettivi simili. 

Iscriviti GRATIS ai WorkShop Hands-On della RHC Conference 2025 (Giovedì 8 maggio 2025)

Il giorno giovedì 8 maggio 2025 presso il teatro Italia di Roma (a due passi dalla stazione termini e dalla metro B di Piazza Bologna), si terranno i workshop "hands-on", creati per far avvicinare i ragazzi alla sicurezza informatica e alla tecnologia. Questo anno i workshop saranno:

  • Creare Un Sistema Ai Di Visual Object Tracking (Hands on)
  • Social Engineering 2.0: Alla Scoperta Delle Minacce DeepFake
  • Doxing Con Langflow: Stiamo Costruendo La Fine Della Privacy?
  • Come Hackerare Un Sito WordPress (Hands on)
  • Il Cyberbullismo Tra Virtuale E Reale
  • Come Entrare Nel Dark Web In Sicurezza (Hands on)

  • Potete iscrivervi gratuitamente all'evento, che è stato creato per poter ispirare i ragazzi verso la sicurezza informatica e la tecnologia.
    Per ulteriori informazioni, scrivi a [email protected] oppure su Whatsapp al 379 163 8765


    Supporta RHC attraverso:


    Ti piacciono gli articoli di Red Hot Cyber? Non aspettare oltre, iscriviti alla newsletter settimanale per non perdere nessun articolo.

    Questo tipo di attacco è stato segnalato dopo una lunga serie di altri attacchi contro organizzazioni ed entità ucraine che generalmente prevedevano l’uso di wiperbackdoor e attacchi DDoS .

    INDUSTROYER2: Gli approfondimenti

    Ho dato un’occhiata al file identificato con le seguenti caratteristiche:

    TipoValore
    MD57c05da2e4612fca213430b6c93e76b06
    SHA1fdeb96bc3d4ab32ef826e7e53f4fe1c72e580379
    SHA256d69665f56ddef7ad4e71971f06432e59f1510a7194386e5f0e8926aea7b88e00

    Si tratta di un Portable Executable (PE) x86 a 37,00 Kb di dimensioni 32-bit compilato mercoledì 23 marzo 2022 10:07:29 come prova riportata di seguito

    Fondamentalmente, il malware è progettato per leggere alcune voci di configurazione incorporate al fine di creare messaggi ASDU IEC-104 che gli consentono di interagire con le unità target remote (raggiungibili come indirizzi IP interni) tramite protocollo TCP.

    Per ASDU, si intende un’Application Service Data Unit, ovvero un blocco di dati che viene inviato dalla stazione di controllo a una stazione esterna o altro dispositivo, o viceversa, utilizzando il protocollo IEC 60870-5.

    Dando un’occhiata al flusso di esecuzione, possiamo vedere che questo malware gestisce due parametri opzionali dalla riga di comando che sono -t e -o come prova dell’estrazione del codice di seguito

    • -o permette di scrivere un file di debug sul filesystem (di default è stampato sulla console);
    • -t permette di ritardare l’esecuzione facendo riferimento al SystemTime corrente.

    Dopo aver analizzato i parametri forniti tramite la CLI, il malware inizia a recuperare le informazioni dalle voci di configurazione incorporate

    Queste voci vengono visualizzate come nell’immagine seguente

    Ogni voce di configurazione inizia con un indirizzo IP interno (nell’immagine sopra oscurato negli ultimi due ottetti) e una porta, seguito da quattro numeri (potrebbero essere una sorta di flag operativi) un nome di processo e un percorso (in questo caso D: \OIK\DevCounter ).

    L’ultimo pezzo è costituito dalle informazioni utilizzate per costruire il messaggio destinato ad essere inviato alle ASDU. Per ciascuna delle voci trovate, il malware va a terminare il processo PServiceControl.exe.

    Il nome del processo è codificato all’interno dell’eseguibile.

    A questo punto va ad enumerare nuovamente i processi per trovare il nome del processo corrispondente a quello specificato nella voce di configurazione (PService_PPD.exe).

    Dopo aver recuperato il percorso D:\OIK\DevCounter e il nome del file PService_PPD.exe , rinominerà il file presente in questo percorso aggiungendo l’ estensione .MZ.

    Molto probabilmente questo viene fatto per evitare che qualsiasi attività progettata per il processo “sempre attivo” venga riavviata. Per ogni configurazione embedded viene quindi creato un thread per implementare il protocollo di comunicazione IEC-104.

    IEC-104 estende l’IEC-101 in modo che possa essere trasmesso su una rete TCP/IP . Quindi in ciascuno di questi thread il malware tenterà di comunicare con l’indirizzo IP specificato utilizzando il protocollo descritto nello standard IEC-104 dopo aver ripetuto le voci ASDU nel blocco di configurazione.

    In IEC-104 ogni oggetto nell’ASDU ha un indirizzo con delle informazioni. Fondamentalmente, lo scopo principale di questa azione è connettersi all’indirizzo IP specificato e inviare messaggi ASDU predisposti con conseguente stato dell’Information Object Address impostato su ON o OFF .

    INDUSTROYER vs INDUSTROYER2

    Facendo un’analisi comparativa con INDUSTROYER (il suo modulo IEC-104) e INDUSTROYER2 è possibile notare molte somiglianze soprattutto nella logica di funzionamento nonostante gli ultimi campioni presentino sicuramente differenze sostanziali rispetto a quelli del 2016.

    Tra le somiglianze tecniche a livello di codice è possibile osservare sovrapposizioni nelle funzioni dedicate alla gestione, composizione e controllo dei messaggi ASDU .

    Il nuovo eseguibile in alcuni casi unisce alcune stringhe rispetto al campione precedente ottimizzando in alcuni casi il processo di esecuzione globale ma in generale le stringhe che fanno riferimento ai messaggi di debug sono le stesse permettendo alle vecchie regole YARA di corrispondere anche al nuovo campione.

    Secondo la prima prima attribuzione, condivisa dai ricercatori ESET e alla luce delle ulteriori evidenze tecniche estratte in questo articolo, la minaccia in questione è da collegare con il threat attore noto come Sandworm (aka BlackEnergy) associato alla Federazione Russa.

    Conclusioni

    Posso sicuramente dire che la famiglia di malware Industroyer è un sofisticato malware utilizzato contro i sistemi di controllo industriale (ICS). I risultati qui riportati sono in linea con le precedenti operazioni già attribuite dalla comunità della sicurezza ai gruppi APT russi e, per quanto ne so, questo è il primo malware compatibile con ICS utilizzato dall’inizio del conflitto tra Russia e Ucraina dopo un lungo serie di attacchi che hanno visto l’uso di wiperbackdoor, in diversi impianti nella fase iniziale e intermedia e attacchi DDoS .

    L’uso di questo tipo di malware dovrebbe allertare sul potenziale dei gruppi APT collegati alla Federazione Russa, i quali stanno concentrando i loro sforzi contro i sistemi di controllo industriale (ICS) e la loro volontà di utilizzare questo tipo di “armi digitali” per causare l’interruzione dei servizi critici.

    È importante considerare che gli aggressori potrebbero adattare questo malware ad altri target simili e che qualsiasi intrusione contro target di questo tipo è da considerarsi estremamente pericolosa e complessa da mitigare in relazione alla presenza di protocolli nati decenni fa che non hanno contemplato il fattore sicurezza.

    RILEVAMENTO

    YARA
    rule Sandworm_Industroyer2_76222_00001 : RUSSIAN THREAT GROUP {
    meta:
    author = “Emanuele De Lucia”
    description = “Strings-based threat detection rule for INDUSTROYER2”
    tlp = “white”
    date = “2022-04-15”
    hash1 = “d69665f56ddef7ad4e71971f06432e59f1510a7194386e5f0e8926aea7b88e00”
    strings:
    $ = “PServiceControl.exe”
    $ = “Sent=x%X | Received=x%X”
    $ = “Cause: %s (x%X) | Telegram type: %s (x%X)”
    $ = “Length:%u bytes | “
    $ = “Unknown APDU format !!!”
    $ = “%02hu:%02hu:%02hu:%04hu”
    condition: (uint16(0) == 0x5a4d and all of them)
    }

    Emanuele De Lucia
    Laureato in Informatica (con master in Computer Security e un master alla Stanford University), ha lavorato come analista nel Security Operation Center (Se.OC o SOC) in una TELCO italiana e nel settore spaziale. Dirige un team internazionale di ricercatori focalizzato sulla Threat Intelligence, sul reverse engineering e la risposta agli incidenti.

    Articoli in evidenza

    Cucù, Lo 0day di Graphite non c’è più! Whatsapp risolve il bug usato per colpire gli italiani

    Ne avevamo discusso di recente, analizzando il caso Paragon in Italia, che ha portato alla sorveglianza di diversi cittadini italiani. Uno scandalo che, come spesso accade, ha sollevato polemiche per ...

    Il Dossier Segreto su BlackBasta : Cosa imparare dei retroscena inediti di una Ransomware Gang

    Nel libro “l’arte della Guerra” Sun Tzu scrisse “Se conosci il nemico e te stesso, la tua vittoria è sicura“. Conoscere il nemico è un aspetto fondamentale...

    Kali Linux 2025.1a è fuori: nuovo tema, kernel aggiornato e strumenti avanzati come sempre!

    E’ stata rilasciata la tanto attesa versione 2025.1a di Kali Linux, nonché la prima versione del 2025. Come spesso accade, nella prima versione dell’anno, il team di Kali ha rilasci...

    Falla critica in Esplora file di Windows ruba le password senza interazione dell’utente

    Si tratta di un grave bug risolto da Microsoft nel patch tuesday di Marzo che ha visto pubblicato un exploit proof-of-concept (PoC) che dimostra come questa falla di sicurezza può essere sfruttat...

    Italia col Botto! Esposti 35 database italiani nell’underground. tra questi anche Giustizia.it

    Un recente post apparso sul noto forum underground BreachForums ha rivelato la pubblicazione di un pacchetto contenente 35 database italiani, esponendo informazioni sensibili di utenti e aziende. L&#x...