10. červenec, 2012 | Blog

Win32/Gataka: Instalace a architektura

Vývoj bankovního trojanu Win32/Gataka sledujeme již několik měsíců a v následujících řádcích si podrobněji popíšeme jeho činnost, tj. podvodné bankovní převody. Win32/Gataka se architekturou podobá jinému trojskému koni SpyEye. Oba pro rozšíření svých funkcí používají pluginy, které se stahují přímo z řídícího serveru (Command&Control). 

Instalace 

Po spuštění škodlivého kódu dojde nejprve k nakažení procesu explorer.exe. Gataka postupně nakazí všechny běžící procesy a naváže se na následující API (Application Programming Interface):

  • CreateProcess
  • CreateProcessAsUser

Před smazáním uloží dropper svou kopii do složky Data Aplikací a pro zvýšení odolnosti zapíše hodnotu, odkazující na spustitelný soubor do registračního klíče:

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run] 

 

Škodlivý kód potom zašifruje spustitelné soubory pomocí XOR klíče a uloží je opět do složky Data Aplikací. Cesta k tomuto šifrovanému souboru je jištěna klíčem v registru, který je také zašifrován XOR klíčem.

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\StartPage\ReserveProgram

Po dokončení instalace se Gataka pokusí, prostřednictvím iexplore.exe kontaktovat řídící server. Pokud je kontakt úspěšný, začne Gataka odesílat získané informace či stahovat potřebné pluginy či jejich aktualizace.

Architektura

Jak jsme již uvedli, Win32/Gataka, prostřednictvím pluginů rozšiřuje své funkce. Ty jsou pro činnost Gataky velice důležité, protože bez nich trojan je v podstatě bezzubý a bot-masterovi moc možností nenabízí. Veškeré pluginy jsou dostupné ke stažení přímo na řídícím serveru, mají unikátní ID a číslo verze. Při každém kontaktu se serverem odesílá Gataka informace o nainstalovaných pluginech a jejich verzích. Pokud existuje vyšší nebo nová verze pluginu, dojde ke stažení a instalaci. Současně s pluginy dochází k pravidelné aktualizaci hlavní komponenty, které mají za cíl vyhnout se detekci antivirovými programy.

Tabulka níže obsahuje informace o pluginech, které se nám podařilo shromáždit během sledovaného období. 

Název

ID

Verze

Kompilace

Popis

HermesCore

0×1

0×501

29.2.2012 10:51:11 

Hlavní plugin, který jako jediný obsahuje dropper. Stará se o komunikaci s C&C serverem a stahování dalších pluginů. Umí také spustit libovolný spustitelný soubor z C&C serveru. 

0×801

18.4.2012 12:22:31 

0×901

23.5.2012 11:32:30

0xA01

25.5.2012 09:43:43

Interceptor

0×2

0xf01

1.3.2012 04:37:52

 

 

 

Zachytává síťovou komunikaci tím, že se naváže na následující API:

  • Connect
  • Getpeername
  • Closesocket

Plugin vytváří proxy server, který kontroluje veškerou příchozí i odchozí komunikaci. V případě https komunikace používá falešné certifikáty.

0×1201

20.3.2012 02:26:09

NextGenFixer

0×4

0×103

8.2.2012 02:55:16

Přidává filtr pro konkrétní URL. Spolupracuje s pluginem Interceptor pro kontrolu síťové komunikace.

0×403

19.4.2012 02:37:50

WebInject

0×6

0×803

7.3.2012 06:12:04

AMá schopnost umístit JavaScript do kódu navštěvovaných stránek. Škodlivé skripty jsou odesílány ze serveru a Gataka jej ukládá do své databáze. Plugin je dále schopen nahrát video soubor při návštěvě konkrétních stránek. Spolupracuje s pluginem NexGenFixer.

0xc03

16.4.2012 03:25:29

HttpTrafficLogger

0×7

0×103

18.2.2012 08:29:57

Do protokolu zapisuje podrobnosti o http komunikaci při návštěvě určitých internetových stránek. Využívá plugin NextGenFixer pro přidání URL filtru pro konkrétní webové stránky. 

0×603

21.4.2012 05:55:52

SocksTunnel

0×9

0×103

6.2.2012 02:37:07

Vytváří server pro anonymní prohlížení internetu.

0×303

13.3.2012 08:31:54

TrafficGrabber

0xf

0×404

16.4.2012 09:05:43

Pokud je aktivní, pak sleduje veškerý provoz na počítači.

CoreDb

0×19

0×103

14.2.2012 10:55:21

Šifruje interní konfiguraci pomocí 3DES. Databáze se ukládá do složky Data Aplikací.

Následující obrázek zobrazuje vztahy mezi jednotlivými pluginy.

Po stažení pluginů dojde k jejich zašifrování a uložení do Temp složky.