Deobfuscating JavaScript Malware

0

Recentemente ho esaminato la mia attività di rete e ho scoperto un PCAP direttamente correlato a un Trojan Dropper. Dando uno sguardo veloce al flusso TCP dei pacchetti, ho trovato alcuni contenuti Javascript pericolosi. L'unico problema è ... non ho idea di come de-offuscarlo.

Ecco cosa mostra il mio stream TPC

GET /sugg/suggestajaj.jsp?key=qin&type=web&pr=sohu HTTP/1.1
DNT: 1
Host: w.sugg.sogou.com
Accept: application/javascript, */*;q=0.8
Cookie: CXID=5248838DA4CABE5D9A294184931BF24E; SUID=D0B686402141900A54AE07DE000AB3F1; SUV=1431693802951096; LSTMV=292%2C445; LCLKINT=24499; IPLOC=US
Referer: http://www.sohu.com/
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko
Accept-Language: en-US
Connection: Keep-Alive

HTTP/1.1 200 OK
Server: nginx
Date: Wed, 06 Jul 2016 16:39:39 GMT
Content-Type: application/x-javascript;charset=GBK
Content-Length: 695
Connection: keep-alive
Expires: Wed, 06 Jul 2016 16:39:39 GMT
Cache-Control: max-age=0

sugCls.handleContent("%5Bqin%5D%3B%3B%26%3B%3B%5B%E4%BA%B2%E7%88%B1%E7%9A%84%E7%BF%BB%E8%AF%91%E5%AE%98%3B%3B0%2C+%E7%A7%A6%E6%97%B6%E6%98%8E%E6%9C%88%E4%B9%8B%E5%90%9B%E4%B8%B4%E5%A4%A9%E4%B8%8B%3B%3B0%2C+%E4%BA%B2%E7%88%B1%E7%9A%84%E7%BF%BB%E8%AF%91%E5%AE%98%E7%94%B5%E8%A7%86%E5%89%A7%3B%3B0%2C+%E6%83%85%E4%BE%A3%E5%A4%B4%E5%83%8F%3B%3B0%2C+%E7%A7%A6%E6%97%B6%E6%98%8E%E6%9C%88%3B%3B0%2C+%E4%BA%B2%E7%88%B1%E7%9A%84%E7%BF%BB%E8%AF%91%E5%AE%98%E5%89%A7%E6%83%85%E4%BB%8B%E7%BB%8D%3B%3B0%2C+%E9%9D%92%E4%BA%91%E5%BF%97%3B%3B0%2C+%E9%9D%92%E9%9D%92%E8%8D%89%3B%3B0%2C+%E6%83%85%E8%B0%9C%E7%9D%A1%E7%BE%8E%E4%BA%BA%3B%3B0%2C+%E6%83%85%E4%BE%A3%E7%BD%91%E5%90%8D%3B%3B0%5D%3B%3B%26%3B%3B%5B%5D");

Questo sembra essere correlato a un Sogou / Sohu Web Hijacker basato sulla mia ricerca.

Qualsiasi aiuto nel tentativo di de-offuscare questo o almeno di indicarmi la giusta direzione è molto apprezzato!

Modifica

Quindi ho fatto un po 'di lavoro e ho notato che questo JavaScript è impostato sul set di caratteri GBK o cinese. Ho provato a fare un GBK deobfuscate e lo ho tradotto in Google. Questo è il seguente risultato

sugCls.handleContent ( "[qin] ;; & ;; [Dear translator;; 0, Qin Shiming month Dominating;; 0, dear translator drama;; 0, 0;; couple picture, qinshiming 0;; dear translator Synopsis;; 0, Aspiration;; 0, 0;; green grass, feeling the mystery of Sleeping Beauty;; 0, couple screen name;; 0];; &;; [] ") ;

Questo non ha assolutamente senso ...

    
posta J.Halon 06.07.2016 - 21:11
fonte

1 risposta

1

Il codice del metodo sugCls.handleContent inizia qui sulla linea 1263: link

Puoi vedere che fa alcune affettazioni e cubettature interessanti per estrarre parti della stringa che è stata passata. Per de-offuscare, è necessario seguire ogni passaggio manualmente, eseguire il comando nel contesto desiderato e agganciare l'output (ad esempio a una console), oppure estrarre i bit rilevanti del metodo handleContent e scrivere un metodo equivalente.

Sfortunatamente, lo scopo dell'offuscamento è assicurarsi che il codice non abbia senso per un interprete umano. Per natura, la de-offuscamento è un processo molto difficile, e ci sono centinaia di tecniche e strumenti che si potrebbero applicare (spesso senza successo!).

    
risposta data 06.07.2016 - 22:28
fonte

Leggi altre domande sui tag