• Home
  • Chi siamo
  • Il nostro sito web
Future Time Security blog
Menu
  • Home
  • Chi siamo
  • Il nostro sito web
Home  /  Malware  /  La strana storia di due Zero-Days

La strana storia di due Zero-Days

Due vulnerabilità zero-day si fondono in una sola. Un misterioso campione consente a criminali di eseguire codice in maniera arbitraria sui loro obiettivi sfruttando privilegi più elevati.

Alla fine di marzo 2018, i ricercatori di ESET hanno identificato un interessante campione di PDF dannoso. Uno sguardo più attento ha rivelato che il campione sfrutta due vulnerabilità precedentemente sconosciute: una legata all’esecuzione di codice in modalità remota in Adobe Reader e l’altra per consentire l’escalation dei privilegi in Microsoft Windows.

L’uso di queste due vulnerabilità combinate insieme è estremamente potente, in quanto consente a un utente malintenzionato di eseguire codice in maniera arbitraria con i massimi privilegi possibili sull’obiettivo vulnerabile e con la minima interazione dell’utente. I gruppi APT usano regolarmente tali combinazioni per eseguire i loro attacchi, come nella campagna Sednit dello scorso anno.

Una volta che il campione PDF è stato scoperto, ESET ha contattato e collaborato durante la correzione di questi bug con il Microsoft Security Response Center, il team di ricerca ATP di Windows Defender e il team di risposta agli incidenti di Adobe Product Security.

Sarà possibile scaricare le patch e i consigli di Adobe e Microsoft dai seguenti link:

APSB18-09

CVE-2018-8120

Le versioni del prodotto interessate sono le seguenti:

Acrobat DC (2018.011.20038 e versioni precedenti)

Acrobat Reader DC (2018.011.20038 e versioni precedenti)

Acrobat 2017 (011.30079 e versioni precedenti)

Acrobat Reader DC 2017 (2017.011.30079 e versioni precedenti)

Acrobat DC (Classic 2015) (2015.006.30417 e versioni precedenti)

Acrobat Reader DC (Classic 2015) (2015.006.30417 e versioni precedenti)

Windows 7 per Systems Service Pack 1 a 32 bit

Windows 7 per Systems Pack 1 basato su x64

Windows Server 2008 per sistemi a 32 bit Service Pack 2

Windows Server 2008 per sistemi basati su Itanium Service Pack 2

Windows Server 2008 per sistemi basati su x64 Service Pack 2

Windows Server 2008 R2 per i sistemi basati su Itanium Service Pack 1

Windows Server 2008 R2 per Systems Pack 1 basato su x64

Questo blog analizza i dettagli tecnici del campione dannoso e le vulnerabilità che ha sfruttato.

Introduzione

PDF (Portable Document Format) è un formato di file per i documenti elettronici e, come con altri formati di documenti conosciuti, può essere utilizzato dagli aggressori per scaricare malware nel computer di una vittima. Per poter eseguire il proprio codice malevolo, gli aggressori devono trovare e sfruttare le vulnerabilità nel software di lettura PDF. Ci sono diversi lettori di PDF; uno dei più famosi è Adobe Reader.

Il software Adobe Reader implementa una funzione di sicurezza chiamata sandbox, nota anche nel lettore come modalità protetta. La descrizione tecnica dettagliata dell’implementazione della sandbox è stata pubblicata sulle pagine del blog di Adobe in quattro parti ( Parte 1 , Parte 2 , Parte 3 , Parte 4 ). La sandbox rende più difficile sfruttare le vulnerabilità: anche se venisse eseguito del codice viene, l’attaccante deve comunque bypassare le protezioni della sandbox per compromettere il computer che esegue Adobe Reader. Solitamente, per superare la sandbox vengono sfruttate le vulnerabilità del sistema operativo stesso.

Questo si è rivelato uno dei rari casi in cui i criminali sono stati in grado di trovare vulnerabilità e scrivere exploit sia per il software Adobe Reader e sia per il sistema operativo.

CVE-2018-4990 – RCE in Adobe Reader

