Sei sulla pagina 1di 7

Fondamenti di sicurezza e privacy 21/22 - JEREGHI MARIN VR450781

Analisi di un attacco Supply Chain - Attacco informatico a Kaseya

Il 2 luglio 2021, un gruppo di attaccanti informatici affiliati a REvil - gruppo conosciuto per
malware di tipo ransomware - hanno lanciato un largo attacco ransomware a Kaseya. Questi
hanno sfruttato i servizi remoti di Kaseya VSA per diffondere il malware tramite un
aggiornamento hotfix a tutti i clienti.
Le due tecniche principali utilizzate sono state Supply Chain e Ransomware.

Cyber Kill Chain


Possiamo definire Cyber kill Chain come un modello di analisi di possibili attacchi
informatici. Questo è composto da 7 fasi che di seguito vengono elencate. Il modello
permette di identificare per ogni fase quali tecniche sono state utilizzate dagli attaccanti.
Inoltre, risulta utile per aziende che vogliono proteggersi implementare tecniche
anti-malware mirate.

1. Reconnaissance
2. Weaponization
3. Delivery
4. Exploitation
5. Installation
6. Command & Control
7. Actions on Objectives

Per com’è pensato questo modello vedremo che non si entrerà tanto nei dettagli
come accade invece facendo l’analisi usando MITRE ATT&CK.

Reconnaissance
In questa prima fase viene stabilito qual è l’obiettivo dell’attacco e si cerca di
raccogliere più informazioni possibili sulla prossima vittima.
Nell’attacco a Kaseya l’obiettivo è stato di eseguire un supply chain attack usando un
ransomware. L’obiettivo principale è stato di cifrare tutti i dati dei clienti, ma per riuscire a
farlo hanno attaccato prima i server VSA di Kaseya (Virtual Systems Administrator) -
software di gestione per infrastrutture IT e poi a moltissimi MSP (Managed Service
Providers).

Le vulnerabilità identificate sono le seguenti:


- Unauthenticated credentials leak via client download page;
- SQL injection in Kaseya VSA Unified Remote Monitoring & Management (RMM);
- Unauthenticated Arbitrary File Upload with Web server rights;
- Authenticated reflective XSS;
- Bypass 2FA;
- Semi-authenticated local file inclusion;
- Unauthenticated XML Entity Attack (XXE);

1
Weaponization
In questa seconda fase dell'attacco si va a progettare il codice malevolo che sfrutta le
vulnerabilità trovate nella prima fase.

Per rendere più impegnativa l’analisi del malware, il codice ransomware è stato
incapsulato all’interno di un certificato legittimo. Questo ha un codice di autenticazione ed è
stato firmato da PB03 TRANSPORT LTD.

Inoltre, per non lasciare traccia sulla macchina della vittima il ransomware ha
eliminato file intermedi che hanno permesso di ottenere il codice da eseguire.

Per prevenire da un eventuale analisi al ransomware è stato appeso un padding al


programma di decodifica del certificato. Questo fa sì che venga modificato il hash ma il
comportamento resta lo stesso.

Per sincronizzare l’attacco su tutte le macchine, il malware attende un numero di


secondi, eseguendo semplicemente il comando ping che fa da echo sulla propria macchina.
Questo avviene per far attendere l’esecuzione delle prossime istruzioni da linea di comando,
su tutti i client allo stesso istante.

Delivery
In questa fase avviene la distribuzione del malware sulle macchine delle vittime – i
clienti del fornitore. Sfruttando le vulnerabilità trovate gli attaccanti sono riusciti a bypassare
il sistema di autenticazione e quindi ad ottenere una chiave di sessione. Sfruttando questa
chiave e tramite SQL injection hanno fatto scaricare sulle macchine server un file
agent.crt. Di seguito, sfruttando un aggiornamento che inizialmente sembrava attendibile,
di nome Kaseya VSA Agent Hot-fix, sono riusciti a diffondere il ransomware alle
macchine dei clienti in una delle directory affidabili, escluse dal controllo antivirus.

Exploitation
Nella fase di exploitation viene installato il ransomware in modo che sia pronto
all’esecuzione, quindi alla codifica dei file.
La relazione di trust tra il fornitore di servizi ed il cliente ha permesso agli attaccanti
di individuare quali programmi e cartelle sono considerate affidabili e quindi escluse dal
controllo antivirus. Dunque qualsiasi eseguibile all’interno di queste risulta affidabile. Infatti,
la decodifica del certificato avviene in una directory affidabile.

