njRAT Windows Malware Analyst

Malware analyst case

Apa itu njRAT ?

njRAT (Remote Access Trojan) adalah malware pada umumnya yang biasanya dapat menyerupai file atau aplikasi yang legal, hanya saja malware ini dapat membawa malware lainya seperti ransomeware atau dapat melakukan hak akses kontrol penuh atas targetnya. Proses infeksinya biasanya dikarenakan user mendownload aplikasi pada situs yang mencurigakan seperti situ aplikasi bajakan atau crack. Banyak kemampuan njRAT salah satunya keylogger, anti process, hiden file malware, dan not end process yaitu prosesnya tidak akan berhenti walaupun sudah dihapus file njRAT.

Analisis Malware

Dalam case ini threatlab melakukan analisis pada file software malware yang sudah kami buat dari tools njRAT, sebagai sarana untuk edukasi. Pada langkah pertama kami melakukan pengecekan bahasa pemrograman dan compiler yang digunakan.

Program informasi dan kompiler file malware
Program informasi dan kompiler file malware

Informasi pada Exeinfo PE menunjukan malware njRAT menggunakan bahasa pemrograman C# / Basic.NET / MS Visual Basic 2005 dan .NET compiler. Selanjutnya melakukan analis malware tersebut menggunakan IDA-Pro dan JetBrains Rider.

encryption file malware
enkripsi file malware threatlab.exe

Pada program hasil decompiler diatas terlihat bahwa beberapa data parameter menggunakan enkripsi hexadecimal dengan membatasi setiap hex dengan “$“. Kami melakukan pendataan setiap value parameter dan mendecode setiap enkripsi, mendapatkan beberapa hasil seperti dibawah:

Value ParamterResult
 Environment.GetFolderPath
(Environment.SpecialFolder.Startup) + “\\” + OK.Cc + “.exe”
 \\System32.exe
 “31$39$32$2e$31$36$38$2e$31$39$2e$39” IP remote “192[.]168[.]19[.]9”
 “35$35$35$32” PORT : 5552
 “True”
 “%hid%” HIDEN FILE
 “True”
 “53$79$73$74$65$6d$33$32” “system32”
 “74$68$72$65$61$74$69$6f$63$2e$74$65$73$74” domain IOC : threatioc.test
“68$74$74$70$73$3a$2f$2f$73$74$61$74$69$63$2e$72$
65$70$75$62$6c$69$6b$61$2e$63$6f$2e$69$64$2f$75$
70$6c$6f$61$64$73$2f$69$6d$61$67$65$73$2f$69$6e$
70$69$63$74$75$72$65$5f$73$6c$69$64$65$2f$30$2d$
36$32$32$34$38$33$30$30$2d$31$35$37$30$34$34$38
$30$34$36$2d$68$61$63$6b$65$72$5f$31$32$34$37$34
$31$5f$62$69$67$2d$6a$70$67$2e$6a$70$65$67″
https://static[.]republika[.]co[.]id/
uploads
/images/inpicture_slide/
0-62248300-1570448046-
hacker_124741_big-jpg.jpeg
 “24”
 “%Bt4%”
  public static string r
 “51$75$65$73$74$69$6f$6e” pop-up akan muncul : Question
 “41$62$6f$72$74$52$65$74$72$79$49$67$6e$6f$72$65” Abort Retry Ignore
 “45$72$6f$72$72” alert “Error”
 “53$79$73$74$65$6d$33$32$20$45$72$6f$72$72$20$21” System32 Erorr !
 “%OutreMensagems%”“%OutreMensagems%”;
 Environment.GetFolderPath
(Environment.SpecialFolder.Templates)
 + “\\explorer\\WmiPrvSE.exe”
SpecialFolder +
“\\explorer\\WmiPrvSE.exe”;
  private static long Hdesk
  private static long TaskbarWnd
  private static long StartWnd
  private static long Traynotify
  private static long clockwnd
  private static string StartText
 (OK.kl) null
  public static string kk
 new byte[5121]
 (TcpClient) null
 false
 “54$45$4d$50” temp
 “74$68$72$65$61$74$6c$61$62$2e$65$78$65” threatlab.exe
 new Computer()
  public static FileStream FS
  public static string H
 “53$79$73$74$65$6d$33$32”“System32”
 “53$79$73$74$65$6d”  System
 “5”
 “$”
 “$”
 Conversions.ToBoolean(“True”)
 Conversions.ToBoolean(“False”)
 Conversions.ToBoolean(“False”)
 Conversions.ToBoolean(“False”)
 Conversions.ToBoolean(“True”)
 Conversions.ToBoolean(“True”)
 Conversions.ToBoolean(“True”)
 Conversions.ToBoolean(“True”)
 Conversions.ToBoolean(“True”)
 Conversions.ToBoolean(“False”)
 Conversions.ToBoolean(“False”)
 Conversions.ToBoolean(“False”)
 Conversions.ToBoolean(“False”)
 Conversions.ToBoolean(“True”)
 Conversions.ToBoolean(“False”)
 Conversions.ToBoolean(“False”)
 Conversions.ToBoolean(“False”)
 Conversions.ToBoolean(“False”)
 Conversions.ToBoolean(“False”)
 Conversions.ToBoolean(“True”)
  public static USB USBS
 “”
 new FileInfo(Assembly.GetEntryAssembly().Location)
 new MemoryStream()
 new AntiTaskManager()
 (object) null
  public static string P
 (object) null
 “53$79$73$74$65$6d$33$32” System32
 “Software\\Microsoft\\Windows\\CurrentVersion\\Run” letak registry tujuan
 “SGFjS2Vk” Hacked
 Conversions.ToString