Il campione PDF dannoso incorpora del codice JavaScript che controlla l’intero processo di sfruttamento delle vulnerabilità. Una volta aperto il file PDF, viene eseguito il codice JavaScript.

All’inizio del processo di sfruttamento, il codice JavaScript inizia a manipolare l’oggetto Button1. Questo oggetto contiene un’immagine JPEG2000 appositamente creata per attivare una vulnerabilità double-free in Adobe Reader.

Figura 1. Codice JavaScript che manipola l’oggetto Button1

Il JavaScript utilizza tecniche di heap-spray per corrompere le strutture dati interne. Dopo tutte queste manipolazioni, gli hacker raggiungono il loro obiettivo principale: leggere e scrivere la memoria sfruttando il loro codice JavaScript.

Figura 2. Codice JavaScript utilizzato per leggere e scrivere memoria

Usando questi due processi, l’attaccante individua l’indirizzo di memoria del plugin EScript.api , che è il motore JavaScript di Adobe. Utilizzando le istruzioni di assemblaggio (gadget ROP) di quel modulo, il codice JavaScript dannoso imposta una catena ROP che può consentire l’esecuzione dello shellcode nativo.

Figura 3. JavaScript dannoso che crea una catena ROP

Come passo finale, lo shellcode inizializza un file PE incorporato nel PDF e gli affida il processo di esecuzione.

CVE-2018-8120 – Escalation dei privilegi in Microsoft Windows

Dopo aver sfruttato la vulnerabilità di Adobe Reader, l’utente malintenzionato deve bypassare la sandbox. Questo è esattamente lo scopo del secondo exploit di cui trattiamo in questo documento.

La causa principale di questa vulnerabilità precedentemente sconosciuta si trova nel NtUserSetImeInfoEx funzione del win32k componente del kernel di Windows. In particolare, la subroutine SetImeInfoEx di NtUserSetImeInfoEx non convalida un puntatore dati, consentendo un dereferenziamento del puntatore NULL.

Figura 4. Routine SetImeInfoEx disassemblata

Come è evidente nella Figura 4, la funzione SetImeInfoEx prevede un puntatore a un oggetto WINDOWSTATION che viene inizializzato come primo argomento. Lo spklList potrebbe essere uguale a zero se l’utente malintenzionato crea un nuovo oggetto window station e lo assegna al processo corrente in modalità utente. Pertanto, mappando la pagina NULL e impostando un puntatore per deviare 0x2C, l’utente malintenzionato può sfruttare questa vulnerabilità per scrivere su un indirizzo a sua scelta nello spazio del kernel. Va notato che a partire da Windows 8, un processo utente non è autorizzato a mappare la pagina NULL.

Poiché l’attaccante utilizza una scrittura arbitraria primitiva,  potrebbe decidere di usare tecniche diverse, ma in questo caso ne sceglie una descritta da Ivanlef0u e Mateusz “j00ru” Jurczyk e Gynvael Coldwin . L’attaccante imposta un gate di chiamata su Ring 0 riscrivendo la Global Descriptor Table (GDT). Per fare ciò ottiene l’indirizzo del GDT originale usando l’istruzione di assemblaggio SGDT, quindi costruisce la propria tabella e riscrive quella originale utilizzando la vulnerabilità di cui si è appena trattato.

A questo punto l’exploit utilizza l’istruzione CALL FAR per eseguire una chiamata di livello inter-privilege.

Figura 5. L’istruzione CALL FAR disassemblata

Una volta eseguito il codice in modalità kernel, l’exploit sostituisce il token del processo corrente con il token di sistema.

Conclusione

Inizialmente, i ricercatori ESET hanno scoperto il campione PDF all’interno di un archivio pubblico di sample pericolosi. Il campione non contiene una payload completamente definita, il che potrebbe suggerire che sia stato intercettato durante le sue prime fasi di sviluppo. Sebbene il sample non contenga un vera e propria payload malevola, gli autori hanno dimostrato un alto livello di abilità nel rilevamento delle vulnerabilità e nella scrittura degli exploit.

Indicatori di compromissione (IoC)

Rilevazioni ESET
JS/Exploit.Pdfka.QNV trojan
Win32/Exploit.CVE-2018-8120.A trojan