Facciamo un passo indietro a vediamo com’è stato possibile eseguire il ransomware.


Il codice malevolo crea una coppia del Windows Certificate utility per decodificare il
certificato agent.crt. Questo inoltre aggiunge del padding random al decodificatore per
alterare il suo checksum. Inoltre li viene cambiato il nome e la directory di destinazione. Una
volta decodificato si ottiene un eseguibile autentico, firmato con un certificato PB03
TRANSPORT LTD. Inoltre, la data di compilazione di questo eseguibile è proprio il giorno
prima dell’attacco.
In seguito quest’ultimo lancia un processo di Microsoft Antimalware Service. La
versione del quale è vulnerabile a side-loading attacks. Infatti a questo viene passato il

2
codice ransomware tramite una DLL dello stesso nome che si aspetta, come se fosse quella
attendibile.
Una volta caricato tutto in memoria, il ransomware può rimuovere i file temporanei
utilizzati finora e cominciare il processo di cifratura.

Installation
In questa fase si cerca di mantenere persistenza ed eseguire il codice ransomware.
A seconda del malware costruito, l’operazione di cifratura dei dati può avvenire in modi
diversi. Per come è stato progettato, durante l’attacco, il ransomware verifica la presenza di
alcune estensioni di file. Inoltre verificava la lingua di default delle macchine, ed infine,
vengono scartate alcune directory dal processo di cifratura dati.
Inoltre, tramite il comando netsh modifica le impostazioni del firewall in modo tale da
poter cifrare anche le memorie di rete.

Command and Control


Fase nella quale si stabilisce un canale di comunicazione con la vittima. Durante
questo attacco non sono stati trasferiti molti dati sennonché le chiavi di cifratura del
ransomware.

Actions on Objectives
Ultima fase nella quale, nel caso dell’attacco a Kaseya, viene chiesto alla vittima un
riscatto per la decodifica dei dati, spiegando come procedere nei tempi prestabiliti. Inoltre, è
stato fornito un file di test con le istruzioni per provare a decodificare.

MITRE ATT&CK
Mitre offre una wikipedia di molte tecniche usate durante i più grandi attacchi informatici
mettendo a disposizione la tecnica usata, possibile obiettivo dell’attaccante, il sistema
operativo ed altre informazioni. In questo modo i fornitori di servizi possono fare un’analisi e
proteggere i loro sistemi.

1. Initial access
Fase nella quale si cerca di creare un piede sulla vittima. Una delle tecniche usate in
questa fase è la Supply Chain Compromise (T1195). In particolare, gli attaccanti hanno
sfruttato il processo di aggiornamento, quindi la tecnica è stata Compromise Software
Dependencies and Development Tools.

Un’altra tecnica utilizzata in questa fase è stata Valid Accounts (T1078). Gli
attaccanti sono riusciti ad ottenere username e password ed una chiave di sessione per
mettere piedi sui server di Kaseya. Questo è stato possibile grazie ad una vulnerabilità
zero-day e sql injection.

Inoltre, è stata utilizzata la tecnica Trusted Relationship (T1199). Gli attaccanti hanno
sfruttato la relazione di fiducia tra fornitore e clienti per distribuire un aggiornamento, in
particolare hanno scoperto che ci sono delle directory di lavoro escluse dal controllo

3
antivirus. Eventuale eseguibile all’interno di queste viene processato liberamente dal
sistema.

2. Execution

Una volta essere riusciti a portare il malware sulle macchine dei clienti, come
obiettivo principale degli attaccanti, questi hanno utilizzato la tecnica Command and
Scripting Interpreter (T1059). Nello specifico, considerando che i clienti hanno macchine
Windows, gli attaccanti hanno eseguito il codice malevolo utilizzando la sottotecnica di
PowerShell. Tramite la PowerShell hanno preparato l’eseguibile ransomware e disabilitato
diversi controlli di virus e monitoraggi di sistema prima di avviare l’esecuzione del codice
malware.
In particolare sono state disabilitate le seguenti funzionalità:
- real-time protection
- network protection against exploitation of known vulnerabilities
- scanning of all downloaded files and attachments
- scanning of scripts
- ransomware protection
- protection that prevents any application from gaining access to dangerous domains
that may host phishing scams, exploits, and other malicious content on the Internet
- sharing of potential threat information with Microsoft Active Protection Service
(MAPS)
- automatic sample submission to Microsoft

