Come visualizzare in sicurezza un PDF dannoso?

36

Ho un PDF con informazioni importanti che possono contenere malware. Quale sarebbe il modo migliore per vederlo?

    
posta Anders 19.08.2012 - 19:02
fonte

12 risposte

25

Gli exploit basati su documenti non sono diretti al documento stesso, ma piuttosto a una certa vulnerabilità nel visualizzatore. Se visualizzi il documento in un programma che non è vulnerabile (o in una configurazione che inibisce la vulnerabilità), non sarai sfruttato.

Il vero problema è sapere se il tuo spettatore è vulnerabile o meno, il che significa in genere sapere esattamente quale sia l'exploit. Ma ci sono visualizzatori PDF alternativi come foxit o anche il visualizzatore incorporato di Google Chrome che non hanno necessariamente le stesse vulnerabilità del visualizzatore ufficiale di Adobe. Questo non è necessariamente vero per le vulnerabilità tutte , quindi è importante capire a cosa stai arrivando in anticipo.

Modifica
Se ti trovi spesso a gestire materiali potenzialmente dannosi, sarebbe molto saggio configurare un ambiente virtuale rinforzato. Consiglierei l'avvio in un sistema Linux e il sistema operativo di destinazione (in genere Windows) in Virtualbox o in un ambiente simile. Salvare un'istantanea del sistema operativo virtuale e quindi tornare a quella istantanea dopo aver finito di interagire con il contenuto dannoso. Inoltre, non è una cattiva idea eseguire l'ambiente Linux host da un'installazione di sola lettura (ad es. Live-CD).

    
risposta data 19.08.2012 - 19:45
fonte
15

Mettilo attraverso un visualizzatore PDF che non è vulnerabile all'exploit. Se è lo spettatore di qualcun altro, è ancora più sicuro. Prova Google Documenti , dove lo analizzeranno e lo mostreranno come HTML, quindi il carico utile dannoso non ti farà del male. (Sono sicuro che il loro parser PDF è estremamente sicuro, quindi non dovresti sentirti male se possibile infettandoli.)

    
risposta data 19.08.2012 - 22:22
fonte
6

Utilizzare una macchina virtuale che può essere ripristinata per pulire la lavagna dopo i test. Se il lettore PDF è vulnerabile, la tua workstation reale avrà meno probabilità di essere influenzata.

    
risposta data 20.08.2012 - 08:47
fonte
6

Utilizza pdf.js con un browser sandbox (come Chromium) in una macchina virtuale senza accesso alla rete.

Dovrebbe essere abbastanza complicato per un malware uscire da questo.

    
risposta data 24.08.2012 - 10:36
fonte
4

In questa situazione ho sempre usato il comando della shell Unix / Linux / OSX "stringhe". Sui sistemi * nix, fai questo:

strings ScaryFile.pdf | less

Puoi anche ottenere "stringhe" per Windows, come indicato da Polinomio, sotto. Puoi scaricarlo qui . Funziona su XP o versioni successive. Ecco un esempio di utilizzo su Windows:

strings ScaryFile | findstr /i TextToSearchFor

Ma per il resto della mia risposta qui assumerò che tu sia su * nix, poiché questa è la mia esperienza con le stringhe. Supponendo che tutto quello che stai cercando sia il contenuto del testo (non bitmap o grafica vettoriale), puoi scorrere verso il basso o cercare e trovare parti del testo che ti servono. Sfortunatamente, per trovarlo devi guadare tonnellate di metadati, la maggior parte dei quali è in XML, e le impostazioni di formattazione in qualche altro markup, oltre ad alcuni file binari (come ascii, non raw byte). Quindi potresti voler usare le funzionalità di ricerca del comando "less". Per cercare nel documento la stringa sensibile al maiuscolo / minuscolo "thingyouwant", utilizzare il tasto barra + la stringa + ritorno:

/thingyouwant

Quindi premi il tasto "n" per vedere la prossima istanza di "thingyouwant", più e più volte finché non trovi quello che vuoi. Puoi usare il "?" chiave per fare la stessa cosa nella direzione verso l'alto. Vedi la pagina man in meno (digita "man less") per più magia.

Potresti anche analizzare cose come a quali URL il documento si collega:

strings ScaryFile.pdf| grep -i "http" | sort | uniq | less

Ma, come detto sopra, il 99% di ciò che vedrai dall'output di "stringhe" sarà metadata e impostazioni di formattazione.

    
risposta data 20.08.2012 - 07:04
fonte
1

Possiamo dire che TUTTI gli attacchi in-the-wild o mirati che utilizzano file PDF dannosi sono coperti con tecniche di offuscamento per rafforzare l'analisi o il processo di rilevamento.

La maggior parte della tecnica di offuscamento utilizza principalmente l'offuscamento di JavaScript come eval (), String.fromCharCode (), arguments.callee (), base64 e anche con valori chiave PDF come / Author, / Keywords, / CreationDate e etc .

