Analiza – BalkanDoor i BalkanRAT

Analiza – BalkanDoor

BalkanDoor je jednostavan backdoor sa malim brojem komandi (preuzima i izvršava fajl, kreira remote shell, pravi screenshot). Može se iskoristiti da automatizuje task na kompromitovanom računaru ili da automatski kontroliše nekoliko pogođenih računara odjednom. Videli smo da postoji šest verzija ovog backdoor-a, koji se klasifikuju prema komandama koje podržavaju, i evoluiraju od 2016-e.

Inicijalni dropper otpakuje sve komponente, otvara PDF mamac (u nekim slučajevima) i pokreće izvršnu instalacionu skriptu koja osigurava perzistenciju backdoor-a.

Backdoor se registruje kao servis, sa imenom koje izgleda legitimno (npr. WindowsSvc, WindowsPrnt, WindowsConn ili WindowsErr); prateća izvršna skripta obezbeđuje postojanost koristeći Registry Run ključeve ili Startup folder.

Nakon instalacije backdoor-a, računar se povezuje sa C&C centrom, identifikuje se i traži komande. Može se povezati na bilo koji od hardcode-ovanih C&C-a, a povezivanje se vrši preko HTTP ili HTTPS protokola.

Ako je konekcija neuspešna, backdoor ima sposobnost da koristi korisnički proxy i ponovi pokušaj povezivanja.

Backdoor komande dolaze u formatu INI fajla, sa atributima koji određuju komande, parametre komandi i navedene primaoce. Navođenje liste primaoca omogućava napadaču da šalje komande na nekoliko kompromitovanih računara istovremeno.

Tabela 1. BalkanDoor komande

Commands Functionality
cn Specifies computer name(s) of the intended recipients of the commands
du, int Download and execute a file
du, ra, de, rpo Download and execute a file, in the specified context and on a specified desktop
rip Create a remote shell accessible from the specified IP address
scr_int, scr_dur Capture a series of screenshots of the specified duration

Dalje, backdoor se može izvršiti u nekoliko režima, koji su određeni argumentima sa kojima se izvršava u komandnoj liniji. Ovi režimi rada mogu služiti kao backdoor komande (kada se izvršava iz remote shell-a).

Tabela 2. BalkanDoor režimi

Argument Functionality
/unlock Unlocks the screen
/rcmd Creates a remote shell and redirects its input/output to the specified IP address
/takescr Captures a series of screenshots, duration determined by other arguments
/run Executes the specified command using cmd(.)exe
/runx Executes the specified command using cmd(.)exe, on the active (input) desktop
/inst Installs itself as a service and starts the main procedure (see /nosvc)
/start Starts the associated service, which starts the main procedure (see /nosvc)
/nosvc Main payload, communicates with C&C and interprets backdoor commands

Među BalkanDoor mogućnostima, najprimetnija je otključavanje ekrana bez lozinke.

Ova mogućnost pomaže napadačima u situacijama kada logovani korinik zaključa računar. "Lock Screen" je samo još jedan Desktop za sistem, pa bilo koji malver sa potrebnim privilegijama može da se prebaci na pravi desktop uz pomoć komande. Lozinka nije potrebna za ovu operaciju.

Slika 1. Kod odgovoran za otključavanje računara kada se backdoor izvrši udaljeno sa “/unlock” argumentom:


Analiza – BalkanRAT

BalkanRAT (Remote Access Tool) deo malicioznog Balkan toolset-a je komplikovaniji u poređenju sa svojim backdoor saučesnikom. Njegov cilj je da postavi kopiju Remote Utilities softvera, koji je komercijalni softver (proizvođač je ruski vendor Remote Utilities, LLC) i koristi se za udaljeni pristup računarima ili za udaljenu administraciju. BalkanRat takođe obezbeđuje napadaču kredencijale potrebne za udaljeni pristup.

BlakanRAT ima nekoliko dodatnih komponenti koje omogućavaju učitavanje, instalaciju i prikrivanje postojanja RDS (Remote Desktop Services) softvera. Oni mogu dodati exception na firewall, sakriti RDS prozor i tray ikonicu, i sakriti pojavu odgovarajućeg procesa u task manager-u.