Tutte queste hanno permesso l’utilizzo malevolo di Microsoft Windows Defender.

3. Persistence

Fase nella quale si cerca di aumentare persistenza e mantenere il controllo sulla


vittima. Gli attaccanti hanno usato la tecnica Hijack Execution Flow (T1574) per evitare
eventuale controllo degli antivirus. Ad esempio, gli anti-ransomware potrebbero rilevare
molte chiamate di sistema ripetute. In particolare hanno utilizzato la sotto-tecnica DLL
Side-Loading. Infatti la versione installata di Windows Defender, sulle macchine delle vittime,
aveva questa vulnerabilità. In particolare ha permesso di sostituire una DLL legittima con
una malevola dello stesso nome. Il processo in esecuzione (legittimo) di Windows Defender
ha caricato in memoria quest’ultima e l’ha eseguita.

Inoltre, sempre per mantenere persistenza, il ransomware crea alcune chiavi nei
registri di sistema sotto la directory BlackLivesMatter dove vengono salvate alcune chiavi
come ad esempio le chiavi per cifrare i dati.

4. Privilege Escalation

In questa fase, dopo aver raggiunto persistenza, si cerca di guadagnare privilegi più
elevati. Una tecnica individuata in questo attacco è la Process Injection (T1055). In
particolare, come abbiamo visto, è stata iniettata una DLL malevola all’interno di un
processo legittimo di Microsoft Antimalware Service. La sotto-tecnica utilizzata dunque è

4
Dynamic-link Library Injection, con l’obiettivo di evadere alla difesa degli antivirus e
guadagnare privilegi di esecuzione.
Inoltre, gli attaccanti hanno utilizzato NetShell (netsh) da linea di comando per
disabilitare le impostazioni del firewall in modo che ogni macchina si possa vedere nella rete
locale ed il ransomware possa cifrare tutto, anche le memorie di massa collegate in rete.

5. Defense Evasion

Tecniche utilizzate per evadere dall’analisi degli antivirus, evitare quindi che gli
antivirus si accorgono che c’è un’infezione in corso. In genere i malware sono codificati
oppure cifrati in modo da rendere più difficile l’analisi del traffico. Nell’attacco a Kaseya il
ransomware è stato distribuito sotto forma di un certificato legittimo con codice identificativo
e firma digitale.
Una tecnica utilizzata è stata Masquerading (T1036) per creare la coppia di Windows
certificate utility con nome diverso e posizionato in directory diversa. In particolare è stata
utilizzata la sotto-tecnica Rename System Utility, perché il software per decodificare il
certificato (che contiene il codice ransomware) fa parte degli utility del sistema operativo
Windows.
Inoltre, è stata utilizzata la tecnica Obfuscated Files or Information (T1027). In
particolare è stata utilizzata la tecnica Binary Padding per appendere del padding al
Windows certificate utility per alterare il checksum. Procedendo in questo modo si cerca di
evadere da eventuale monitoraggio che potrebbe verificare l’utilizzo abusivo di questo
perché è stata modificata la codifica hash.

Un’altra tecnica è Deobfuscate/Decode Files or Information (T1140) per decodificare


il payload a base64 del certificato, contenente il codice ransomware.

Dopo aver decodificato il certificato, il malware rimuove sia il certificato iniziale che la
coppia dell’utility per decodificarlo. Questa tecnica è Indicator Removal on Host (T1070) in
particolare, la sotto-tecnica File Deletion, utilizzata per rimuovere tracce del malware.

6. Credential Access

Insieme di tecniche utilizzate per rubare le credenziali degli utenti in diversi modi:
brute force, sfruttare vulnerabilità in Password Manager oppure kill loger.
Durante l’attacco a Kaseya non sono state rilevate tecniche di questa categoria.

7. Discovery

In ottica di espandere il processo ransomware, quindi di codifica dei file, viene


