Spora - ransomware offline z wieloma metodami płatności

2017-01-31 07:22:00

Nieszablonowe zagrożenie z ciekawą metodą monetyzacji – więcej zaszyfrowanych plików to większy okup!

Spora rozprzestrzenia się za pośrednictwem urządzeń USB, podobnie jak Gamarue czy Dinihou, szyfrując pliki na zainfekowanym komputerze. Przedstawiamy sposób w jaki szkodnik zaraża system oraz szyfruje zasoby, a także w niespotykany do tej pory sposób wymusza okupu.

Załącznik pocztowy HTA - pospolity wektor ataku

Spora została wykryta przez właścicieli witryny ID Ransomware. O istnieniu wirusa poinformował na Twitterze MalwareHunterTeam. Specjaliści zajmujący się malwarem, a także użytkownicy Twittera, byli zaskoczeni profesjonalną stroną autorów ransomware oraz nietypowym rozliczaniem okupu.  Większość witryn z tej kategorii przedstawia się bardzo skromnie. Pierwszą próbkę wirusa zaprezentował członek Bleepingcomputer oraz omówił ją na forum dyskusyjnym w odpowiednim temacie (Spora support topic).

Próbka to aplikacja HTA z zaciemnionym kodem VBScript. Jak wynika z informacji zamieszczonych przez Bleepingcomputer wiadomość dostarczono jako załączniki w formacie ZIP. Sprawdzenie pliku na Virus Total pokazało następującą nazwę pliku Скан-копия _ 10 января 2017г. Составлено и подписано главным бухгалтером. Экспорт из 1С.a01e743_рdf.hta.

Plik HTA zapisuje plik JScript do %TEMP%\close.js, a następnie go wykonuje. Z kolei plik JScript jest dropperem dla dokumentu Word zapisywanego w %TEMP%\doc_6d518e.docx oraz dla pliku PE (Portable Executable) zapisywanego jako %TEMP%\81063163ded.exe.

Oba pliki są otwierane przez close.js. Dokument Word otwierany jest z parametrem do wyświetlania okna, które ma skupiać na sobie uwagę natomiast plik PE zawiera parametry ukrywające okno MS Office. W rezultacie dokument jest otwierany przez domyślną aplikację dla plików .docx, Word, ale pojawia się komunikat o błędzie, wywołanym przez uszkodzony plik. Plik PE 81063163ded.exe wydaje się mieć losową nazwę, jest on jednak zhardkodowany przez dropper. To spakowany plik wykonywalny UPX zawierający payload.

Komunikat o błędzie pojawia się po otwarciu uszkodzonego dokumentu

Robak - podobne działanie do Dinihou i Gamarue

ZCryptor uznano pierwszym malwarem stanowiącym połączenie wirusa i ransomware ze względu na wykorzystanie autorun.inf.  Spora idzie o krok dalej, posługując się tymi samymi technikami co Dinihou i Gambarue.

Funkcjonalność autorun.inf została usunięta w Windows 7, a także zaktualizowana siedem lat temu na Windows XP oraz Windows Vista. W gruncie rzeczy stała się ona nieefektywną techniką rozprzestrzeniania wirusów za pośrednictwem przenośnych dysków. Niemniej Spora, Dinihou i Gamarue zamiast autorun.inf używają skrótów (.LNK files)

Spora dodaje ukryty atrybut do plików i folderów na pulpicie, przenośnych dyskach oraz dysku systemowym. Ukryte foldery i pliki przy standardowych opcjach ustawień są oczywiście niewidoczne.  Spora następnie umieszcza skróty systemu Windows z tą samą nazwą i ikoną co ukryte pliki i foldery jako widzialny zamiennik. Plik .LNK otwiera  oryginalny plik, aby uniknąć jakichkolwiek podejrzeń i jednocześnie uruchamia złośliwe oprogramowanie. Na przykład folder C:\Windows zostanie ukryty i  utworzy się plik o nazwie C:\Windows.lnk.;  wygląda on dokładnie tak samo jak oryginalny folder zakładając, że w systemie Windows ustawione są standardowe opcje.

Plik .LNK wykorzystuje następującą komendę, aby uruchomić wirusa otwierając oryginalny plik. Jeśli oryginalny plik jest folderem otworzy Eksploratora Windows, żeby wyświetlić jego zawartość:

/c explorer.exe "<originalfile>" & type "<worm>" > "%%tmp%%\<worm>" & start "<originalfile>" "%%tmp%%\<worm>

Robak kopiuje się jako ukryty plik razem z .LNK files, a nazwa pliku jest generowana przez obliczenie sumy kontrolnej CRC32 dla Volume Serial Number.

Wynik jest określany przez wzór %08x%04x%04x%02x%02x%02x%02x%02x%02 (zobacz adres 0x405492). To oznacza, że nazwa dla pliku malware przedstawia się następująco a277a133-ecde-c0f5-1591-ab36e22428bb.exe.

 

                        

Funkcja oblicza CRC32 podstawie VolumeSerialNumber dysku.                                                   Plik .LNK i kopia złośliwego oprogramowania znalazły się w katalogu głównym dysku systemowego.

