Ho incontrato codice di attacco JavaScript: come faccio a cercare informazioni sulle specifiche dell'exploit?

11

Quindi, ho fatto clic su un invito LinkedIn ragionevolmente cercando, non pensando prima di passare sopra il link, poiché di solito il client di posta elettronica mi avvisa di queste cose.

Una volta capito che sono arrivato su una pagina di exploit, ho rapidamente copiato la fonte (contenente qualche JavaScript evidentemente colpevole), chiuso la finestra e deobfuscated il codice di attacco corretto (codificato in homebrew avvolto in un'eval).

EDIT: ecco il pastebin del codice debianizzato, seguito dalla pagina di attacco HTML effettiva.

Fortunatamente, sembra che il carico utile non sia stato implementato nel mio caso: l'attacco ha come target i plug-in per browser PDF e Java, di cui non ne avevo nessuno (ho Java installato plug-in sans, ma la versione sembra troppo recente per l'attacco comunque).

Tuttavia, poiché non sono un esperto di JS (e molto meno un esperto di exploit JS per inferenza), ho provato a cercare il codice di attacco per assicurarmi che non ne risentissi. Nessun risultato finora.

Ovviamente, questo ha senso: un codice visibile al pubblico come quello attirerebbe gli utenti e chiunque altro desideri utilizzarlo per scopi dannosi.

Tuttavia, dato il codice di attacco JavaScript, come posso trovare informazioni sull'exploit?

    
posta mikołak 07.09.2013 - 11:11
fonte

4 risposte

10

Questo sembra un bel buon esempio di questo malware in fase di storno (e di una guida passo-passo) da parte di qualcuno altro. Ho appena cercato il seguente su google .

In pratica sembra che tu sia stato attaccato con la nuova variante del famigerato kit di exploit blackhole .

Se esegui una ricerca in tutto il pastebin che hai collegato per 'java' 'flash' e 'pdf' vedrai riferimenti attraverso i quali sostanzialmente si traduce in 'scarica e apri questo' nella speranza che uno dei tanti exploit presente nel kit funzionerà. Il primo link che ho pubblicato mostra una buona interruzione di questo.

Se non fosse stata fatta alcuna analisi dagli autori di cui sopra, suggerirei di seguire la strada suggerita da Michael e caricare un'immagine VM. Detto questo, ha ancora i suoi rischi Ti suggerisco, se vuoi farlo regolarmente, di avere un vecchio computer portatile o desktop dedicato a questo tipo di investigazione. Questa domanda potrebbe aiutarti anche in futuro.

    
risposta data 12.09.2013 - 05:30
fonte
5

Oltre all'utilizzo della VM, se pensi che la javascript sia malevola, puoi usare strumenti come jsunpack per analizzare il tuo codice . Inoltre, se si acquisiscono i pacchetti utilizzando Wireshark e si ricrea lo scenario, è possibile estrarre il payload / binario malevolo, caricarlo su VirusTotal , Anubis e / o Malwr per ulteriori analisi. (Nota rapida: Malwr ti fornisce anche il risultato dalla sandbox cucù eseguendo il binario su VM)

    
risposta data 10.09.2013 - 22:53
fonte
3

Se la ricerca non rivela nulla di utile, un'opzione standard è provarla.

Avvia una VM con versioni relativamente vecchie di plug-in Adobe e Java (se sospetti che abbia come target PDF e / o Java), scatta un'istantanea della VM prima di visitare il sito infetto, registra tutto il traffico in entrata / uscita dalla VM mentre visiti il sito (e poco dopo).

Ispeziona il traffico utilizzando ad es. Wireshark e confronta i contenuti del filesystem prima e dopo la visita (potresti trovare alcune risorse utili al link ).

    
risposta data 10.09.2013 - 13:12
fonte
2

Il JS che hai pubblicato è fondamentalmente la prima fase di distribuzione di un attacco a una vittima. Si sta enumerando su ciò che tutto ciò che hai installato tramite javascript.

Uno di questi controlli è

  if ((c.isIE && (c.verIE < 9 || !c.ActiveXEnabled))
                                                || (c.verGecko && 0 > c.compareNums(c.verGecko, c
                                                                .formatNum("2")))
                                                || (c.isSafari && (!c.verSafari || 0 > c.compareNums(
                                                                c.verSafari, c.formatNum("4"))))
                                                || (c.verOpera && c.verOpera < 10)) {
                                        b = [ 1, 1, 1 ]
                                }

Qui sta controllando la versione del tuo browser, indipendentemente dal fatto che tu abbia IE < versione 9, Firefox, Safari o Opera.

Un altro controllo di questo tipo è

if (((javaver >= 500) && (javaver < 633))
                || ((javaver >= 700) && (javaver < 710))) {
        java1();
} else {
        if ((javaver > 709) && (javaver <= 717)) {
                java2();

Qui viene controllata la tua versione java. E in base alla tua versione java, cioè se è tra 5.0.0 e 6.3.3 o 7.0.0 e 7.1.0, verrà distribuita una funzione java1. Ora, nell'output di pastebin non esiste alcuna funzione java1. Il che indica che c'era qualche altro file .js a cui si fa riferimento da qualche parte che manca. Fondamentalmente la funzione java1 è dove inizia effettivamente la parte di exploitation. Caso simile per la funzione java2 e molti altri. I controlli del plugin sono fondamentalmente per determinare se è possibile caricare quel particolare plug-in nel browser.

Quindi, questa sceneggiatura è stata solo la prima fase dello sfruttamento reale. Il motivo per cui vengono eseguiti così tanti controlli è perché lo sfruttamento è diventato molto difficile e ogni versione di un software richiede un diverso insieme di payload. Non solo la versione del software, ma anche la versione del sistema operativo. Un exploit Windows XP SP2 non deve essere uguale a quello di Windows XP SP3, tanto meno Mac vs Linux o Windows. E di solito hai una possibilità, per sfruttare qualcuno che ha cliccato su un link. (In questo caso un exploit fallito provocherà un arresto anomalo del browser) Quindi gli attaccanti devono scegliere saggiamente l'exploit che devono distribuire su un client: /

Guardando le versioni, se stavi eseguendo un'applicazione obsoleta come browser, java, flash o Adobe Reader dovresti eseguire la scansione del tuo sistema per l'intrusione.

    
risposta data 12.09.2013 - 09:32
fonte

Leggi altre domande sui tag