utilizzata la tecnica Software Discovery (T1518), in particolare Security Software Discovery.
Infatti il malware disabilità di impostazioni del firewall affinché ogni macchina possa
comunicare con le altre nella rete locale, impostando la regola del firewall a gruppo “Network
Discovery”. Questo permette al ransomware di cifrare non solo i file locali ma anche tutte le
memorie di rete. Ma allo stesso tempo viene utilizzata la tecnica Network Share Discovery
(T1135).

8. Lateral Movement

5
Insieme di tecniche che permettono all’avversario di entrare e prendere il controllo remoto di
sistemi in rete. Una tecnica utilizzata all’inizio dell’attacco è stata Use Alternate
Authentication Material (T1550), in particolare gli attaccanti hanno utilizzato Web Session
Cookie per accedere ai server di Kaseya.

9. Collection

Non sono state identificate tecniche di raccolta informazioni dei clienti - vittime di questo
attacco ransomware.

10. Command and Control

Non sono state identifica tecniche di comunicazione verso l’esterno.

11. Exfiltration

L’obiettivo è di rubare i dati della vittima. Ma in questo attacco l’obiettivo è stato di cifrare tutti
i file. Le uniche informazioni trasmesse in remoto sono le chiavi generate per la cifratura.

12. Impact

L’obiettivo è di manipolare o distruggere i dati del cliente. Infatti in questo attacco


l’impatto finale è stato proprio rendere inaccessibili i file. La tecnica utilizzata è stata Data
Encrypted for Impact (T1486). Nello specifico, il ransomware è stato programmato tale che
non vada a cifrare i dati delle seguenti locazioni:
- "program files",
- "appdata",
- "mozilla",
- "$windows.~ws",
- "application data",
- "$windows.~bt",
- "google",
- "$recycle.bin",
- "windows.old",
- "programdata",
- "system volume information",
- "program files (x86)",
- "boot",
- "tor browser",
- "windows",
- "intel",
- "perflogs",
- "msocache"

Inoltre, non prevedeva di cifrare file con le seguenti estensioni: "ps1", "ldf", "lock", "theme",
"msi", "sys", "wpx", "cpl", "adv", "msc", "scr", "bat", "key", "ico", "dll", "hta",
"deskthemepack", "nomedia", "msu", "rtp", "msp", "idx", "ani", "386", "diagcfg", "bin",

6
"mod", "ics", "com", "hlp", "spl", "nls", "cab", "exe", "diagpkg", "icl", "ocx", "rom", "prf",
"themepack", "msstyles", "lnk", "icns", "mpa", "drv", "cur", "diagcab", "cmd", "shs".

Da questa lista si può notare che l’obiettivo era proprio quello di cifrare i documenti, disegni,
progetti, contratti, report ed altri legati alle compagnie, le estensioni dei quali non si trovano
in elenco.

Un’altra configurazione del ransomware indicava la lista delle macchine da evitare che come
lingua predefinita si trovava in questo elenco: Russian (Russia), Ukrainian (Ukraine),
Belarusian (Belarus), Tajik (Cyrillic, Tajikistan), Armenian (Armenia), Azerbaijani (Latin,
Azerbaijan), Georgian (Georgia), Kazakh (Kazakhstan), Kyrgyz (Kyrgyzstan), Turkmen
(Turkmenistan), Uzbek (Latin, Uzbekistan), Tatar (Russia), Romanian (Moldova), Russian
(Moldova), Azerbaijan (Cyrillic, Azerbaijan), Uzbek (Cyrillic, Uzbekistan), Syriac (Syria),
Arabic (Syria).

Referenze:

- Virus total -
d55f983c994caa160ec63a59f6b4250fe67fb3e8c43a388aec60a4a6978e9f1e

- Sophos article - Independence Day: REvil uses supply chain exploit to attack
hundreds of businesses

- Kaseya helpdesk - Anti-Virus and Firewall Exclusions and Trusted Apps

- SpiderLabs Blog - Diving Deeper Into the Kaseya VSA Attack: REvil Returns and
Other Hackers Are Riding Their Coattails

- Huntress - Rapid Response: Mass MSP Ransomware Incident

- Reddit - Critical Ransomware Incident in Progress

- Virsec - CTO Perspective: Examination of the REvil Ransomware Attack

- Ciso Platform - Analysis Of Kaseya Ransomware Attack

- DIVD CSIRT - KASEYA FULL DISCLOSURE

Potrebbero piacerti anche