Wirus usuwa wartość rejestru HKCR\lnkfile\isShortcut w skutek czego ikony skrótu nie pokazują charakterystycznej wygiętej strzałki w lewym dolnym rogu ikony, która mogłaby zasygnalizować użytkownikowi, że coś jest nie tak.

Wirusa uaktywnia prosta nawigacja po folderach i pulpicie oraz podwójne kliknięcie. Wykorzystując tę strategię nie tylko rozprzestrzenia się  on na przenośnych dyskach, ale również szyfruje nowo powstałe pliki w systemie. Następuje blokada systemu operacyjnego i urządzenie jest niezdolne do przechowywania zasobów lub jakiejkolwiek pracy z dokumentami, dopóki wirus nie zostanie usunięty.

Funkcja, która usuwa wartość IsShortcut w rejestrze.

Szyfrowanie

Spora nie zmienia nazw zaszyfrowanych plików i skupia się na niewielkim zestawie rozszerzeń. Procedura szyfrowania pokazana jest na poniższej grafice:

.backup, 7z, .rar, .zip, .tiff, .jpeg, .jpg, .accdb, .sqlite, .dbf, .1cd, .mdb, .cd, .cdr, .dwg, .psd, .pdf, .odt, .rtf, .docx, .xlsx, .doc, .xls

Spora generuje parę kluczy RSA - C1 i C2 (1024 bit).  Nowo wygenerowany klucz publiczny RSA C2 służy do szyfrowania plików z kluczami AES KEY File 1 oraz AES KEY File 2, które są także utworzone przez opisywany ransomware.

Utworzony prywatny klucz RSA C1 jest zapisywany w pliku .KEY.  Ten plik jest zaszyfrowany przy użyciu nowo utworzonego klucza AES Key B (256 bit). Publiczny klucz  RSA A2 jest używany do zaszyfrowania klucza AES Key B. Zaszyfrowany klucz B jest dołączany do pliku .KEY.

Kolejnym ważnym plikiem w procesie szyfrowania Spora jest dokument z rozszerzeniem .LST zawierający listę wszystkich zaszyfrowanych plików z zaatakowanego komputera. Nowo utworzony klucz AES jest wykorzystany do zaszyfrowania tej listy zablokowanych plików.

                             

 

Zaszyfrowana treść pliku. KEY.  i zaszyfrowany klucz AES są zapisywane na dysk.                     Klucz AES F jest zaszyfrowany przez publiczny klucz RSA A i zawartość pliku .LST jest zaszyfrowana przy użyciu klucza AES F (256 bit).

Stosując ten schemat szyfrowania Spora nie musi pozyskiwać kluczy z serwera, wystarczy praca w trybie offline. Natomiast ofiara ataku musi przekazać plik .KEY do serwisu gdzie dokonuje płatności okupu.

Plik .KEY może być rozszyfrowany jedynie przez autora wirusa.  Używając prywatnego klucza RSA A1, można odszyfrować klucz AES  B, który został dołączony do pliku .KEY. Istnieje też możliwość odszyfrowania pozostałej zawartość pliku .KEY zawierającego prywatny klucz usera RSA C1 przy wykorzystaniu klucza AES B.

Następnie napastnicy mogą umieścić klucz prywatny RSA C1 w narzędziu deszyfrującym i przesłać go użytkownikowi po otrzymaniu płatności. To działanie gwarantuje, że prywatny klucza RSA A1 nie zostanie ujawniony, a narzędzie deszyfrujące zadziała tylko w przypadku jednego użytkownika. Co oznacza, że istnieje wyłącznie jeden prywatny klucz RSA A1 dla większej liczby infekcji. Jeśli klucz zostanie upubliczniony lub zostanie przechwycony przez organy ścigania, może on posłużyć do odszyfrowania plików zaszyfrowanych przez ransomware Spora.  Możemy określać go mianem Master Key.

Strona płatności Spora posiada chat oraz oferuje kilka pakietów deszyfrowania różniących się ceną.

Statystyki dotyczące zaszyfrowanych plików

Spora wprowadza podział na 6 różnych grup plików ze względu na ich rozszerzenie.

Pozycja

Kategoria

Rozszerzenia plików

1

dokumenty Office

.odt, .rtf, .docx, .xlsx, .doc, .xls

2

PDF

.pdf

3

CorelDraw, AutoCAD, Photoshop

.cdr, .dwg, .psd

4

Bazy danych

.accdb, .sqlite, .dbf, .1cd, .mdb, .cd

5

Obrazy

.tiff, .jpeg, .jpg

6

Archiwum

.backup, .7z, .rar, .zip

 

Plik .KEY zapisuje te dane w formie date|user name|locale|cat1|cat2|cat3|cat4|cat5|cat6, na przykład: 13.1.2017|horst|USA|10|2|3|0|103|51

 

Te same dane będą wykorzystywane do nazewnictwa pliku .LTS, .KEY oraz wiadomości z żądaniem okupu. Weźmy pod uwagę następującą trójkę plik .KEY, .LST oraz żądanie okupu.

• RU302-15XRK-GXTFO-GZTET-KTXFF-ORTXA-AYYYY.LST

• RU302-15XRK-GXTFO-GZTET-KTXFF-ORTXA-AYYYY.KEY

• RU302-15XRK-GXTFO-GZTET-KTXFF-ORTXA-AYYYY.HTML

Dwie pierwsze litery nazwy pliku są to ustawienia regionalne – w naszym przykładzie to RU. Kolejne pięć liter to znaki to początek hash MD5 dla zawartości pliku .KEY - 30215. Następnie mamy parametry plików, które musza być dekodowane przy użyciu tabeli poniżej:

0   1   2   3   4   5   6   7   8   9   I      Odstęp

Z   X   R   O  A   H  F  G  E  K   T     Y

Oznacza to, że nazwa pliku RU302-15XRK-GXTFO-GZTET-KTXFF-ORTXA-AYYYY - zawiera wskazanie lokalizacji jako rosyjskie, liczba 30215 rozpoczyna hash MD5, 12971 zaszyfrowanych dokumentów Office, 6370 zaszyfrowanych plików PDF, 8 zaszyfrowanych plików CorelDraw/AutoCAD/Photoshop, 9 zaszyfrowanych plików baz danych, 16632 zaszyfrowanych zdjęć oraz 114 zaszyfrowanych archiwów.

Po przesłaniu pliku .KEY do strony płatności Spora na podstawie ilości zaszyfrowanych plików zostaje ustalona wysokość okupu. Poniższa tabela pokazuje wysokość opłat za deszyfracje plików.

Dokumenty Office

PDF

CorelDraw/AutoCAD/Photoshop

Bazy danych

Zdjęcia

Archiwa

Okup w USD

2284

1550

0

0

1211

89

79-100

489

471

0

4

796

6

79-100

5223

374

206

12

12694

198

90-120

7991

7341

0

2194

8587

782

128-170

11160

9354

24

69

9774

242

146-190

12851

5188

1851

51

331031

1281

199-250

21173

7087

5

149

7069

730

214-270

25146

25829

29598

5463

105943

5818

280-350

138964

95087

218249

846

277541

22449

280-350

11810

7272

15306

10

27651

1471

280-350

30503

2135

40098

37

25271

1580

280-350

26375

20505

12178

3016

31505

2487

280-350

82319

40707

16931

314

38520

3607

280-360

Specyficzne zachowania Spora.

Spora nie potrafi ominąć UAC - czyli kontroli konta użytkownika. Oznacza to, że użytkownik zostanie zapytany czy złośliwe oprogramowanie może dokonać zmian na komputerze ofiary.

Spora usuwa pliki tzw. kopii w tle dzięki którym system ma możliwość powrotu do poprzednich wersji plików (VSS - volume shadow copy services). Taki zabieg uniemożliwia systemowi Windows naprawianie błędów systemu podczas kolejnego uruchomienia.

         

Mechanizm UAC.                                                                                                              Lista zaangażowanych plików

Nazwy plików

Opis

SHA256

Wykryty jako

Скан-копия _ 10 января 2017г. Составлено и подписано главным бухгалтером. Экспорт из 1С.a01e743_рdf.hta

HTA dropper

3fb2e50764dea9266ca8c20681a0e0bf60feaa34a52699cf2cf0c07d96a22553

Script.Trojan-Dropper.Spora.A

close.js

JScript dropper

e2fe74d890ddb516b4f21a6588c6e0bdbf3dd6f8c5116d707d08db7ebddf505a

Script.Trojan-Dropper.Spora.G

81063163ded.exe, a277a133-ecde-c0f5-1591-ab36e22428bb.exe

Spora PE plik, spakowany za pomocą UPX

dbfd24cd70f02ddea6de0a851c1ef0f45f18b4f70e6f3d0f2e2aec0d1b4a2cbf

Win32.Worm.Spora.B

doc_6d518e.docx

Uszkodzony dokument Word

0ba39054a70802d0b59a18b873aab519e418dc9b0c81400d27614c9c085409ad

 

Windows.lnk

skrót złośliwego pliku

 

Win32.Worm.SporaLnk.A

RU302-15XRK-GXTFO-GZTET-KTXFF-ORTXA-AYYYY.HTML

żądanie okupu

   

RU302-15XRK-GXTFO-GZTET-KTXFF-ORTXA-AYYYY.KEY

Zawiera statystki, ID kampanii, nazwę użytkownika, lokalizację, oznaczenie czasu, prywatny RSA klucz C1; zaszyfrowane

   

RU302-15XRK-GXTFO-GZTET-KTXFF-ORTXA-AYYYY.LST

Lista zaszyfrowanych plików

   



 

 

 

 

 

 

Media:

Kontakt

G DATA Software Sp. z o.o.
Warcisława IV 2
78-400 Szczecinek

Telefon: +48 94 37 29 650
E-Mail: sales@remove-this.gdata.pl