il ransomware nelle aziende - eset security days 2016

Post on 22-Jan-2018

3.706 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

RansomwareFunzioni avanzate e Tecniche di evasione

Gianni AmatoCERT-PA

Malware Writers VS Malware Analysts

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

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

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

dell’ IT Security.

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)

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)

Exploit KitBlackhole, Neutrino, Nuclear,

Angler

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.

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

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

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

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.

JS Ransomware Locky

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

JS Ransomware Downloader

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

JS Ransomware [Decoder script]

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

Tecniche note, codice nuovo

Online sandbox bypass - PoC di laboratorio

Pseudo Random Domains

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

● 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

Malwr bypass (PoC)

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

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

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.

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

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

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

PA utilizzano tecniche di Anti Virtual Machine (sandbox)

Petyain origine MBRLock

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”.

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.

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.

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.

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.

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.

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.

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.

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/

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

dell’ IT Security.

Domande

? Grazie per l’attenzione!

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

top related