Infiltrazione dell’infrastruttura tramite RTF
Indice:
Procediamo a studiare una fase dell’attacco chiamata “Delivery” dalla Lockheed Martin Cyber Kill Chain.Molto si può dire su questa fase, ma oggi condividerò soltanto l’analisi di un campione che ho recentemente ricevuto per analizzare. Il campione ha attratto la mia attenzione per la sua semplicità da un lato e la sua sofisticatezza dall’altro. Non possiamo certamente criticare i suoi autori per mancanza di inventiva e immaginazione.
Iniziamo.
Qui possiamo vedere un’email standard con un file Word allegato:
Uno dei siti web avvisa di questa truffa via email (Truffa via email), e fornisce ulteriori dettagli:
Osserviamo più da vicino le complessità di tale metodo di intrusione e come l’apertura di una singola email potrebbe portare a conseguenze disastrose per la tua attività.Innanzitutto, consegniamo questo file al nostro laboratorio improvvisato dove lo analizzeremo in dettaglio. Come primo passo dobbiamo controllare il documento per eventuali macro. Possiamo usare diversi toolkits per eseguire questa operazione e oggi utilizzeremo OLETOOLS che contiene lo strumento OLEVBA, per le seguenti operazioni:
- Rilevare macro VBA in file MS Office 97-2003 e 2007+
- Estrarre il codice sorgente delle macro VBA
- Rilevare macro eseguibili automaticamente
- Rilevare parole chiave VBA sospette spesso usate da malware
- Rilevare e decodificare stringhe offuscate con Hex/Base64/StrReverse/Dridex
- Estrarre IOC/modelli di interesse come indirizzi IP, URL, indirizzi e-mail e nomi di file eseguibili
- Scansionare più file e collezioni di campioni (wildcards, ricorsivo)
- Modalità di triage per una vista sommaria di multipli file
- Scansionare campioni di malware in archivi Zip protetti da password
- API Python per utilizzare olevba dalle tue applicazioni
Eseguiamo lo strumento
olevba.py
:
olevba.py 750786446.doc > macros.txt
Come risultato, il file macros.txt
, sarà creato, contenendo tutte le macro del documento studiato.
Vediamo cosa nasconde questo file Word:Ovviamente, nessun programmatore sano di mente chiamerebbe funzioni e variabili in questo modo, a meno che non stiano cercando di nascondere i loro obiettivi.
Ecco una rappresentazione schematica delle operazioni di queste macro in modo che tu possa capire meglio questo insieme di simboli:
Ora vediamo chiaramente che il 90% delle operazioni visualizzate è spazzatura, creata per confondere un analista e complicare la ricerca delle macro. Se liberiamo lo schema dalle operazioni “eccessive”, otteniamo un quadro chiaro di come funzionano tali macro.
Quindi, cosa sta cercando di fare realmente la macro?
- Dopo che il file DOC è aperto, la macro trova la posizione della cartella temporanea attraverso variabili d’ambiente. Poi si salva in questa cartella come RTF sotto il nome di BYFE.RTF.
- Successivamente ripete la stessa operazione, ma utilizza un altro nome – JWUD.RTF. Questa operazione è necessaria per liberare il file BYFE.RTF per ulteriori operazioni poiché finché Microsoft Word lo “mantiene”, nessuno può riferirsi a questo file se non in modalità “sola lettura”. Presto vedremo che la macro ha piani speciali per questo file.
- A questo punto la macro esegue il file BYFE.RTF in modalità “invisibile”.
Qui devo allontanarmi dal nostro soggetto e parlarti di una particolare caratteristica dei file RTF:
Puoi allegare qualsiasi oggetto ai file RTF, anche musica o file eseguibili. Quando un utente apre un file con tale oggetto, quel oggetto viene estratto nella cartella Temporanea. E sarà lì poiché è allegato al file RTF fino a quando il documento non viene chiuso. La cosa principale è che può essere utilizzato da qualsiasi cosa all’esterno.
Procediamo con un esperimento:- Creiamo un file RTF
- Poi alleghiamo la calcolatrice predefinita (
calc.exe
) come oggetto:
- Chiudiamo questo documento e apriamo la cartella %temp%
- Ora svuotiamo la cartella e apriamo con Microsoft Word il nostro
test.rtf
:
- Eseguiamo la calcolatrice per dimostrarne la funzionalità:
- Quando il file RTF è chiuso, calc.exe scompare senza lasciare traccia
- Creiamo un file RTF
- Ora capiamo perché gli avversari usano i file RTF e perché hanno bisogno di una pausa di 2 secondi. Ne hanno bisogno per posizionare il loro “oggetto” nella nostra cartella temporanea.
- Successivamente un oggetto viene eseguito (come abbiamo fatto con la calcolatrice) e, come vedremo più avanti, il nome del nostro oggetto è
s3.tmp
:
Gli avversari hanno bisogno di una pausa di 3 secondi affinché l'”oggetto” completi i suoi compiti. Nel nostro caso questo “oggetto” è un downloader/dropper quindi i suoi compiti sono la comunicazione con un centro di comando e l’ottenimento di ulteriori istruzioni. Nel nostro esempio, ha comunicato con54.225.64.111
–hxxp://api.ipify.org:80/
. Sul sito VirusTotal possiamo vedere alcune attività anomale su questo indirizzo IP che sono iniziate alla fine di aprile – inizio maggio 2016.https://www.virustotal.com/ru/ip-address/54.225.64.111/information/
- Infine, l’ultima fase. La macro chiude il file RTF causando la scomparsa di un dropper. L’attività è completa. L’intrusione è finita. Le tracce sono pulite.
Conclusione:
- Sempre più “sandbox” per i perimetri delle aziende stanno diventando capaci di setacciare le email e deconstructing tali allegati per trovare attività dannose e ridurre i rischi di intrusione.
- L’analisi manuale e dettagliata dello spam catturato dai filtri anti-spam (reverse engineering del malware) è molto importante. Questo può aiutarti a trovare IOC chiave da utilizzare nelle regole per i sistemi di monitoraggio e a tracciare casi di tali email che penetrano il perimetro. Nel nostro esempio, questo sarebbe un indirizzo IP. Per mettere al sicuro la tua organizzazione, devi bloccarlo sui firewall e monitorare qualsiasi tentativo di connessione. Questo ti consente di scoprire workstation compromesse e di iniziare la manutenzione dell’infrastruttura. Ciò può anche proteggerti quando il tuo filtro anti-spam non blocca un’email con malware e un utente la apre – i tuoi firewall saranno pronti a bloccare qualsiasi comunicazione tra il malware e il suo centro di comando.
- Il dropper è solitamente “invisibile” per l’antivirus aziendale. Se invii un campione scoperto al fornitore di antivirus, questo può aggiungerlo alle loro firme consentendoti di scoprire workstation compromesse.
Spero che questo articolo sia utile e attendo il tuo feedback.