Hash SHA-1
C82CFEAD292EECA601D3CF82C8C5340CB579D1C6
0D3F335CCCA4575593054446F5F219EBA6CD93FE

Condividi su
Condividi su Facebook
Condividi su Twitter
 Articolo precedente La Polizia Italiana e la Polizia Rumena in un’azione congiunta contro un’organizzazione di criminali informatici
Articolo successivo   Facebook migliora il proprio sistema di 2FA aggiungendo il supporto per le app di autenticazione

Articoli Simili

  • True CDR: la prossima generazione di strumenti per la prevenzione dei malware

    Dicembre 30, 2020
  • Tecnologia Odix

    Dicembre 28, 2020
  • Il tuo software sandbox è stato violato?

    Dicembre 22, 2020

1 Commento

  1. Pingback: Il "Cattivo" PDF smascherato da ESET - TechDifferent

Lascia un commento Annulla risposta

Cerca

Social Media

  • Connect on LinkedIn

Articoli Recenti

  • True CDR: la prossima generazione di strumenti per la prevenzione dei malware Dicembre 30, 2020
  • Tecnologia Odix Dicembre 28, 2020
  • Le estensioni di terze parti per Facebook, Instagram e altri hanno infettato milioni di profili Dicembre 23, 2020
  • Il tuo software sandbox è stato violato? Dicembre 22, 2020

Commenti recenti

  • Avast: fake Malwarebytes utilizzato per distribuire CoinMiner - LineaEDP su Falsi file di installazione di Malwarebytes che distribuiscono coinminer
  • Avast: fake Malwarebytes utilizzato per distribuire CoinMiner su Falsi file di installazione di Malwarebytes che distribuiscono coinminer
  • Scoperte su Google Play Store 47 app malevole scaricate 15 milioni di volte – Secondamano l'originale su Avast scopre 47 app malevole su Google Play Store, scaricate 15 milioni di volte
  • Lara su Quando l’amore diventa un incubo: le truffe su siti di dating online
  • Cyber warfare: tecniche, obiettivi e strategie dietro gli attacchi “state-sponsored” | Agenda Digitale su BackSwap l’innovativo Trojan bancario che introduce nuove tecniche per svuotare i conti delle vittime

Archivi

Categorie

  • Comunicazioni
  • Malware
  • Senza categoria
  • Sicurezza
  • Sicurezza Informatica
  • Suggerimenti tecnici
  • True CDR: la prossima generazione di strumenti per la prevenzione dei malware

  • Tecnologia Odix

  • Le estensioni di terze parti per Facebook, Instagram e altri hanno infettato milioni di profili

  • Il tuo software sandbox è stato violato?

  • Riprendere la propria privacy da Instagram

© 2001 - 2020 - Tutti i diritti riservati. I marchi usati nel sito sono registrati da Future Time S.r.l. Tutti gli altri nomi e marchi sono registrati dalle rispettive aziende. Future Time S.r.l. © 2001-2020. P.IVA 06677001007
Questo sito usa i cookie, anche di terze parti, per offrirti una navigazione in linea con le tue preferenze. Per maggiori informazioni puoi accedere alla nostra cookie policy, dove potrai negare il consenso ai cookie, seguendo l'apposito link. Se continui la navigazione sul sito acconsenti all'uso dei cookie.
Ok, accetto Cookie policy
Privacy & Cookies Policy

Privacy Overview

This website uses cookies to improve your experience while you navigate through the website. Out of these, the cookies that are categorized as necessary are stored on your browser as they are essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website. These cookies will be stored in your browser only with your consent. You also have the option to opt-out of these cookies. But opting out of some of these cookies may affect your browsing experience.
Necessario
Sempre attivato

Necessary cookies are absolutely essential for the website to function properly. This category only includes cookies that ensures basic functionalities and security features of the website. These cookies do not store any personal information.

Non necessario

Any cookies that may not be particularly necessary for the website to function and is used specifically to collect user personal data via analytics, ads, other embedded contents are termed as non-necessary cookies. It is mandatory to procure user consent prior to running these cookies on your website.