Slika 2. Komponente koje se koriste u kampanji da moguće upotrebu i sakriju prisustvo RDS softvera

  1. Dropper prvo otpakuje sve komponente; konfiguracioni fajl, remote desktop softver i core komponentu koja ga instalira, userland rootkit, GUI hider i PDF fajl koji služi kao mamac.
  2. Dropper otvara PDF fajl tako da ne izazove sumnju kod korisnika.
  3. Oprezno, dropper pokreće core komponentu (32-bit) u instalacionom režimu.
  4. Core komponenta (32-bit) se instalira tako da bude pokrenuta pri svakom sledećem startu, i dodaje exception u firewall za RDS. Izvršavaju se komande inst1 i inst2 navedene u konfiguracionom fajlu, i pokreće se ponovo, ovog puta u stealth modu.
  5. U ovom režimu, core komponenta se ponaša kao keylogger.
  6. Core komponenta (32-bit) pokreće svoju 64-bitnu verziju, u injection modu (ako je moguće).
  7. Core komponenta (64-bit) ubacuje userland rootkit (64-bit) u task manager procese. Userland rootkit onda sakriva prisustvo malicioznih procesa u task manager-u.
  8. Core komponenta (32-bit) pokreće RDS. Više puta nadgleda i sakriva RDS prozor.
  9. Core komponenta (32-bit) umeće userland rootkit (32-bit) u task manager procese. Userland rootkit onda sakriva prisustvo malicioznih procesa u task manager-u.
  10. Core komponenta (32-bit) izvršava komande cmd1 and cmd2, kao što je navedeno u konfiguracionom fajlu. Jedna od tih komandi pokreće GUI hider, koji je AutoHotKey skripta za sakrivanje RDS tray ikonice.

Konfiguracioni fajl za BalkanRAT je u INI fajl formatu (slično kao BalkanDoor, koji koristi ovaj format za backdoor komande) sa jednom navedenom sekcijom [CFG]. INI fajl se koristi od strane core komponente malvera i userland rootkit-a.

Tabela 3. BalkanRAT komande

Commands Functionality
inst1, inst2 Commands executed by the core component during installation
cmd1, cmd2 Command executed by the core component main payload
hproc List of processes that should be hidden by userland rootkit
mproc List of processes where userland rootkit is injected

Slika 3. BalkanRAT konfiguracioni fajl – atributi (gore) i primer (ispod)

BalkanRAT core je višenamenska komponenta (postoje 32-bitne i 64-bitne verzije); može se pokrenuti u više režima, koji su određeni argumentima u komandnoj liniji. Najznačajnije, koristi se za instalaciju BalkanRAT-a, pokretanje userland rootkit-a i dodavanje exception-a (za RDS komponentu) u firewall.

Tabela 4. BalkanRAT core komponenta – podržane funkcionalnosti

Argument Functionality
/rhc Executes a batch file
/fwl Adds exception to the firewall for the specified program
/sreg Sets configuration data for the RDS in the registry (especially email address where the credentials should be sent)
/inst Ensures persistence by adding itself to the [HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows] registry key under the “load” entry. Adds exception for the RDS to the local firewall. Executes itself again in the main mode (no arguments).
/inj Injects the userland rootkit library into processes, as specified in the configuration file
(none) Main mode. Executes the 64-bit version of itself (if applicable), injects the userland rootkit, executes the RDS and hides the window by changing its coordinates to values outside the screen. Another thread captures pressed keystrokes.

Glavni deo BalkanRAT malvera je kopiranje Remote Utilities softvera za udaljeni pristup. Umesto da koristi oficijelnu verziju, BalkanRAT postavlja kopiju potpisanu sa sertifikatom od napadača.

Klijentska strana RDS softvera koja je pokrenuta na žrtvinom računaru mora znati jedinstveni ID i lozinku, koji su generisani od strane RDS servera, da bi se povezali sa njim. BalkanRAT RDS je konfigurisan na način da je lozinka ista za sve korisnike, a generisani jedinstveni ID se šalje na napadačevu email adresu od strane samog alata.

