Pengoperasian TA505, Bagian Dua: Mempelajari Backdoor ServHelper dengan RAT Netupport



Pada akhir Juli 2019, kami menemukan sampel malware TA505 yang menarik . Pada 22 Juli 2019, itu diunggah ke ANY.RUN untuk analisis dinamis. Perhatian kami tertuju pada fakta bahwa di antara tag yang terbuka, selain yang biasa untuk TA505 Servhelper, tag netsupport juga muncul, dan di antara kebakaran tanda tangan jaringan, nama yang sama dengan NetSupport RAT diidentifikasi.



Fig. 1. Tanggal pengunduhan untuk perangkat lunak perusak dan tag yang diatur dalam penganalisa online ANY.RUN



Fig. 2. Network Signature Triggering pada NetSupport RAT di ANY.RUN Sandbox

Pada pandangan pertama, ini mungkin tampak aneh: setelah semua, pintu belakang kelompok ServHelper itu sendiri memiliki fungsi yang mengesankan untuk mengendalikan PC korban. Saatnya untuk mempertimbangkan pekerjaan malware secara terperinci.

NSIS dan PowerShell dropper


File PE yang dapat dieksekusi dari mana analisis kami dimulai adalah installer yang didasarkan pada platform Nullsoft Scriptable Install System (NSIS). Skrip NSIS yang melakukan proses instalasi mengekstrak dan menjalankan skrip PowerShell yang tersemat:



Fig. 3. Instruksi skrip NSIS

Skrip PowerShell yang diluncurkan berisi buffer yang disandikan Base64 (terpotong pada gambar di bawah ini untuk kejelasan), yang setelah decoding didekripsi oleh Triple DES (3DES) dalam mode CBC:



Fig. 4. Dekripsi data dalam skrip PowerShell

Bagian pertama dari skrip adalah fungsi dengan heller nama yang berbicara dan bertanggung jawab untuk meningkatkan hak istimewa dalam sistem dan melewati perlindungan UAC. Dua teknik digunakan untuk ini:

Teknik No. 1: menggunakan tugas SilentCleanup di penjadwal tugas:

  • Tugas dapat diluncurkan oleh pengguna, tetapi bekerja dengan hak istimewa yang tinggi. Properti tugas berisi path ke file yang dapat dieksekusi menggunakan variabel% windir% environment. Anda dapat mengubah nilai variabel lingkungan (misalnya, tentukan peluncuran skrip PowerShell), kemudian meluncurkan tugas akan mengarah pada pelaksanaan skrip PowerShell dengan hak administrator tanpa peringatan UAC.
  • Penyerang menggunakan teknik ini pada sistem Windows 8 dan Windows 10.
  • Kode yang mengeksekusi teknik ini identik dengan implementasi modul untuk kerangka kerja Metasploit.



Fig. 5. Bagian dari skrip dengan teknik mem-bypass tugas SilentCleanup

Teknik No. 2: menggunakan utilitas sistem sysprep.exe dan teknik DLL Side-Loading

  • Pertama, skrip pembantu dibuat untuk memulai kembali skrip PowerShell di direktori C: \ Windows \ Temp. Kemudian arsip CAB terbentuk , yang berisi perpustakaan DLL tambahan CRYPTBASE.dll (skrip PowerShell berisi versi x86 dan x64 perpustakaan). Menggunakan utilitas sistem wusa.exe, arsip ini dibuka ke direktori C: \ Windows \ System32 \ Sysprep. Kemudian, utilitas sistem sysprep.exe diluncurkan, yang akan memuat pustaka DLL yang sebelumnya dibongkar, dan, pada gilirannya, akan menjalankan skrip bantu. Akibatnya, skrip PowerShell akan dimulai kembali dengan hak administrator tanpa peringatan UAC.
  • Penyerang menggunakan teknik ini pada sistem Windows 7.
  • Deskripsi terperinci dapat ditemukan di artikel ini , dan contoh implementasi, misalnya, dalam proyek ini di Github.



Fig. 6. Bagian skrip dengan teknik memotong utilitas sysprep.exe

Ada banyak komentar dalam skrip, fungsi Administrator-Tes yang tidak digunakan, beberapa variabel digunakan tanpa inisialisasi: semua ini adalah tanda-tanda kode pinjaman tanpa hati-hati memeriksa singkatnya.

Setelah menjalankan skrip dengan hak istimewa yang diperlukan, bagian kedua skrip dieksekusi. Pada tahap ini, muatan target didekodekan:

  • string diterjemahkan oleh Base64,
  • buffer diperluas menggunakan Deflate ,
  • string diterjemahkan kembali oleh Base64.