Potremmo non riuscire a visualizzare il contenuto del file PDF dannoso (quelli all'interno del flusso di oggetti PDF) in quanto potrebbe essere deflazionato comunemente con FlateDecode. Ma ci sono strumenti disponibili per permetterci di gonfiare il contenuto all'interno del flusso di oggetti PDF, come ad esempio pdf-parser (http://blog.didierstevens.com/programs/pdf-tools/) e FileInsight (http: // www. mcafee.com/us/downloads/free-tools/fileinsight.aspx). La maggior parte del codice JavaScript offuscato si trova all'interno del flusso PDF gonfiato.

Possiamo consigliarti di scaricare la versione patch aggiornata del lettore PDF con la funzionalità JavaScript disattivata per aprire il file, ma la soluzione migliore è quella di ottenere una macchina virtuale in cui è possibile eliminarla o ripristinare l'istantanea dopo aver aperto il file .

    
risposta data 04.10.2012 - 00:44
fonte
1

Un'altra opzione facile e meno dispendiosa è aprirla nell'app Sandboxie, che la isolerebbe.

    
risposta data 15.02.2017 - 12:24
fonte
1

È possibile aprire il PDF in un contenitore. Ecco un'immagine della finestra mobile che puoi utilizzare: link

MY_PDF_DIR='/tmp/foobar'
docker pull chrisdaish/acroread
docker run  -v $MY_PDF_DIR:/home/acroread/Documents:rw \
        -v /tmp/.X11-unix:/tmp/.X11-unix \
        -e uid=$(id -u) \
        -e gid=$(id -g) \
        -e DISPLAY=unix$DISPLAY \
        --name acroread \
        chrisdaish/acroread

Si aprirà un Acrobat Reader che verrà visualizzato tramite il server X locale.

L'approccio riduce la superficie di attacco, ma non è sicuro al 100% dato che ha accesso al tuo server X.

    
risposta data 08.03.2017 - 12:00
fonte
1

Le ultime versioni di Adobe Reader (versione 10.1 e successive) supportano "Modalità protetta" o sandboxing che può essere utilizzato per visualizzare file PDF non attendibili. Ciò limita in modo efficace l'accesso del processo che mostra il file PDF a %appdata%\Adobe\Acrobat e altri PDF che sono esplicitamente aperti dall'utente.

La modalità protetta deve essere attivata andando al menu Modifica e gt; Preferenze e selezionando la scheda Generale o Sicurezza, a seconda della versione:

Ovviamente, ti consigliamo di chiudere qualsiasi PDF sensibile come i tuoi estratti conto prima di aprire quello non attendibile.

    
risposta data 21.06.2017 - 12:26
fonte
1

Un modo semplice e diretto per aprire file PDF potenzialmente dannosi su un computer Windows consiste nell'utilizzare Sumatra Visualizzatore PDF. Sumatra è un visualizzatore di PDF piccolo e leggero che non ha alcun supporto per moduli compilabili interattivi o javascript in file PDF.

Sumatra ha anche opzioni di configurazione per bloccarlo ulteriormente , come impedire file system o accesso a Internet.

Il formato di file PDF ha molte funzionalità interattive volte a rendere il formato più utile, ma che creano rischi significativi per la sicurezza, tra cui:  - L'uso di javascript per fornire contenuti interattivi , che consente    automazione dell'interfaccia utente  - La capacità di interagire con il locale file system  - la possibilità di inviare una richiesta HTTP a un server remoto  - la capacità di trasportare un carico utile di file allegati arbitrari, incluso il malware  - la possibilità di presentare all'utente un modulo compilabile e quindi di acquisire    e agire sulle informazioni compilate Queste abilità combinate insieme costituiscono un potente toolkit per un attaccante. Molti attacchi cosiddetti "drive-by download" si basano sull'uso di file PDF.

I comuni visualizzatori di file PDF tentano di fornire sicurezza per queste funzionalità creando ambienti sandbox o dando suggerimenti all'utente, ma queste soluzioni sono sia più complesse (e quindi soggette alle proprie vulnerabilità) sia meno compatibili con i prodotti di altre parti rispetto a quelle più semplici soluzione di lasciare semplicemente questa funzionalità completamente.

Sumatra è un esempio di un visualizzatore PDF che non fornisce molte delle funzioni più comunemente utilizzate negli exploit PDF. Eliminando completamente intere categorie di potenziali attacchi, tali programmi riducono notevolmente il rischio di visualizzare file PDF sconosciuti.

Un ulteriore vantaggio dell'utilizzo di un visualizzatore meno popolare è che, essendo sia meno comune che meno potente, è un obiettivo meno interessante.

Il visualizzatore di Sumatra potrebbe essere eventualmente sfruttato da un PDF appositamente predisposto che sfrutta alcuni bug sconosciuti per causare un overflow del buffer, ad esempio. Tali casi sono tuttavia rari e negli ultimi anni non ci sono stati significativi exploit di sicurezza per Sumatra.

    
risposta data 18.02.2017 - 20:53
fonte
0

Per prima cosa caricarlo su virustotal.com per farlo scansire da più di 20 programmi AV, quindi aprirlo nella macchina virtuale usando le opzioni menzionate da altri.

    
risposta data 04.10.2012 - 16:11
fonte
0

È possibile utilizzare una combinazione di visualizzatore / sistema operativo meno popolare. Immagino che nessuno possa bersagliare Okular su FreeBSD (anche se può ancora essere vulnerabile), quindi se apri il file in una VM dovresti essere molto sicuro.

Per fare del male il payload canaglia deve corrispondere alla versione del visualizzatore e al sistema operativo e all'architettura della CPU, ovviamente. Si tratta di assemblaggi e memorie di basso livello (il payload si aspetta di essere collocato in un particolare indirizzo di memoria e si aspetta che siano disponibili alcune funzioni di sistema standard). Se modifichi qualcuno di questi, il carico utile potrebbe non essere eseguito correttamente (o lo spettatore potrebbe semplicemente bloccarsi senza fare del male).

    
risposta data 18.03.2016 - 12:52
fonte

Leggi altre domande sui tag