Kako se za komunikaciju pri ovoj upotrebi Remote Utilites alata, BalkanRAT oslanja na njihovu pravu infrastrukturu (rutils.com, server.rutils.com), korisniku i sigurnosnim proizvodima komunikacija može izgledati potpuno legitimno.

Kao rezultat, napadač dolazi u posed kredencijala da pristupi kompromitovanom računaru preko Remote utilities softvera. Koristeći ovaj alat, oni mogu da rade prenos prikaza ekrana kako bi posmatrali aktivnosti korisnika i ručno preuzeli kontrolu nad kompromitovanim računarom.

Slika 4. Prozor koji žrtva nikada ne uspe da vidi. Sa legitimnom kopijom Remote Utilities alata, ovaj prozor je vidljiv; međutim, BalkanRAT će ga sakriti koristeći GUI hider feature.

Da bi ostao nevidljiv, BalkanRAT koristi GUI hider osobinu. U većini uzoraka, ona je implementirana kao AutohotKey skripta, kompajlirana u izvršni fajl tako da se može pokrenuti čak i ako AutoHotKey nije instaliran na računaru. Svrha ove skripte je da sakrije tray ikonicu RDS klijenta.

Slika 5. AutoHotKey skripta ubačena u deo sa resursima od izvršnog fajla

Još jedna primetna osobina BalkanRAT-a je da može da sakrije procese od korisnika kako bi ostao neotkriven.

Da postigne ovo, userland rootkit biblioteke programa su ubačene u procese koji su hardcode-ovani u konfiguracioni fajl. Userland rootkit vezuje NtQuerySystemInformation funkciju za proces u koji je ubrizgan. U slučaju da je poslat upit za SystemProcessInformation, on filtrira sve procese sa imenima naznačenim u konfiguracionom fajlu. Kao rezultat, uobičajeni task manager program neće prikazati koje napadač želi da sakrije od korisnika.

Slika 6. Sa ubačenim userlan rootkit-om, neki procesi nedostaju na listi (levo). Bez rootkit-a, procesi su vidljivi (desno)

Naravno, lista procesa koji će biti sakriveni većinom pripada BalkanRAT-u. Ipak, takođe nalazimo neka imena kao "weather.exe" ili "preserve.exe" na listi – ona pripadajau BalkanDoor backdoor-u. Ovo potvrđuje uverenja da su ova dva alata zaista korišćeni zajedno.


Zaključak

I BalkanRAT i BalkanDoor imaju neke interesantne trikove i svaki od njih zasebno predstavlja značajnu opasnost za žrtve. Ako se koriste zajedno kao set alata, oni čine još moćnije oružje – pogotovo zato što otkrivena kampanja cilja knjigovodstva i finansije, funkcije koje su kritične za svaku organizaciju.

Kampanja cilja Balkan i pokazuje neke sličnosti sa kampanjom usmerenom ka Ukrajinskim notarima (iz 2016-e). U tom slučaju, cilj napadača je bio da zauzmu računar od notara, i upute neke nelegalne operacije u njegovo ime.

Da bi ostali bezbedni, biznis korisnici i njihovi zaposleni treba da prate osnovna cybersecurity pravila: da budu oprezni sa email-ovima i pre klika pregledaju priloge i linkove; da drže softver ažuriran i da koriste proverena security rešenja.


Indicators of Compromise (IoCs)

ESET detection names

Win32/BalkanDoor.A
Win32/BalkanDoor.B
Win32/BalkanRAT.A
Win32/BalkanRAT.B
Win64/BalkanRAT.A
Win64/BalkanRAT.B

SHA-1

BalkanDoor – executable files

02225C58A0800A8FFFE82F7614695FDEEB75C8B3
3E8AF08F2C64D9D305A129FDEA6B24ED3D8D9484
400FF3FD5BEF94DCBEAE24B5B8A6632DCD1D22A6
576EF0057982DE87CA029C736706E840031A27F4
5CC4F248595268A0C9988DAEE3F0F8F9F5AC0A7F
60EB2A19EC63FF36D13F472EC0E6A594C2778CE6
7AA3D6EA4736C3BF627DB1837B9C8D2B29D7AB8D
AC5383306459CE8CD19BFF412875F093B40427C6

BalkanRAT – executable and auxiliary files

006B8EF615550BA731A30FA83B0E03CD16D2A92D
030DC8C3832F664FA10EFA3105DFF0A9B6D48911
032884A46430039ED4E38518AA20742B79AB2678
09D18CD045285A753BCF4F42C6F10AF76913546A
0F7A95C89911E3DE9205FF6AA03E1A4FCE6BC551
13D8664B438DA278CEB9C8593AE85023432054CD
17EA62EBC5F86997FD7E303FBBFF3E343DA38FCC
1C03ED1ADF4B4E786EFC00F3D892217FAAAFB268
15EC88015FB554302DB131258C8C11C9E46209D4
21DE3EB6F39DF4DBBF2D1FE4B6467AAE3D9FBEBD
21EE61874F299661AECC5453F4D6D0EC5380DAD0
270F1FA36365273F14D89EE852D8A438A594CD05
30BA2213BE4355D619E20DA733F27F59DA7B937E
3170B45FB642301687A3A320282099B9D7B7F0F2
38E7FCD6038E688DEC9F1AF9D2D222B9BBC03A8C
3927B48D315F6712D33166A3B278B7835E76A6A9
3C1FF7BBE8BC2BE9E5531FFAD25B18F03C51CF6B
421F52733D334BE32C899670426C06CB72D92CDE
46E4B456729CF659527D2697BD8518E67B5A0056
4F8BA64DA7EA16A7CE5AA2C83BBFCE1C8646E424
500A447A187240706C059C16366FEDF1AA13EA77
555844CA5CD40DFC27778C2D3B6AFA43D1B76685
5A3201048D8D9D696102A3C3B98DA99C2CC4FF1F
64E3A46BF393936A79478C891654C1070CEC42D1
685314454A7D7987B38ADD2EDDBAC3DB9E78464F
6C83ABE56219CA656B71AA8C109E0955061DA536
6E27F7C61230452555B52B39AB9F51D42C725BED
6EF16FAA19FC4CEF66C4C1B66E58FB9CFFD8098E
72DB8CCC962E2D2C15AC30E98F7382E3ACDEDDA8
730E20EE7228080A7F90A238D9E65D55EDD84301
73E0A62F1AAAB3457D895B4B1E6E2119B8B8D167
7BA4D127C6CD6B5392870F0272C7045C9932DB17
7BF564891089377809D3F0C2C9E25FD087F5F42B
8852647B1C1A2EFA4F25FEA393D773F9FF94D6FA
8D9A804B1433A05216CFE1D4E61CE5EB092A3505
8F85738534158DB9C600A29B9DED8AC85C3DE8C1
963CF321740C4EF606FEC65FCE85FB3A9A6223AC
97926E2A7514D4078CF51EAC069A014309E607F1
9EA0C6A17EE4EB23371688972B7F4E6D4D53F3C8
9F2C6A44453E882098B17B66DE70C430C64C3B26
A1DEA762DD4329E77FE59526D4ABC0E15DE2BBBC
A56A299A8EEF9F4FF082184F66FAD1B76C7CACB8
A5ACE8F90C33CBDB12D398C0F227EC48F99551BF
AA4AD783DFE3CC6B0B9612814ED9418253203C50
AB311B53591C6625335B9B791676A44538B48821
AEDF43347AF24D266EC5D471723F4B30B4ACC0D0
B18222E93D25649BC1B67FAB4F9BF2B4C59D9A1A
B8F67BB5682B26ACD5969D9C6AC7B45FE07E79E1
BAD38D474D5CAAAC27082E6F727CAE269F64CF3C
BEEF0EE9397B01855C6DAA2BFF8002DB4899B121
BFE3F5CEC25181F1B6852E145013E548B920651E
C268CAB6D8EC267EEE463672809FAAEE99C2F446
C2F9FFDF518DA9E037F76902746DE89C2E2821E8
C3813734D3BFC07E339C05417055A1A106E2FBBD
C8CBBC175451A097E605E448F94C89D3E050ACD5
C90756A3C6F6DC34E12BABF5F26543510AACE704
C90B5471BBA3293C0A0E6829A81FBE2EB10B42B2
CD1BC431F53E9CFF8204279CDF274838DE8EBB61
CD82D898A3CEA623179456D9AE5FAD1FB5DA01A0
CDBB74CA0960F2E8631D49ACABF2CEA878AE35B8
CE7092FF909E9380CC647C3350AA3067E40C36A9
CEA70DB7FB8E851EF0D6A257A41C9CEE904345B5
CF7A8AFAC141E162A0204A49BAD0A49C259B5A45
DEEA26F5AF918CEC406B4F12184F0CAB2755B602
DFDFCC61770425A8D1520550C028D1DF2861E53F
E0007A2E0E9AE47DD028029C402D7D0A08EBBC25
E00C309E3FE09248B8AFCFF29FC1A79445C913DA
E95C651C539EAF73E142D1867A1A96098A5E219F
ECEEE01F4E8051F544062AE37D76A3DF2921DF82
F06CB000F9A25DDE791C7E5BC30917C74A8F2876
F26C663D5F6F534543A7C42B02254C98BB4EC0D5
F3BC2F436693B61FED7FA7DDF8BC7F27618F24F3
F6030AE46DC2CEF9C68DA1844F7DCEA4F25A90A3
FA19E71F9A836EA832B5D738D833C721D776781A
FFE23D510A24DB27C1C171D2BAF1FBEB18899039

Remote Utilities (otherwise legitimate releases signed by attackers’ certificates)

038ECEB80597DE438D8194F8F57245EB0239FF4B
2A1BB4BB455D3238A01E121165603A9B58B4D09D
34CE3FBEE3C487F4F467B9E8EB36844BB5ACB465
3B88D4047FA2B8F8FA6241320D81508EB676EA7A
400438EB302886FD064274188647E6653E455EED
42F70DAA8C75E97551935D2370142C8904F5A20D
446D3FBAE9889FE59AFAD02C6FB71D8838C3FC67
4D46FB773C02A9FF98E998DA4F0777FB5D9F796B
510C93D3DC620B17500C10369585F4AF7CF3CE0D
6A5CA3B9EE0A048F0AEE1E99CBF3943D84F597FF
6D53E7B5099CE11ACA176519620E8064D4FF9AD0
7CEC39AC6A436577E02E7E8FE8226A00E58564CB
8888014C16732CD5136A8315127BA50BB8BB94ED
A5A05BA6E24226F1BC575CBC12B9FC59F6039312
B77CFFF0E359946029120DD642505BC0A9713ECC
BC6F31D5EBC71FF83BACC0B4471FDEFC206B28D0
BE8A582360FB16A4B515CD633227D6A002D142FA
C6E62A113E95705F9B612CDBF49DAC6BAD2073BD
D8D27C742DA87292EF19A197594193C2C5E5F845
DBE0E084B2A8CE4711C3DF4E62E8062234BF6D3B
E56189FE86C9537C28099518D4F4EA2E42EF9EEE
E918192D2B5C565A9B2756A1D01070C6608F361C

Scripts

0BD6C70B7E2320F42F0CFC2A79E161614C7C4F66
7A41B912A3F99370DF4CD3791C91467E23B2AA82
A15AB505B79B88A9E868C95CE544942403C58CB6
A8A5980DE35FBF580497B43EF7E8499E004F9F38
B248E43BAB127D8E1E466821B96B7B7ECF37CB78

Configuration files

28F152154F6E6074EA0DE34214102119C8589583
37A2A15C52CAA7D63AF86778C2DD1D2D81D4A270
B4A847D7AAC4164CF90EA585E4842CBF938B26CF

Decoy PDF files

1E0C4A5F0FF2E835D12C3B6571AE6000E81A014B
8722441FF3678D154C89E312DB1A54951DD21C3F
88C3FDA42768C5B465FD680591639F2CDC933283
9F48E109675CDB0A53400358C27853DB48FCD156
C9B592BD7B69995C75CD5B1E4261B229C27FB479