Fig. 7. Algoritma pendekodean payload

  • Akibatnya, file-file berikut akan dibuat di sistem:
  • versi% systemroot% \ help \ hlp11.dat - x86 / x64 dari Perpustakaan Wrapper RDP . Ini digunakan untuk memperluas fungsionalitas layanan RDP, termasuk kemungkinan beberapa koneksi simultan. Penting untuk dicatat bahwa perpustakaan diubah: pada awal eksekusi, baris c: \ windows \ help \ hlp12.dat diterjemahkan dengan XOR linear, kemudian DLL dimuat di sepanjang jalan:



Fig. 8. Dekripsi jalur ke pustaka DLL dan pemuatannya

  • % systemroot% \ help \ hlp12.dat adalah versi backdoor ServHelper x86 / x64, yang akan dibahas di bagian selanjutnya;
  • % systemroot% \ help \ hlp13.dat - file konfigurasi untuk RDP Wrapper Library,
  • % systemroot% \ system32 \ rdpclip.exe - komponen layanan RDP untuk kemampuan bertukar data clipboard;
  • % systemroot% \ system32 \ rfxvmt.dll adalah komponen layanan RDP untuk mentransmisikan data menggunakan teknologi RemoteFX .

Setelah mengekstraksi dan merekam payload, skrip mengatur operasi yang benar dari komponen-komponennya:

  • mengubah pemilik komponen rfxvmt.dll menjadi NT SERVICE \ TrustedInstaller dan memberikan hak yang diperlukan;
  • Mengubah nilai port untuk koneksi RDP dari standar 3389 ke 7201;
  • Menambahkan akun layanan jaringan ke grup administrator lokal
  • mendaftarkan hlp11.dat sebagai layanan RDP dan memulai kembali layanan;
  • menghapus file sementara yang dibuat.

RAT ServHelper β†’ Dropper


Salah satu hasil droppers adalah DLL hlp12.dat, yang merupakan malware ServHelper. Versi pustaka x86 dan x64 dapat dibuat tergantung pada ukuran bit OS (tidak ada perbedaan mendasar di antara mereka). Kedua versi ditulis dalam Delphi, dikemas dengan UPX 3.95 (x64) dan PeCompact 2.20 (x86). Rekan-rekan kami dari Proofpoint dan Trend Micro sebelumnya menyajikan analisis distribusi dan pengoperasian backdoor ini. Persenjataan kemampuan sampel kami dalam banyak hal menyatu dengan apa yang sudah diketahui: khususnya, algoritma untuk mendekripsi string yang digunakan ( Vigenere cipher ) tidak berubah:



Fig. 9. Pseudocode untuk mendekripsi string menggunakan cipher Vigenere

Menariknya, enkripsi tidak diterapkan untuk semua string: misalnya, alamat domain kontrol dan tautan web dengan komponen tambahan tetap terbuka:



Fig. 10. Domain dan tautan web yang tidak terenkripsi

Saat mengakses salah satu tautan ini (hxxp: //letitbe.icu/2.txt), file terenkripsi diunduh (MD5: 0528104f496dd13438dd764e747d0778). Saat menganalisis akhir file dalam hex editor, Anda dapat melihat pengulangan nilai byte 0x09:



Fig. 11. Ulangi byte 0x09 dalam file yang diunduh

Nilai byte duplikat adalah tanda umum menggunakan XOR byte tunggal sebagai enkripsi. Dalam hal ini, teori ini dikonfirmasi oleh kode:



Fig. 12. Fungsi Enkripsi XOR Satu-Byte



Fig. 13. Melewati nilai byte tunggal ke fungsi XOR sebagai argumen

Sebagai hasil dekripsi, kami akan menerima arsip ZIP dengan konten berikut:



Fig. 14. Isi arsip ZIP yang didekripsi

Semua file adalah perangkat lunak yang sah untuk remote control PC NetSupport Manager, yang telah berulang kali digunakan oleh penyerang dari berbagai grup.



Fig. 15. Deskripsi Perangkat Lunak NetSupport Manager

Salah satu file (client32.ini) adalah file konfigurasi, yang berisi alamat gateway perantara di mana PC korban akan terhubung ke penyerang:



Fig. 16. Alamat Penyerang sebagai NetSupport Manager Gateway

Opsi ini masuk akal jika korban berada di belakang firewall, dan akses Internet dibatasi oleh port. Untuk bekerja dengan benar di Internet, Anda harus membuka akses ke setidaknya dua port, 80 (HTTP) dan 443 (HTTPS), sehingga kemungkinan koneksi yang berhasil meningkat.

Pada bulan September 2019, kami menemukan beberapa sampel ServHelper serupa dengan kisaran opsi yang sangat terbatas. Menggunakan salah satu dari mereka sebagai contoh (MD5: 5b79a0c06aec6126364ce1d5cbfedf66): di antara sumber daya file PE yang dapat dieksekusi ada data terenkripsi dengan karakteristik serupa dalam bentuk byte berulang:



Fig. 17. Data terenkripsi dalam sumber daya ServHelper
Ini adalah arsip ZIP lagi "tersumbat" dengan satu byte, yang berisi komponen yang sama dengan NetSupport Manager, meskipun kali ini dengan gateway perantara yang berbeda: 179 [.] 43.146.90: 443.

Kesimpulan


Pada artikel ini, kami memeriksa salah satu opsi untuk pengiriman dan penggunaan backdoor TA505 - ServHelper. Selain fitur-fitur aneh yang mendahului pengoperasian komponen utama (misalnya, melewati UAC dan meningkatkan hak istimewa), kami melihat metamorfosis menarik dari pintu belakang utama: fungsionalitas dasar (pencurian data, mata-mata dan eksekusi perintah) dilengkapi dengan menyematkan alat lain untuk remote control PC - RAT Netupport RAT. Selain itu, versi baru ServHelper tidak lagi memiliki fitur utama yang menjadikannya sebagai backdoor lengkap: sekarang hanya berfungsi sebagai penetes perantara untuk menginstal NetSupport RAT. Mungkin, para penyerang menemukan pendekatan ini lebih efektif baik dalam hal pengembangan maupun dalam hal kemampuan deteksi. Namun, daftar alat grup yang menarik bagi kami tidak berakhir di sana.

Diposting oleh Alexey Vishnyakov, Positive Technologies
IOC
hxxp: //185.225.17.175/wrkn157.exe - tautan web tempat dimuatnya dropper NSIS
d2a062ca772fa3ace7c7edadbd95eaf7 - dropper NSIS asli
0cacea3329f35e88a4f9619190e3746f - PowerShell dropper shipkat.ps1
fb609b00e29689db74c853ca7d69f440 - CRYPTBASE.dll (x86)
843288a35906aa90b2d1cc6179588a26 - CRYPTBASE.dll (x64)
445cd6df302610bb640baf2d06438704 - hlp11.dat (x86)
083f66cc0e0f626bbcc36c7f143561bd - hlp11.dat (x64)
40bae264ea08b0fa115829c5d74bf3c1 - hlp12.dat (x86)
ac72ab230608f2dca1da1140e70c92ad - hlp12.dat (x64)
07f1dc2a9af208e88cb8d5140b54e35e - hlp13.dat
1690e3004f712c75a2c9ff6bcde49461 - rdpclip.exe
dc39d23e4c0e681fad7a3e1342a2843c - rfxvmt.dll
ServHelper C2:
179 [.] 43.156.32
185 [.] 163.45.124
185 [.] 163.45.175
185 [.] 225.17.150
185 [.] 225.17.169
185 [.] 225.17.175
185 [.] 225.17.98
195 [.] 123.221.66
195 [.] 123.246.192
37 [.] 252.8.63
94 [.] 158.245.123
94 [.] 158.245.154
94 [.] 158.245.232
fdguyt5ggs [.] pw
foxlnklnk [.] xyz
gidjshrvz [.] xyz
letitbe [.] icu
pofasfafha [.] xyz
0528104f496dd13438dd764e747d0778 - arsip ZIP terenkripsi dengan NetSupport RAT
Komponen Manajer NetSupport:
953896600dfb86750506706f1599d415 - cksini.exe
8d9709ff7d9c83bd376e01912c734f0a - client32.exe
2d3b207c8a48148296156e5725426c7f - HTCTL32.DLL
0e37fbfa79d349d672456923ec5fbbe3 - msvcr100.dll
26e28c01461f7e65c402bdf09923d435 - nskbfltr.inf
88b1dab8f4fd1ae879685995c90bd902 - NSM.ini
7067af414215ee4c50bfcd3ea43c84f0 - NSM.LIC
dcde2248d19c778a41aa165866dd52d0 - pcicapi.dll
a0b9388c5f18e27266a31f8c5765b263 - PCICHEK.DLL
00587238d16012152c2e951a087f2cc9 - PCICL32.DLL
2a77875b08d4d2bb7b654db33a88f16c - remcmdstub.exe
eab603d12705752e3d268d86dff74ed4 - TCCTL32.DLL
185 [.] 225.17.66: 443 - NetSupport RAT GatewayAddress
5b79a0c06aec6126364ce1d5cbfedf66 - ServHelper dengan NetSupport RAT arsip
179 [.] 43.146.90: 443 - NetSupport RAT GatewayAddress

Source: https://habr.com/ru/post/id471960/


All Articles