il ransomware nelle aziende - eset security days 2016

37
Ransomware Funzioni avanzate e Tecniche di evasione Gianni Amato CERT-PA

Upload: gianni-amato

Post on 22-Jan-2018

3.706 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Il Ransomware nelle Aziende - Eset Security Days 2016

RansomwareFunzioni avanzate e Tecniche di evasione

Gianni AmatoCERT-PA

Page 2: Il Ransomware nelle Aziende - Eset Security Days 2016

Malware Writers VS Malware Analysts

Page 3: Il Ransomware nelle Aziende - Eset Security Days 2016

MBRLock

● Master Boot Record compromesso;● Sostituzione MBR originale con MBR

proprietario;● I dati sul disco sono integri ma il sistema

non è accessibile;● Per ottenere la password era necessario

chiamare un numero a pagamento.

http://www.gianniamato.it/2012/03/mbr-lock.html

Page 4: Il Ransomware nelle Aziende - Eset Security Days 2016

MBRLock Remediation

● È sufficiente ripristinare l’MBR per accedere al sistema;

● Analisi successive hanno dimostrato che il codice accetta qualsiasi password composta da 14 cifre.

{Sono le prime versioni di MBRLock, veicolate nell’anno 2011, perfezionate nei mesi e negli anni a seguire. Oggi Petya.}

http://www.gianniamato.it/2012/03/mbr-lock.html

Page 5: Il Ransomware nelle Aziende - Eset Security Days 2016

{Code}Il problema non risiede nella complessità del codice ma nei tempi di risposta

dell’ IT Security.

Page 6: Il Ransomware nelle Aziende - Eset Security Days 2016

Tecniche di evasione

● Differenti vettori di infezione (exploit kit)

● Offuscamento del codice (codifica: da non confondere

con la cifratura)

● Riconoscimento dell’ambiente (fisico, virtuale,

sandbox)

● Rilevamento dei tool di analisi in esecuzione sul sistema (strumenti di debug e

monitoraggio del traffico)

Page 7: Il Ransomware nelle Aziende - Eset Security Days 2016

Il tempo è denaro

Ingannare gli analisti inesperti

Mettere in difficoltà gli analisti più esperti

Guadagnare tempo (giorni, settimane quando va bene, prima che

abbia inizio il periodo di decadenza)

Page 8: Il Ransomware nelle Aziende - Eset Security Days 2016

Exploit KitBlackhole, Neutrino, Nuclear,

Angler

Page 9: Il Ransomware nelle Aziende - Eset Security Days 2016

Exploit kit

Kit di strumenti preconfezionati che truffatori possono acquistare o noleggiare al mercato nero con lo scopo di distribuire malware attraverso pagine web compromesse.

Il kit analizza le informazioni della vittima che visita la pagina web attraverso le informazioni fornite dal browser e cerca di individuare, e successivamente sfruttare, le vulnerabilità note al fine di installare il malware sul sistema senza alcuna interazione da parte dell’utente.

Page 10: Il Ransomware nelle Aziende - Eset Security Days 2016

CryptXXX Ransomware. Maisto code: http://pastebin.com/raw/fXLEPiAj

Page 11: Il Ransomware nelle Aziende - Eset Security Days 2016

SX: [Black Hole Exploit Kit] | DX: [Exploit Kit Collecion] offerte individuate in due black market differenti

il 01/05/2016 alle ore 23:30

Exploit kit (business) al black market

Page 12: Il Ransomware nelle Aziende - Eset Security Days 2016

Private Exploit Kit

Exploits:cve-2015-5122cve-2015-5119cve-2015-3043cve-2015-2419cve-2015-2445cve-2015-0311cve-2014-6332 modded for silent runningand 2 privatelanding page automaically random encryption aes

Adobe Flash Zero-Day in HackingTeam Leak (luglio 2015)

Internet Explorer 10 and 11 allows remote attackers to execute arbitrary code | IE 10 ASLR Bypass

Page 13: Il Ransomware nelle Aziende - Eset Security Days 2016

Dietro Locky il team di Dridex? Similitudini.

Stesse tecniche di infezione:

● Prima tramite Macro applicata ai file MS Office.

● Dopo tramite Nuclear Explit Kit.● C&C offuscati in una sezione (fake)

denominata “.reloc”.● User-agent hard coded.● Registry key random.

Stesso metodo di distribuzione:

● Prima mail con allegati MS Office.● Dopo tramite file JavaScript

(opportunamente offuscato) allegato alla mail.

Page 14: Il Ransomware nelle Aziende - Eset Security Days 2016

JS Ransomware Locky

Page 15: Il Ransomware nelle Aziende - Eset Security Days 2016

JS Ransomware Locky [Decoder script]

● Unicode escape sequences● Nested variables● Fragmented url

import re

filename = 'SCAN000189077.js'

with open(filename, 'r') as file:

data = file.read().split('\n')

for str in data:

uMatch = re.findall('\\\u[0-9]{3}[0-9a-fA-F]{1}', str)

for u in uMatch:

str = str.replace(u, u.decode('unicode-escape'))

print (str)

JS Locky - python decoder: https://gist.github.com/guelfoweb/1b7c4ecc3a2a7d8947ad

Page 16: Il Ransomware nelle Aziende - Eset Security Days 2016

JS Ransomware Downloader

JS Ransomware Encoded: http://pastebin.com/nCWdQxGY JS Ransomware Decoded: http://pastebin.com/xAKRt4HB

Page 17: Il Ransomware nelle Aziende - Eset Security Days 2016

JS Ransomware [Decoder script]

JS Ransomware - python decoder: https://gist.github.com/guelfoweb/2ee5ac10c42132674bd6

Page 18: Il Ransomware nelle Aziende - Eset Security Days 2016

Tecniche note, codice nuovo

Online sandbox bypass - PoC di laboratorio

Page 19: Il Ransomware nelle Aziende - Eset Security Days 2016

Pseudo Random Domains

Tecnica conosciuta dal 2009.JS Pseudo Random Code (encoded): http://pastebin.com/b5km5Hay

Page 20: Il Ransomware nelle Aziende - Eset Security Days 2016

● I domini da contattare per il download del malware cambiano dinamicamente ogni 12 ore;

● Eventuale analisi tramite sandbox online o strumenti in grado di interpretare il codice metterebbero in evidenza un solo nome dominio generato (pseudo-randomicamente) in base alla data e l’ora in cui il codice è stato sottoposto ad analisi.

Solo una analisi manuale e appronfondita del codice potrà fornire le informazioni complete.

URL Programmate

Page 21: Il Ransomware nelle Aziende - Eset Security Days 2016

Malwr bypass (PoC)

Malwr report: https://malwr.com/analysis/MjkzODE4MGVmOTE1NDQ4Zjg1MmIzODYwN2M4ODdjOWE/

Page 22: Il Ransomware nelle Aziende - Eset Security Days 2016

Reverse (PoC) Analisi incompleta

● Lo stesso sample sottoposto a una sandbox non nota al malware produrrà invece un report incompleto qualora la risorsa all’indirizzo principale [riga 5] risulti raggiungibile;

● Il dominio alternativo [riga 9] non verrà esposto finchè la risorsa principale non verrà dismessa.

Reverse report: https://www.reverse.it/sample/7a36c3b22eb858d83b199c0ec60e4d816022965b69a07103a222c12d59f93425?environmentId=1

Page 23: Il Ransomware nelle Aziende - Eset Security Days 2016

TeslaCrypt 4.1A

● Detect and stop AV scan

Kill Process:

● Task Manager● Registry Editor● Command Shell● Process Explorer

Diversamente da quanto indicato nelle informazioni per il riscatto, la nuova variante utilizza una componente di cifratura AES-256.

Page 24: Il Ransomware nelle Aziende - Eset Security Days 2016

≈18%percentuale di campioni ransomware (dropper) analizzati nel laboratorio CERT-

PA utilizzano tecniche di Anti Debug (ollydbg, ida, process, etc.)

Page 25: Il Ransomware nelle Aziende - Eset Security Days 2016

≈6%percentuale di campioni ransomware (dropper) analizzati nel laboratorio CERT-

PA utilizzano tecniche di Anti Virtual Machine (sandbox)

Page 26: Il Ransomware nelle Aziende - Eset Security Days 2016

Petyain origine MBRLock

Page 27: Il Ransomware nelle Aziende - Eset Security Days 2016

Petya analysis [STEP 1] - BSOD

Alla prima esecuzione il dropper provvede a sostituire il Master Boot Record (MBR) con uno proprietario e conserva alcuni dati e le istruzioni che verranno successivamente eseguite nella FASE 2 in appositi settori del disco compromesso.

Completata l’operazione manda in crash il sistema provocando un “errore grave”.

Page 28: Il Ransomware nelle Aziende - Eset Security Days 2016

Petya analysis [STEP 1] - Dati integri

In questa prima fase è ancora possibile recuperare i dati presenti nel disco accedendo al device come unità esterna al sistema, tramite appositi strumenti per l’analisi forense, o semplicemente ripristinando l’MBR.