(RuntimeHelpers.GetObjectValue
(RuntimeHelpers.GetObjectValue(OK.RDF())))
 OK.SetBytes((object)
 MyProject.Computer.Info.TotalPhysicalMemory) + OK.Y
 “|-F-|”

Bagaimana dapat menginfeksi ?

njRAT bisanya dapat menginfeksi karena user mendownload file crack atau bajakan, menerima email attachment yang ketika membukanya akan mendownload file malware njRAT, dan mendownload aplikasi atau file dari situs yang mencurigakan. Lalu bagaimana njRAT berkerja?

Add Key Registry

 IDA-Pro flow method ko
IDA-Pro flow method ko.
registry current user value fiel malware
registry value on HKEY_CURRENT_USER

Pada proses infeksi malware akan memasukan value pada registry HKEY_CURRENT_USER dengan value “di dan !“, dan akan melakukan sleep selama 5 detik ketika proses berjalan. Malware juga memasukan beberapa key registry pada Computer\ HKEY_CURRENT_USER\ Software\ Mic-rosoft\ Windows\ CurrentVersion\Run.

Registry key Malware
Registry key Malware

Connection to Remote IP

Koneksi ke remote IP 192[.]168[.]19[.]9 dengan port 5552 akan dibuat dan jika memenuhi kondisi akan mendapatkan status hacked, sesuai dengan gambar dibawah:

Connection to IP Remote Malware
Connection to IP Remote Malware

Autoruns

Malware njRAT akan membuat file autoruns untuk menjalankan file malware secara otomatis ketika perangkat dalam proses startup.

Autoruns malware file
Autoruns malware file

Mengcopy Malware File ke Folder Temporary User

Create new file threatlab.exe to Temp
Create new file threatlab.exe to Temp

Dalam prosesnya file threatlab.exe akan dibuat baru pada folder “\Temp\threatlab.exe” berdasarkan environment yang melakukan interaksi pada file malware, saat kami melakukan analisa menggunakan sysinternal process monitor dengan case windows yang sudah terinfeksi malware njRAT, kami menemukan letak folder yang digunakan malware untuk menyimpan file threatlab.exe yaitu pada “C:\Users\IEUser\AppData\Local\Temp\ threatlab.exe“.

threatlab.exe infection folder file malware
threatlab.exe infection folder

Unblock dan Add Rule

Selanjutnya malware akan mencoba untuk melakukan unblock security warning yang biasanya muncul ketika user membuka software dari hasil download di internet, malware menggunakan “SEE_MASK_NOZONECHECKS” dengan value true “1” agar seolah-olah malware seperti software legal pada umumnya.

Referensi :Handling “Open File – Security Warning”

Unblock and allow program malware from rules firewall
Unblock and allow program from rules firewall

Selain melakukan unblock pada security warning, njRAT juga mampu menambahkan program malwarenya pada firewall dan ketika kami melakukan validasi pada perangkat yang terinfeksi di sysmon log, ditemukanya command yang sesuai seperti pada script malware yang telah terdecompile.

Sysmon log event viewer check malware
Sysmon log event viewer

njRAT secara otomatis akan melakukan command netsh firewall add allowedprogram C:\Users\IEUser\AppData\Local\Temp\ threatlab.exe “threatlab.exe” ENABLE, fungsi netsh biasanya dapat ditemui pada folder C:\Windows\SysWOW64\netsh.exe.

Anti Task Manager

Sebelumnya kami sudah membuat agar malware memiliki fungsi anti taks manager yang mana tidak akan terlihat pada taks manager adanya proses malware yang berjalan.

Malware Anti task manager function
Anti task manager function

Ketika kami mencoba untuk melakukan end task pada malware dan process memang tidak muncul pada task manager tapi masih berjalan, lalu ketika kami menggunakan sysinternal process monitor dalam melakukan pengecekan, kami menemukan process baru yang tercipta dari hasil end task sebelumnya dengan nama file “UOBRQL.exe“.

Malware tersebut memiliki icon menyerupai microsoft edge version old yang terdapat pada folder “C:\Users\IEUser\AppData\Roaming\Windata\ UOBRQL.exe“.

 UOBRQL.exe process file malware
UOBRQL.exe process

Verifikasi Operating System

Malware ini juga akan melakukan pemeriksaan operating system yang terinfeksi apakah windows Vista atau windows 7 untuk melakukan proses mematikan fungsi User Account Control pada “HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ Windows\CurrentVersion\Policies\System” dengan registry key “EnableLUA” dengan value “0“.