Misused certificates

Name Email Valid from Valid to SHA1 Thumbprint Status at the time of writing
AMO-K Limited Liability Company llc.amo-k@list.ru 2015/07/30 2016/07/28 4E36C4D10F1E3D820058E4D451C4A7B77856BDB3 Expired
Valmpak, TOV tov-valpak@mail.ru 2016/04/10 2017/04/01 17D50E2DBBAF5F8F60BFFE1B90F4DD52FDB44A09 Revoked
Valmpak, TOV - 2016/08/22 2017/11/04 4A362020F1AFD3BD0C67F12F55A5754D2E70338C Revoked
3D PEOPLE LIMITED - 2017/11/05 2018/11/06 936EDFB338D458FBACB25FE557F26AA3E101506E Expired
ADUNIK LTD - 2017/10/11 2018/10/12 E7DF448539D1E2671DCF787CF368AAC2ED8F569 Expired
SLOW BEER LTD administrator@slowbeerltd.info 2019/01/25 2019/12/18 2359D644E48759F43993D34885167FECAFD40022 Revoked

File names

BalkanDoor

Dropper: Zakon.exe
Backdoors: weather.exe, winmihc.exe, Preserve.exe, PreservS.exe, WindowsConnect.exe
Scripts: weather.cmd, winmihc4.cmd, mihcupdate.cmd
Decoy PDF file: Zakon.pdf

BalkanRAT

Droppers: ZPDGI.exe, ZPDGV.exe, ZPDGE.exe, ZPDGO.exe, ZPDGU.exe, ZPDGA.exe, Ponovljeni-Stav.exe, AUG_1031.exe, MIP1023.exe
Configuration file: stg.cfg
Decoy PDF files: ZPDG.pdf, Ponovljeni-Stav.pdf, AUG_1031.pdf, MIP1023.pdf
Core component: winchk32.exe, wininit.exe, hide.exe, winchk64.exe
RDS: rutserv.exe, rfusclient.exe
Userland rootkit: winmmon.dll, winmmon64.dll
GUI hider components: serk.bat, serk.exe

Folder names

%WINDIR%\1B20F6AA-6CAD-45A7-81CB-120FB86FECD8
%WINDIR%\29D451CF-3548-4486-8465-A23029B8F6FA
%WINDIR%\B1EDD68E-6AD8-4A7E-91A1-3C30903B8DD4
%APPDATA%\1B20F6AA-6CAD-45A7-81CB-120FB86FECD8
%APPDATA%\29D451CF-3548-4486-8465-A23029B8F6FA
%APPDATA%\B1EDD68E-6AD8-4A7E-91A1-3C30903B8DD4

C&C servers

http://bestfriendsroot[.]com/smart.php
http://bestfriendsroot[.]com/weather.php
http://bestfriendsroot[.]com/zagreb.php
http://consaltingsolutionshere[.]com/smart.php
http://consaltingsolutionshere[.]com/weather.php
http://consaltingsolutionshere[.]com/zagreb.php
http://dogvipcare[.]net/kversion.php
http://hvar.dogvipcare[.]net/dekol.php
http://kimdotcomfriends[.]com/smart.php
http://kimdotcomfriends[.]com/weather.php
http://kimdotcomfriends[.]com/zagreb.php
http://limosinevipsalon[.]com/kversion.php
http://luxembourgprotections[.]com/kversion.php
http://malmevipbikes[.]se/kversion.php
http://split.malmevipbikes[.]se/dekol.php
http://zagreb.porezna-uprava[.]com/dekol.php

Email addresses used to exfiltrate Remote Utilities credentials

b.klokov@inbox.ru
galkin.valentin.83@bk.ru
gligorijmaskov@mail.ru
ivan.aslanov@newmail.ru
ivan.tatarov@qip.ru
melikov.viktor@yandex.ru
mr.aleksandrandreev@mail.ru
test@bbportal.info
tgerik@list.ru
vladzlobin@list.ru

Izvor: WeLiveSecurity