Page 29: Il Ransomware nelle Aziende - Eset Security Days 2016

Petya analysis [STEP 1] - MBR Infected

● L’MBR infetto di Petya è lo stesso su tutti i sistemi, cambiano solo gli ultimi byte in cui il malware scrive i riferimenti alle istruzioni.

● La manipolazione dell’MBR richiede privilegi di amministratore, ragione per cui il malware non sarà in grado di compromettere un sistema con privilegi utente limitati.

● La componente fissa va da 0x0000 a 0x0093, occupando esattamente 147 byte.

Page 30: Il Ransomware nelle Aziende - Eset Security Days 2016

Petya analysis [STEP 1] - Core (strings)

I settori successivi, dal 0x0022 al 0x0035, risultano occupati dal codice malevolo di Petya da cui è possibile leggere visivamente le stringhe che appariranno come messaggio per l’utente nella FASE 2.

Page 31: Il Ransomware nelle Aziende - Eset Security Days 2016

Petya analysis [STEP 1] - Boot loader

● Il settore 0x0036 conserva le informazioni più preziose, quelle che il boot loader utilizzerà nella FASE 2.

● Il primo byte è utilizzato per siglare lo stato del disco; il valore 0 indica che Petya si trova ancora nella prima fase, mentre diventerà 1 quando la FASE 2 sarà stata ultimata.

● Nei successivi 32 byte viene memorizzata la chiave per la cifratura dell’MFT. A seguire altri 8 byte individuano il vettore da utilizzare per la cifratura e in base al quale verranno effettuate le permutazioni;

● Successivamente è possibile individuare le url onion e una stringa alfanumerica di 90 byte che rappresenta un codice identificativo dell’host compromesso.

Page 32: Il Ransomware nelle Aziende - Eset Security Days 2016

Petya analysis [STEP 1] - Original MBR

● Il settore 0x0038 contiene una copia dell’MBR originale codificato con XOR 0x37.

● Il motivo per cui Petya effettua una copia dell’MBR originale è legato al fatto che il dropper contiene già un MBR, quello infetto, portarsi dietro anche un MBR pulito incrementerebbe inutilmente le dimensioni del file.

Page 33: Il Ransomware nelle Aziende - Eset Security Days 2016

Petya analysis [STEP 2] - Fake Chkdsk

Al primo riavvio della macchina compromessa verranno eseguite le istruzioni contenute nell’MBR infetto. Carica in memoria le informazioni memorizzate nel settore 0x0022 del disco in cui è presente il core di Petya. Quest’ultimo verifica lo stato del disco leggendo il primo byte del settore 0x0036, se risulta settato a 0 simula un check disk di pochissimi secondi, tempo necessario per compiere una serie di operazioni.

Page 34: Il Ransomware nelle Aziende - Eset Security Days 2016

Petya analysis [STEP 2] - Operazioni

● Copia della chiave di 32 byte dal settore 0x0036;

● Cifratura dell’MFT usando una variante dell’algoritmo salsa20;

● Scrittura dell’MFT cifrato nei settori compresi tra 0x0001 e 0x0021;

● Sostituzione con zeri del valore della key nel settore 0x0036;

● Sostituzione del valore del primo byte da 0 a 1 nella sezione 0x0036 in modo da non ripetere la stessa operazione ai successivi reboot.

● Essendo stati azzerati i 32 byte della sezione 0x0036, Petya utilizzerà la chiave caricata in memoria e il vettore di 8 byte (che resterà leggibile nel settore 0x0036) per eseguire le permutazioni e quindi cifrare e riscrivere interamente il settore 0x0037.

● Questo settore sarà utilizzato successivamente per verificare che la chiave inserita dall’utente per liberare il disco sia quella corretta.

Page 35: Il Ransomware nelle Aziende - Eset Security Days 2016

Petya analysis [STEP 2] - Cifratura MFT

Completate le operazioni precedenti, Petya mostrerà una schermata rossa con un teschio che resterà visibile finp alla pressione di un tasto qualunque. Successivamente verranno mostrate le condizioni per ottenere il riscatto. Esattamente le stesse memorizzate nello STEP 1 (settore 0x0036).

CERT-PA-B011-160407 - https://www.cert-pa.it/

Page 36: Il Ransomware nelle Aziende - Eset Security Days 2016

{Code}Il problema non risiede nella complessità del codice ma nei tempi di risposta

dell’ IT Security.

Page 37: Il Ransomware nelle Aziende - Eset Security Days 2016

Domande

? Grazie per l’attenzione!

● Author: Gianni Amato● Web: www.gianniamato.it● Twitter: @guelfoweb