IDA-PRO View change Policies  EnableLUA  from mawlare
IDA-PRO View change Policies EnableLUA

Lalu bagaimana dengan pengguna windows 10?, tentunya hal ini tidak akan berfungsi karena program hanya didasarkan untuk windows Vista dan windows 7 dalam merubah Policies EnableLUA.

Hidden File Malware

njRAT juga akan berusaha menyembunyikan file malwarenya agar tidak mudah ditemukan dengan mode view biasa pada folder windows, hanya dengan mengaktifkan view hidden file maka file tersembunyi akan terlihat.

Hidden file malware threatlab.exe
Hidden file malware threatlab.exe

Tidak hanya malware file threatlab.exe yang dihidden, file svchost.exe untuk menjalankan service threatlab.exe yang ada pada file melt.txt milik malware juga disembunyikan pada folder “C:\Users\nameuser perangkat\AppData\Roaming\Microsoft\ svchost.exe“.

 hidden file svchost.exe  malware
Hidden file svchost.exe

Sedangkan pada melt.txt sendiri berada pada folder yang sama dengan folder file malware yaitu “C:\Users\nameuser perangkat\AppData\Local\Temp\melt.txt” yang berisi dimana letak file threatlab.exe.

File malware melt.txt
File melt.txt

Clean USB

Ketika perangkat terinfeksi secara otomatis file malware akan menditeksi, apakah adanya perangkat Removable seperti USB yang terhubung dengan perangkat terinfeksi. Jika ditemukan malware akan menghapus file yang ada dan jika tidak ada file didalam USB tapi ditemukan file dengan format “.lnk” maka akan dihapus juga.

Malware USB check and delete
USB check and delete

Anti Process

Anti process pada file malware berguna untuk mengindari pengecekan pada process monitor yang akan hilang setiap 5 detik secara terus menerus.

Anti process malware
Anti process malware

Tasks Scheduled

Malware tidak akan mudah untuk dihentikan process aktivitasnya dikarenakan malware sudah membuat tasks scheduled agar selalu running dengan time interval yang sudah di setting sendiri oleh malware pada windows “schtasks“.

Malware tasks scheduled
Malware tasks scheduled

API Malware

Malware biasanya akan memanfaatkan API windows untuk menjalankan beberapa fungsinya seperti Anti Task Manager, keylogger, dan lain lain. List API yang digunakan njRAT dapat dilihat pada table dibawah:

APIMethod
 user32.dllGetWindowThreadProcessId
GetKeyboardLayout
GetForegroundWindow
GetAsyncKeyState
FindWindow
EnableWindow
GetClassNameA
GetKeyboardState
ToUnicodeEx
MapVirtualKey
GetForegroundWindow
GetWindowTextA
GetWindowTextLengthA
GetForegroundWindow
 GetWindowText
GetWindowTextLength
GetWindowThreadProcessId
avicap32.dllcapGetDriverDescriptionA
NTdll.dllSetCurrentProcessIsCritical

Mitigation

  • Download sysinternal process monitor dan autoruns.
  • Hentikan proses berjalan malware dengan Kill Process Tree .
  • Hapus file malware asli yang didapatkan.
  • Aktifkan View Hidden File di windows folder.
  • Hapus file malware lainya pada direktori C:\Users\username your computer\AppData\Local\Temp\ threatlab.exe.
  • Hapus file semua file pada folder temporary C:\Users\IEUser\AppData\Local\Temp\.
  • Hapus file service svchost.exe pada folder C:\Users\username komputer Anda\AppData\Roaming\Microsoft\ svchost.exe.
  • Hapus file malware antiprocess pada folder C:\Users\IEUser\AppData\Roaming\Windata\ UOBRQL.exe.
  • Jika pada process monitor masih terlihar processnya lakukan Kill Process Tree.
  • Hapus key registry “di dan !”malware di Computer\HKEY_CURRENT_USER.
  • Hapus key registry ” SGKMJR dan C:\Users\IEUser\AppData\Roaming\Windata\ UOBRQL.exe “malware di Computer\HKEY_CURRENT_USER\Software\ Microsoft\ Windows\CurrentVersion\Run
  • Hapus tasks scheduled malware dengan perintah “schtasks /delete /tn SGKMJR.exe“.
  • Hapus file autoruns di folder ” C:\Users\IEUser\AppData\Roaming\ Microsoft\Windows\Start Menu\Programs\Startup\SGKMJR.lnk“.
  • Hapus allow program file malware di firewall “netsh firewall delete allowedprogram “C:\Users\IEUser\AppData\ Local\Temp\threatlab.exe” “.
  • Hapus file yang dapat dihapus pada folder temporary di windows seperti “C:\Windows\Temp“.
  • Hindari mendownload software bajakan atau crack dan Hindari mendownload file atau software pada domain yang tidak dipercaya.
  • Melakukan scanning antivirus untuk memastikan perangkat sudah bersih dari malware.
  • Pastikan antivirus aktif dan terupdate.
  • Pastikan antivirus berjalan dengan normal.

2 thoughts on “njRAT Windows Malware Analyst

Leave a Reply

%d bloggers like this: