GreyEnergy: Pengganti BlackEnergy menyerang perusahaan sektor energi

Spesialis ESET melakukan analisis malware kompleks yang belum diteliti sebelumnya, dirancang untuk serangan yang ditargetkan pada perusahaan infrastruktur kritis di Eropa Tengah dan Timur. Program tersebut, yang disebut GreyEnergy, memiliki kemiripan konseptual dengan BlackEnergy, sebuah malware yang digunakan dalam serangan terhadap perusahaan-perusahaan energi Ukraina pada Desember 2015 . Selain itu, ada tautan yang menunjukkan bahwa operator GreyEnergy bekerja dengan grup TeleBots di balik sejumlah serangan destruktif.


Laporan ini memberikan informasi tentang kegiatan Grup GreyEnergy dalam beberapa tahun terakhir. Perhatikan bahwa kami tidak mengaitkan serangan dan pengembangan malware ke negara mana pun. Menurut terminologi kami, β€œkelompok ART” adalah serangkaian indikator teknis.

Pendahuluan


Pada Desember 2015, kelompok BlackEnergy menyerang kompleks energi Ukraina menggunakan malware dari keluarga BlackEnergy dan KillDisk. Ini adalah insiden terakhir yang diketahui dengan perangkat lunak BlackEnergy dalam kondisi nyata. Setelah serangan ini, grup berubah menjadi setidaknya dua subkelompok: TeleBots dan GreyEnergy.

TeleBots mengkhususkan diri dalam sabotase dunia maya melalui serangan jaringan komputer (CNA). Grup telah menghitung serangan destruktif, termasuk:


Pakar ESET telah memantau aktivitas kelompok GreyEnergy selama beberapa tahun. Grup ini menggunakan keluarga unik malware dengan nama yang sama. Arsitektur Malvari menyerupai keluarga BlackEnergy.

Selain kesamaan konseptual dari program, ada tautan lain yang menunjukkan bahwa operator GreyEnergy bekerja sama dengan grup TeleBots. Secara khusus, pada bulan Desember 2016, kelompok GreyEnergy meluncurkan worm yang menyerupai NotPetya, dan versi yang lebih maju dari program ini muncul pada bulan Juni 2017 dalam serangan TeleBots.

Perlu dicatat bahwa GreyEnergy dan TeleBots memiliki tujuan yang berbeda - GreyEnergy terutama tertarik pada jaringan industri yang dimiliki oleh perusahaan infrastruktur kritis, dan, tidak seperti TeleBots, tidak terbatas pada objek di Ukraina.

Pada akhir 2015, kami pertama kali melihat malware GreyEnergy ditujukan untuk perusahaan energi di Polandia. Namun, GreyEnergy juga menyerang target Ukraina. Grup ini berfokus pada sektor energi, infrastruktur transportasi, dan fasilitas peringkat tinggi lainnya. Setidaknya satu organisasi target BlackEnergy telah diserang oleh GreyEnergy. Penggunaan terakhir GreyEnergy tercatat pada pertengahan 2018.

Program jahat GreyEnergy memiliki arsitektur modular, namun, tidak seperti Industroyer , kami tidak melihat modul apa pun yang dapat memengaruhi sistem kontrol industri (ICS). Namun, operator GreyEnergy mengerahkan viper pada disk setidaknya sekali untuk mengganggu alur kerja dan menyembunyikan jejak serangan siber.

Salah satu detail paling menarik yang ditemukan selama penelitian kami adalah bahwa salah satu sampel GreyEnergy ditandatangani dengan sertifikat digital yang valid. Kemungkinan besar, sertifikat ini dicuri dari produsen peralatan ICS Taiwan. Dalam hal ini, kelompok GreyEnergy mengikuti jejak penulis Stuxnet .

GreyEnergy: metode kerja


Selama pengamatan aktivitas kelompok GreyEnergy, kami terutama melihat dua vektor infeksi awal. Yang pertama berkaitan dengan organisasi dengan layanan web yang terletak di server milik korban. Jika layanan web publik dijalankan pada server yang terhubung ke jaringan internal, penyerang akan mencoba untuk mengkompromikannya untuk menembus jaringan. Vektor kedua adalah phishing yang ditargetkan dengan lampiran email jahat.

Dokumen berbahaya membuang mini GreyEnergy - pintu belakang ringan dari tahap pertama yang tidak memerlukan hak administratif. Setelah komputer dikompromikan menggunakan GreyEnergy mini, penyerang membuat peta jaringan dan mengumpulkan kata sandi untuk mendapatkan hak administrator domain. Dengan hak istimewa ini, penyerang dapat mengontrol seluruh jaringan. Grup GreyEnergy menggunakan alat yang cukup standar untuk menyelesaikan tugas-tugas ini: Nmap dan Mimikatz.

Setelah eksplorasi awal jaringan, penyerang dapat menggunakan backdoor unggulan - GreyEnergy utama. Perangkat lunak berbahaya memerlukan hak administrator, yang harus diperoleh sebelum fase penyebaran GreyEnergy utama. Menurut penelitian kami, operator GreyEnergy memasang pintu belakang utama terutama pada dua jenis titik akhir: server dengan waktu kerja yang lama dan workstation yang digunakan untuk mengelola lingkungan ICS.

Untuk menutupi komunikasi dengan server C&C, penyerang dapat menginstal perangkat lunak tambahan pada server internal dari jaringan yang dikompromikan sehingga setiap server bertindak sebagai proxy. K & C proxy seperti itu mengalihkan permintaan dari node yang terinfeksi dalam jaringan ke server C&C eksternal di Internet. "Komunikasi" dari beberapa komputer jaringan dengan server internal tidak terlihat mencurigakan seperti dengan yang eksternal. Metode ini juga dapat digunakan untuk mengelola malware di berbagai segmen jaringan yang dikompromikan. Metode serupa menggunakan server internal sebagai proxy-C & C diamati dalam kampanye Duqu 2.0 ART .

Jika organisasi yang dikompromikan memiliki server web publik yang terhubung ke jaringan internal, penyerang dapat menggunakan backdoor "cadangan" di server ini. Mereka digunakan untuk memulihkan akses ke jaringan jika backdoor utama ditemukan dan dihapus.

Semua server C&C terkait GreyEnergy menggunakan Tor.


Gambar 1. Diagram disederhanakan dari dua skenario jaringan kompromi yang digunakan oleh kelompok GreyEnergy

Mini greyenergy


Mini GreyEnergy adalah pintu belakang ringan dari tahap pertama, yang digunakan oleh penyerang untuk mengevaluasi komputer yang dikompromikan dan memberikan jembatan penghubung awal pada jaringan. Biasanya, GreyEnergy mini diunduh menggunakan dokumen jahat yang didistribusikan dalam email phishing. Mini GreyEnergy juga dikenal sebagai FELIXROOT .

Pada September 2017, ESET menemukan dokumen Microsoft Word Ukraina yang berisi makro jahat. Dokumen umpan meniru bentuk interaktif untuk mendorong korban menyalakan makro dan mengisinya.


Gambar 2. Dokumen umpan yang digunakan oleh GreyEnergy pada September 2017

Setelah menyalakan makro, kodenya mencoba mengunduh dan menjalankan file biner dari server jarak jauh.


Gambar 3. Makro VBA berbahaya (komentar ditambahkan oleh ESET)

Menariknya, tautan yang mengarah ke gambar eksternal tertanam di badan dokumen. Setelah membuka dokumen, ia mencoba mengunggah gambar ini - dengan cara ini para penyerang mengetahui bahwa file tersebut terbuka. Metode ini memungkinkan Anda untuk melacak target mana yang termasuk makro berbahaya dan yang baru saja membuka dokumen.


Gambar 4. Tautan ke "pelacak" eksternal yang menggambar dokumen berbahaya

Eksekusi yang diunduh adalah dropper mini GreyEnergy. Dropper menulis DLL berbahaya ke folder %APPDATA% , menggunakan GUID yang dibuat secara acak sebagai namanya. Selain itu, dropper membuat file .LNK dengan nama file kosong di folder di menu Start dengan entri yang mengeksekusi rundll32.exe dengan path ke DLL sebagai argumen baris perintah. Ini adalah metode ketekunan mini GreyEnergy.

DLL memerah adalah modul utama dari GreyEnergy mini; itu disamarkan sebagai file yang sah terkait dengan Microsoft Windows.


Gambar 5. GreyEnergy mini backdoor menyamar sebagai DLL Windows yang sah

Untuk mengevaluasi komputer yang disusupi, malware mengumpulkan sebanyak mungkin informasi dan mengirimkan data ke C&C. Data dikumpulkan menggunakan bahasa query WMI (WQL) dan permintaan registri Windows. Data berikut dikumpulkan:

  • nama komputer
  • versi sistem operasi termasuk versi paket layanan
  • bahasa default
  • nama pengguna
  • hak pengguna Windows saat ini, ketinggian, level UAC
  • pengaturan proxy
  • informasi komputer (pabrikan, model, jenis sistem)
  • zona waktu
  • perangkat lunak keamanan yang diinstal (antivirus dan firewall)
  • daftar pengguna dan domain
  • daftar program yang diinstal yang diperoleh dari registri
  • informasi jaringan (alamat IP, server DHCP, dll.)
  • daftar proses yang berjalan

Perangkat lunak berbahaya menerima perintah dari server C&C. Dukungan untuk perintah berikut disediakan (di bawah ini adalah ID perintah dan artinya):

  1. mengumpulkan informasi komputer
  2. unduh dan jalankan file yang dapat dieksekusi dari folder file sementara
  3. jalankan perintah shell
  4. menghapus diri sendiri dari komputer yang dikompromikan
  5. unduh dan jalankan file .BAT dari folder file sementara
  6. unduh file ke disk lokal
  7. unggah file

Konfigurasi malware dalam format JSON tertanam di dalam file biner dan dienkripsi menggunakan algoritma khusus. Data terenkripsi berisi empat byte di awal; byte ini digunakan sebagai kunci untuk operasi XOR untuk mendekripsi sisa data. Sebagian besar string yang digunakan oleh malware dienkripsi menggunakan algoritma ini.


Gambar 6. Konfigurasi mini GreyEnergy bawaan sebelum dan sesudah dekripsi

Semua konfigurasi mini GreyEnergy yang kami saksikan mencakup HTTPS dan server HTTP yang digunakan sebagai C&C. Ini memungkinkan penyerang untuk beralih ke HTTP pada target di mana koneksi HTTPS tidak didukung oleh konfigurasi jaringan atau firewall.

Mini GreyEnergy memiliki kesamaan dalam kode dengan program jahat lainnya dari keluarga GreyEnergy. Selain itu, baik GreyEnergy mini dan backdoor GreyEnergy utama menggunakan server C&C yang sama.

Backdoor utama GreyEnergy


GreyEnergy adalah pintu belakang utama cybergroup ini. Sampel malware yang dianalisis di sini ditulis dalam C dan dikompilasi menggunakan Visual Studio, tetapi tanpa menggunakan fungsi standar pustaka runtime C (CRT). Sampel yang dikemas mungkin berisi stempel waktu PE palsu, tetapi setelah dibongkar, stempel waktu disetel ulang (1 Januari 1970).


Gambar 7. Cap waktu PE dari sampel GreyEnergy yang sudah dibongkar

Menariknya, salah satu sampel GreyEnergy pertama yang dianalisis ditandatangani dengan sertifikat yang dimiliki oleh Advantech. Ini adalah perusahaan manufaktur peralatan Taiwan untuk industri dan IoT. Karena kami menemukan bahwa sertifikat yang sama digunakan untuk menandatangani perangkat lunak bersih dan tidak berbahaya dari Advantech, kami yakin itu dicuri. Perhatikan bahwa sampel yang terdeteksi tidak memiliki tanda tangan digital - ini berarti bahwa tanda tangan menjadi tidak valid ketika sertifikat kedaluwarsa.


Gambar 8. Sertifikat Advantech yang digunakan untuk menandatangani sampel malware GreyEnergy

Data sertifikat adalah sebagai berikut:

Serial Number: 15:f4:8f:98:c5:79:41:00:6f:4c:9a:63:9b:f3:c1:cc
Validity:
Not Before: Feb 10 00:00:00 2014 GMT
Not After : Feb 26 23:59:59 2017 GMT
SHA1 Fingerprint=97:53:AD:54:DF:6B:D6:73:E0:6C:00:36:3D:34:6A:06:00:7A:0A:9B


Kami memperhatikan bahwa GreyEnergy biasanya digunakan dalam dua mode: hanya di memori dan dengan kegigihan layanan DLL. Mode pertama digunakan ketika penyerang yakin bahwa instalasi tidak memerlukan langkah-langkah khusus untuk memastikan stabilitas (misalnya, pada server dengan uptime yang lama); mode kedua adalah ketika malware harus menahan reboot.

Mode Hanya Memori


Untuk mode ini, penyerang menempatkan file DLL di folder tertentu, dan kemudian jalankan menggunakan aplikasi Windows rundll32.exe . Kami mengamati bahwa penyerang menggunakan alat Windows Sysinternals PsExec secara lokal untuk mengeksekusi rundll32.exe dengan hak istimewa setinggi mungkin ( NT AUTHORITY\SYSTEM ).

Di bawah ini adalah baris perintah yang digunakan dalam fase eksekusi awal GreyEnergy hanya dalam memori:

cmd.exe /c "C:\Windows\System32\rundll32.exe "C:\Sun\Thumbs.db",#1 CAIAABBmAAAgAAAA8GFGvkHVGDtGRqcl3Z3nYJ9aXCm7TVZX8klEdjacOSU="

Dalam contoh ini, Thumbs.db adalah file DLL GreyEnergy dari mana fungsi dengan nomor urut pertama disebut oleh proses rundll32.exe . Contoh baris perintah yang diberikan berisi urutan byte yang dienkripsi dengan base64, yang selanjutnya digunakan sebagai kunci AES-256 untuk mendekripsi sebuah rintisan kecil. Setelah itu, kode di "rintisan" memulai salinan baru dari proses svchost.exe dan menyuntikkan muatan GreyEnergy. Pada tahap terakhir, proses GreyEnergy rundll32.exe berakhir, file DLL berbahaya dilindungi dari penghapusan dari disk. Oleh karena itu, muatan GreyEnergy hanya akan ada dalam konteks memori proses svchost.exe .

Kemungkinan besar, penulis bermaksud mengembangkan malware sedemikian rupa sehingga tanpa kunci pada baris perintah tidak mungkin untuk mendekripsi "rintisan" dan muatannya.


Gambar 9. GreyEnergy Nama internal DLL untuk mode hanya memori

Jika Anda menggunakan mode "only in memory", menyelesaikan proses svchost.exe sesuai atau me-restart komputer sudah cukup untuk menghapus GreyEnergy.

Ketekunan Layanan DLL


Untuk menggunakan metode ini, operator menggunakan dropper GreyEnergy, yang harus dijalankan dengan hak administrator.

Kunci registri ServiceDLL memungkinkan Anda untuk memulai modul layanan DLL dalam konteks proses svchost.exe . Fitur tidak didokumentasikan oleh Microsoft; namun, ini digunakan oleh sejumlah keluarga malware, termasuk worm Conficker.

Untuk memastikan kegigihan layanan DLL, dropper mencari layanan yang ada dan menambahkan kunci registri ServiceDLL baru. Karena metode ini dapat menyebabkan kegagalan sistem, dropper awalnya melakukan serangkaian pemeriksaan untuk memilih layanan yang memenuhi sejumlah persyaratan.

Pertama, dropper menemukan semua layanan Windows yang saat ini dihentikan dengan menjalankan kueri WQL berikut:

Select * from Win32_Service where PathName Like '%%svchost%%' and State = 'Stopped'

Ketentuan berikut dapat ditambahkan ke permintaan:

  • and StartMode = 'Disabled' atau and StartMode = 'Manual'
  • and ServiceType = 'Own Process' atau and ServiceType = 'Share Process'

Selanjutnya, dropper mencoba untuk memilih layanan yang diinginkan, memeriksa hasilnya dan melewatkan yang memenuhi syarat-syarat berikut:

  • nama layanan berisi winmgmt (Instrumentasi Manajemen Windows) atau BITS (Background Intelligent Transfer Service)
  • dropper tidak memiliki akses ke kunci layanan atau registri
  • DependOnService registri DependOnService tidak kosong
  • nilai registri untuk ImagePath atau ImagePath tidak ada
  • Baris perintah layanan berisi salah satu kata berikut:
  • DcomLaunch , LocalServiceNetworkRestricted , LocalServiceNoNetwork , LocalServicePeerNet , LocalSystemNetworkRestricted , NetworkServiceNetworkRestricted secsvcs , wcssvc , wcssvc

Setelah mendeteksi layanan yang memenuhi persyaratan ini, program malware membuang file DLL ke direktori Windows system32 dan menulis kunci registri ServiceDLL . Nama DLL berisi empat karakter yang dibuat secara acak dan svc.dll atau srv.dll di akhir. Selain itu, dropper memalsukan metadata waktu file dengan menyalinnya dari file user32.dll ada.

Versi terbaru dari dropper GreyEnergy mendukung sistem operasi 32-bit dan 64-bit.


Gambar 10. DLL GreyEnergy DLL dikerahkan melalui metode ketekunan layanan DLL

Dropper menggunakan metode yang menarik untuk menyamarkan DLL jahat sebagai file yang sah. Secara khusus, dropper menyalin sumber daya VERSIONINFO, yang berisi deskripsi terperinci dari file yang dapat dieksekusi milik layanan Windows yang bersangkutan, dan menulis data ini ke DLL berbahaya. Untuk tujuan ini, fungsi Windows API BeginUpdateResource / UpdateResource / EndUpdateResource . Versi terbaru tidak memanggil fungsi-fungsi ini dari API; kode mereka diimplementasikan dalam program jahat itu sendiri untuk menghindari pembilasan file DLL ke disk tanpa sumber daya VERSIONINFO palsu. Agaknya, ini menghindari deteksi produk keamanan tertentu. Dropper yang sama dapat membuat file DLL berbahaya dengan deskripsi berbeda di komputer yang berbeda. Setiap pola yang diperluas dengan cara ini akan memiliki hash yang unik.

Jika malware sudah ada pada sistem, dropper dapat memperbaruinya menggunakan pipa bernama.

Pada tahap terakhir, dropper menghapus diri sendiri dengan menimpa file dengan nol dan menghapus dari disk. Dropper juga membersihkan majalah USN . Tindakan dilakukan melalui perintah shell berikut:

timeout 2 > nul & fsutil file setzerodata offset=0 length=%DROPPER_FILESIZE% "%DROPPER_PATH%" & timeout 2 & cmd /c del /F /Q "%DROPPER_PATH%" & fsutil usn deletejournal /D %DROPPER_DRIVE%

Konfigurasi dan Komunikasi


Mode persistensi yang dipilih oleh operator tidak memengaruhi fungsionalitas program jahat, yang tetap tidak berubah dengan kedua metode.

Perangkat lunak berbahaya berisi konfigurasi tertanam yang dienkripsi menggunakan algoritma AES-256 dan dikompresi menggunakan LZNT1.

Format MIME multi-komponen digunakan untuk konfigurasi malware yang tertanam. Penulis tidak mengimplementasikan parser mereka sendiri untuk format ini; sebaliknya, mereka menggunakan antarmuka IMimeMessage dan IMimeBody COM. Menariknya, dokumentasi Microsoft merekomendasikan agar tidak menggunakan antarmuka ini.


Gambar 11. Contoh konfigurasi bawaan GreyEnergy

Untuk konfigurasi eksternal, format MIME yang identik digunakan; Namun, malware mengenkripsi konfigurasi eksternal dengan berbagai cara. Menggunakan Antarmuka Pemrograman Aplikasi Perlindungan Data (DPAPI), khususnya, API Windows berfungsi CryptProtectData dan CryptUnprotectData . Konfigurasi eksternal disimpan di jalur C:\ProgramData\Microsoft\Windows\%GUID% berikut C:\ProgramData\Microsoft\Windows\%GUID% , di mana %GUID% adalah nilai GUID yang dibuat secara acak berdasarkan nomor seri volume drive C :.

Beberapa sampel GreyEnergy berisi versi konfigurasi yang sedikit dikaburkan. Secara khusus, bidang Type dari konfigurasi tersebut mengandung huruf bukan nama opsi.


Gambar 12. Contoh konfigurasi GreyEnergy yang dikaburkan

Konfigurasi mungkin berisi nilai-nilai berikut:



Malware menghapus dirinya sendiri dari sistem yang terinfeksi jika jumlah upaya yang gagal melebihi nilai MaxAttempts , dan koneksi sukses terakhir adalah lebih dari Lifetime days yang lalu.

Komunikasi dengan C&C biasanya dilakukan melalui HTTPS; Namun, dalam beberapa kasus, HTTP juga digunakan. Format MIME yang sama dienkapsulasi dalam permintaan HTTP. Perlu dicatat bahwa data dienkripsi menggunakan AES-256 dan RSA-2048.


Gambar 13. GreyEnergy melalui komunikasi HTTP yang ditangkap di Wireshark

Jika menggunakan HTTP, lebih mudah untuk mengidentifikasi mesin yang dikompromikan pada jaringan dengan menganalisis lalu lintas jaringannya. Sampel malware yang telah dipelajari selalu menggunakan agen pengguna yang memiliki kode berikut:

  • Mozilla/5.0 (Windows NT 6.1; Trident/7.0; rv:11.0) like Gecko
  • Mozilla/5.0 (compatible, MSIE 11, Windows NT 6.3; Trident/7.0; rv:11.0) like Gecko

Untuk membantu operator GreyEnergy mengidentifikasi komputer yang terinfeksi, malware mengirimkan hasil dari pertanyaan WQL berikut ke server C&C:

  • SELECT Caption, Version, CSName, ProductType, CurrentTimeZone, LocalDateTime, OSLanguage, OSType FROM Win32_OperatingSystem
  • SELECT MACAddress, IPAddress, IPSubnet, DHCPEnabled, DHCPServer, DNSDomain FROM Win32_NetworkAdapterConfiguration WHERE MACAddress IS NOT NULL

Respons dari server C&C dienkripsi, tetapi setelah dekripsi mereka berisi format MIME yang sama dengan nilai yang mungkin berikut:


GreyEnergy memuat modul tambahan dan payload ke memori menggunakan loader file PE-nya sendiri.

Modul GreyEnergy


Seperti banyak ancaman kompleks, malware GreyEnergy memiliki arsitektur modular. Fungsionalitasnya dapat diperluas dengan menambahkan modul tambahan. Modul GreyEnergy adalah file DLL yang dijalankan dengan memanggil fungsi dengan nomor urut pertama. Setiap modul, termasuk modul GreyEnergy utama, menerima perintah teks dengan berbagai parameter.

Operator GreyEnergy tidak segera mengirim semua modul ke mesin yang dikompromikan. Sebagai aturan, program jahat mengunduh dan mengeksekusi modul yang diperlukan untuk melakukan tugas tertentu.

Kami menyadari keberadaan modul GreyEnergy berikut:

remoteprocessexec - menyuntikkan file RE biner ke dalam proses jarak jauh
info - mengumpulkan informasi sistem, log peristiwa, malware SHA-256
operasi sistem file
sshot - mengambil tangkapan layar
keylogger - memotong penekanan tombol
passwords - mengumpulkan kata sandi yang disimpan di berbagai aplikasi
mimikatz - Alat mimikatz yang digunakan untuk mengumpulkan kredensial Windows
plink - Perangkat lunak plink digunakan untuk membuat terowongan SSH
3proxy - 3proxy perangkat lunak yang digunakan untuk membuat proxy

Modul remoteprocessexec memungkinkan penyerang untuk mengeksekusi file biner sewenang-wenang dalam konteks proses yang ada. Misalnya, Anda dapat menjalankan Mimikatz atau pemindai port dalam konteks Windows Explorer tanpa menjatuhkannya ke disk. Untuk mengarahkan keluaran standar dan memproses utas dan penghentian proses, modul memotong lima fungsi Windows API.


Gambar 14. Fungsi Windows API yang ditangkap oleh remoteprocessexec

Karena GreyEnergy DLL yang dibuang unik untuk setiap mesin yang terinfeksi, penyerang dapat mengumpulkan hash SHA-256 menggunakan modul informasi. Kehadiran hash akan memungkinkan Anda untuk melacak apakah file telah diunggah ke layanan web publik seperti VirusTotal.

Metode Perlindungan Terbalik dan Anti-Kriminal


GreyEnergy menggunakan beberapa metode untuk mempersulit analisis. Misalnya, program malware mengenkripsi string. Beberapa opsi menggunakan algoritme yang sama dengan GreyEnergy mini.

Namun, sebagian besar sampel GreyEnergy memiliki algoritma enkripsi yang berbeda. Secara khusus, empat byte pertama dalam gumpalan terenkripsi tidak digunakan sebagai kunci untuk operasi XOR. Sebaliknya, mereka digunakan untuk menginisialisasi angka awal dari algoritma generasi nomor pseudo-acak ( Mersenne Whirlwind ), dan kemudian dihasilkan empat byte adalah kuncinya. Sebelum membebaskan buffer memori yang berisi string teks biasa, malware menimpa buffer dengan nol.


Gambar 15. Kode yang didekompilasi untuk fungsi decoding string GreyEnergy

Program jahat memotong fungsi DeleteFileA dan DeleteFileW di tabel impor dari setiap file PE biner yang dimuat ke dalam memori. Hook menggantikan fungsi-fungsi ini dengan fungsi yang menghapus file dengan aman. Secara khusus, file akan ditimpa dengan nol sebelum dihapus dari disk. Setiap payload atau plugin akan menggunakan fungsi seperti itu tanpa perlu implementasi di setiap modul.


Gambar 16. Kode yang didekompilasi untuk sebuah rutin yang mencegat DeleteFileA dan DeleteFileW

Alat-alatnya


Penyerang menggunakan pemindai port Nmap sebagai alat utama untuk memetakan jaringan internal korban. Selain itu, kami mengamati penggunaan pemindai porta khusus yang ringan di mana Nmap tidak memungkinkan.


Gambar 17. Output konsol pemindai port grup GreyEnergy khusus

Penyerang secara aktif menggunakan alat yang sah, seperti SysInternals PsExec dan WinExe , untuk gerakan horizontal di dalam jaringan yang dikompromikan. Alat WinExe, analog open source dari WinExe, dapat dikontrol dari perangkat Linux, misalnya, dari server web Linux yang dikompromikan.

Perlu dicatat bahwa selain alat-alat ini, penyerang menggunakan skrip PowerShell.

Backdoors server web


Seperti disebutkan sebelumnya, kelompok GreyEnergy menyebarkan backdoors tambahan ke server web, jika server ini dapat diakses dari Internet. Kami perhatikan bahwa penyerang menggunakan backdoors yang ditulis dalam PHP untuk tujuan ini. Mereka menggunakan shell web PHP WSO webshell dan c99shell yang dapat diakses publik.

Penyerang dapat memodifikasi skrip PHP yang ada di server web atau menyebarkan yang baru. Kode PHP backdoor yang sebenarnya biasanya menyembunyikan beberapa tingkat kebingungan dan enkripsi.


Gambar 18. Kode membingungkan dari backdoor PHP kelompok GreyEnergy

Level kode terakhir dilindungi oleh enkripsi aliran. Generasi kunci untuk sandi ini didasarkan pada string dari nilai cookie yang disediakan oleh penyerang melalui permintaan HTTP. Setiap backdoor PHP tersebut dienkripsi dengan kunci terpisah.


Gambar 19. Level terakhir yang diterjemahkan oleh kode backdoor PHP

Teknik kebingungan digunakan untuk mencegah analisis, serta ketidakmampuan untuk menggunakan pintu belakang PHP semacam itu oleh kelompok cyber lainnya.

Proxy C&C (triulin)


Seperti yang kami sebutkan sebelumnya, penyerang dapat menggunakan server internal sebagai proxy C&C.

Kami menemukan bahwa penyerang bahkan menciptakan rantai proxy C&C di mana server pertama dapat mengarahkan lalu lintas jaringan ke yang berikutnya dan seterusnya hingga mencapai tujuan akhir di Internet.

Penyerang menggunakan berbagai metode untuk mengubah server internal menjadi proxy C&C. Untuk melakukan ini, mereka dapat langsung menggunakan malware GreyEnergy, perangkat lunak atau skrip pihak ketiga tambahan. Dalam kasus pertama, operator dapat membahayakan server Windows menggunakan GreyEnergy, mengubahnya menjadi proxy C&C menggunakan modul 3proxy dan plink. Dalam proses pemantauan aktivitas GreyEnergy, kami mengamati pemasangan program yang sah berikut di server Linux internal:

  • 3proksi proksi kecil
  • Server Dante SOCKS
  • Link Putty (Plink)

Alih-alih perangkat lunak pihak ketiga, penyerang dapat menggunakan server web internal dengan menginstal skrip mereka sendiri. Bahasa pemrograman PHP dan ASP digunakan.

Dalam semua kasus yang kami amati, skrip PHP yang dikerahkan dikaburkan dan dienkripsi menggunakan jenis kebingungan yang sama seperti di backdoors untuk server web. Namun, dalam hal ini, cookie yang berisi kunci dekripsi disediakan oleh malware GreyEnergy itu sendiri. Untuk alasan ini, operator harus menggunakan format konfigurasi khusus untuk URL server.


Gambar 20. Level terakhir yang mendekripsi kode backdoor PHP menggunakan cookie

, yang menarik, konfigurasi malware berisi kata triungulindalam perjalanan ke skrip PHP yang dikaburkan dari server proxy. Ini tampaknya menjadi nama internal dari metode ini yang digunakan oleh pernyataan GreyEnergy.

Jika malware memiliki proksi C&C bawaan di konfigurasi, ia tidak mengandung server C&C eksternal. Oleh karena itu, untuk menemukan alamat C&C eksternal, Anda harus memiliki sampel malware dan semua skrip PHP yang terkait dengannya.

Kami mengamati penggunaan skrip PHP berikut:


Skrip proxy PHP khusus berisi URL dengan header C&C eksternal.


Gambar 21. Server C&C eksternal yang tertanam dalam skrip server proxy PHP kustom

Skrip PHP khusus menggunakan pustaka OpenSSL dan Curl untuk mengarahkan permintaan dari malware ke server C&C eksternal di Internet.


Gambar 22. Kode untuk skrip PHP khusus dari server proxy grup GreyEnergy

Seperti disebutkan di atas, penyerang dapat menggunakan skrip ASP untuk tujuan yang sama. Dalam satu kasus yang kami amati, skrip ASP menggunakan cookie yang disediakan oleh malware untuk mendekripsi hanya alamat K & C asli menggunakan AES; sisa kode tidak dienkripsi atau dikaburkan.


Gambar 23. Kode proxy ASP yang digunakan oleh kelompok GreyEnergy

C & C-server dengan akses Internet


Semua server C&C GreyEnergy menggunakan Tor ketika mereka aktif. Pengaturan infrastruktur C&C mirip dengan BlackEnergy, TeleBots dan Industroyer, yang juga menggunakan server Tor.

Mungkin setiap server C&C memiliki alamat bawang, dan penyerang menggunakannya untuk mengakses, mengelola, atau mengirimkan data. Ini tampaknya merupakan persyaratan OPSEC yang menambahkan lapisan anonimitas tambahan untuk penyerang.

Pakar ESET telah mengidentifikasi server C&C yang digunakan oleh malware GreyEnergy dalam tiga tahun terakhir. Daftar ini diberikan di bawah di bagian "Indikator kompromi".

Perbandingan GreyEnergy dan BlackEnergy


Keluarga malware GreyEnergy dan BlackEnergy memiliki struktur, set modul, dan fungsi yang sama. Meskipun implementasi fungsi-fungsi ini berbeda, mereka masih sebanding.


Moonraker petya


Pada Desember 2016, penyerang meluncurkan worm, yang, menurut pendapat kami, adalah pendahulu dari NotPetya (alias Petya, ExPetr, Nyetya, EternalPetya). Cacing ini digunakan dalam serangan terhadap sejumlah kecil objek dan memiliki kemampuan distribusi terbatas, sehingga tidak diketahui secara luas.

Worm adalah file DLL dengan nama yang msvcrt120b.dllterletak di direktori Windows. Nama file internal adalah moonraker.dll, yang, mungkin, adalah referensi ke film dan novel Bond dengan nama yang sama . Secara umum, kami menyebut program Moonraker Petya.


Gambar 24. Nama internal worm dipasang pada Desember 2016

Stempel waktu PE di DLL menunjukkan bahwa file dikompilasi pada bulan Desember 2016, mungkin tepat sebelum instalasi.

Moonraker Petya berisi kode yang setelahnya komputer berhenti memuat. Secara khusus, itu menimpa nilai ImagePathdalam kunci registri [HKEY_LOCAL_MACHINE\System\ControlSet001\Services\ACPI]dan[HKEY_LOCAL_MACHINE\System\ControlSet002\Services\ACPI]dan menghapus sektor pertama dari drive sistem. Tidak seperti NotPetya, Moonraker Petya tidak mengandung kode yang secara langsung berinteraksi dengan MBR dan sistem bootloader sistem operasi. Sebagai gantinya, Moonraker Petya DLL berisi gumpalan data biner terenkripsi. Malware mengharapkan argumen baris perintah yang nantinya akan digunakan sebagai kunci dekripsi. Setelah dekripsi dan unzip menggunakan perpustakaan zlib, kode tersebut dimuat ke dalam memori sebagai file RE biner dan dieksekusi. Kami tidak memiliki kunci dekripsi, tetapi kami menganalisis gambar disk komputer yang terinfeksi. Mereka berisi kode MBR dan bootloader, yang sesuai dengan kode yang ditemukan di Green Petya asli yang digunakan oleh berbagai kelompok cyber. Kami berasumsi bahwa gumpalan itu mungkin berisi Green Petya asli.


Gambar 25. Layar pop-up yang ditampilkan setelah reboot pada komputer yang terinfeksi Moonraker Petya

Sangat menarik bahwa dekripsi di Moonraker Petya sangat mirip dengan proses yang sama dalam file DLL GreyEnergy dalam mode β€œonly in memory”.


Gambar 26. Perbandingan kode Moonraker Petya terurai (kiri) dan GreyEnergy (kanan) kode

Moonraker Petya dapat didistribusikan melalui jaringan lokal menggunakan SysInternals PsExec. Program jahat mengandung file biner yang dikompresi zlib di sumber dayanya. Kemudian, biner tersebut dibuang ke direktori Windows dengan nama file conhost.exe.

Program jahat ini didistribusikan sama NotPetya: menyebutkan node jaringan menggunakan metode yang berbeda ( WNetEnumResourceW, GetIpNetTable, GetExtendedTcpTable, NetServerEnum, TERMSRV-catatan menggunakanCredEnumerateW), lalu terhubung ke host jaringan menggunakan fungsi WNetAddConnection2Wdan menyimpan malware sebagai \\%TARGET-HOST%\admin$\%MALWARE%. Setelah itu, Moonraker Petya menjalankan perintah berikut, yang meluncurkan malware di komputer jarak jauh menggunakan reset PsExec:

C:\Windows\conhost.exe \\%TARGET-HOST% -accepteula -s -d C:\Windows\System32\rundll32.exe "C:\Windows\msvcrt120b.dll", #1 %TIMEOUT% "USER1:PASSWORD1;USER2:PASSWORD2" "%DECRYPTIONKEY%"

Penting untuk dicatat bahwa malware tidak memiliki fungsi pengumpulan kredensial menggunakan Mimikatz dan tidak mengandung eksploitasi EternalBlue.

Selain fitur yang tercantum, Moonraker Petya juga mendukung enkripsi file. Program jahat memindai semua file pada hard drive, setelah itu mencoba mengenkripsi mereka menggunakan algoritma AES-256. Setelah proses enkripsi selesai, malware dapat membuat file README.txtdengan instruksi pembayaran.

Instruksi berisi kunci pribadi yang dienkripsi menggunakan RSA-2048. Selain itu, ini berisi teks dan alamat bawang yang sama dengan Green Petya asli. Tampaknya penyerang ingin menyamarkan penggunaan malware ini sebagai serangan dengan Green Petya.


Gambar 27. File Readme dengan instruksi pembayaran yang dibuat oleh Moonraker Petya

Sebagai langkah terakhir, Moonraker Petya mencoba me-restart komputer.

Kesimpulan


GreyEnergy adalah bagian penting dari gudang salah satu kelompok ART paling berbahaya yang telah menyerang target Ukraina dalam beberapa tahun terakhir. Kami melihatnya sebagai penerus BlackEnergy, persamaan dan perbedaan tercantum dalam posting ini. Alasan utama mengapa kami sampai pada kesimpulan ini adalah struktur malware yang serupa, pilihan tujuan dan metode kerja. Transisi dari BlackEnergy ke GreyEnergy terjadi pada akhir 2015 - mungkin karena penyerang harus memperbarui paket malware setelah meningkatkan perhatian pada infrastruktur BlackEnergy.

Bagian yang menarik dari teka-teki ini adalah fakta penggunaan Moonraker Petya pada Juni 2016, yang, menurut perkiraan kami, adalah pendahulu dari program destruktif NotPetya. Ini mungkin menunjukkan bahwa grup TeleBots dan GreyEnergy berkolaborasi, atau setidaknya berbagi kode dan beberapa ide. Namun demikian, kami menganggap mereka sebagai kelompok yang terpisah, yang tujuannya agak berbeda. Pada saat penulisan, kami tidak melihat aktivitas yang disengaja dari TeleBots di luar Ukraina, tidak seperti GreyEnergy dan BlackEnergy sebelumnya.

Bagaimanapun, operator GreyEnergy menimbulkan bahaya serius. Kami terus memantau aktivitas GreyEnergy dan TeleBots dan merekomendasikan agar pengguna pribadi dan perusahaan menggunakan produk paling canggih untuk melindungi titik akhir.

Indikator kompromi


Deteksi oleh produk ESET:


VBA/TrojanDownloader.Agent.EYV
Win32/Agent.SCT
Win32/Agent.SCM
Win32/Agent.SYN
Win64/Agent.SYN
Win32/Agent.WTD
Win32/GreyEnergy
Win64/GreyEnergy
Win32/Diskcoder.MoonrakerPetya.A
PHP/Agent.JS
PHP/Agent.JX
PHP/Agent.KJ
PHP/Agent.KK
PHP/Agent.KL
PHP/Agent.KM
PHP/Agent.KN
PHP/Agent.KO
PHP/Agent.KP
PHP/Agent.KQ
PHP/Agent.KR
PHP/Agent.KS
PHP/Agent.KT
PHP/Agent.KU
PHP/Agent.LC
PHP/Agent.NBP
PHP/Kryptik.AB
PHP/TrojanProxy.Agent.B
ASP/Agent.L
Win64/HackTool.PortScanner.A
Win64/Riskware.Mimikatz.A
Win64/Riskware.Mimikatz.AE
Win64/Riskware.Mimikatz.AH
Win32/Winexe.A
Win64/Winexe.A
Win64/Winexe.B


Dokumen GreyEnergy:


SHA-1:
177AF8F6E8D6F4952D13F88CDF1887CB7220A645

Mini GreyEnergy:


SHA-1:
455D9EB9E11AA9AF9717E0260A70611FF84EF900
51309371673ACD310F327A10476F707EB914E255
CB11F36E271306354998BB8ABB6CA67C1D6A3E24
CC1CE3073937552459FB8ED0ADB5D56FA00BCD43
30AF51F1F7CB9A9A46DF3ABFFB6AE3E39935D82C


Dropper GreyEnergy:


SHA-1:
04F75879132B0BFBA96CB7B210124BC3D396A7CE
69E2487EEE4637FE62E47891154D97DFDF8AAD57
716EFE17CD1563FFAD5E5E9A3E0CAC3CAB725F92
93EF4F47AC160721768A00E1A2121B45A9933A1D
94F445B65BF9A0AB134FAD2AAAD70779EAFD9288
A414F0A651F750EEA18F6D6C64627C4720548581
B3EF67F7881884A2E3493FE3D5F614DBBC51A79B
EBD5DC18C51B6FB0E9985A3A9E86FF66E22E813E
EC7E018BA36F07E6DADBE411E35B0B92E3AD8ABA


DLL GreyEnergy yang Dapat Diatur Ulang:


SHA-1:
0B5D24E6520B8D6547526FCBFC5768EC5AD19314
10D7687C44BECA4151BB07F78C6E605E8A552889
2A7EE7562A6A5BA7F192B3D6AED8627DFFDA4903
3CBDC146441E4858A1DE47DF0B4B795C4B0C2862
4E137F04A2C5FA64D5BF334EF78FE48CF7C7D626
62E00701F62971311EF8E57F33F6A3BA8ED28BF7
646060AC31FFDDFBD02967216BC71556A0C1AEDF
748FE84497423ED209357E923BE28083D42D69DE
B75D0379C5081958AF83A542901553E1710979C7
BFC164E5A28A3D56B8493B1FC1CA4A12FA1AC6AC
C1EB0150E2FCC099465C210B528BF508D2C64520
CBB7BA92CDF86FA260982399DAB8B416D905E89B
DF051C67EE633231E4C76EC247932C1A9868C14F
DFD8665D91C508FAF66E2BC2789B504670762EA2
E2436472B984F4505B4B938CEE6CAE26EF043FC7
E3E61DF9E0DD92C98223C750E13001CBB73A1E31
E496318E6644E47B07D6CAB00B93D27D0FE6B415
EDA505896FFF9A29BD7EAE67FD626D7FFA36C7B2
F00BEFDF08678B642B69D128F2AFAE32A1564A90
F36ECAC8696AA0862AD3779CA464B2CD399D8099


GreyEnergy DLL (mode "hanya dalam memori"):


SHA-1:
0BCECB797306D30D0BA5EAEA123B5BF69981EFF4
11159DB91B870E6728F1A7835B5D8BE9424914B9
6ABD4B82A133C4610E5779C876FCB7E066898380
848F0DBF50B582A87399428D093E5903FFAEEDCD
99A81305EF6E45F470EEE677C6491045E3B4D33A
A01036A8EFE5349920A656A422E959A2B9B76F02
C449294E57088E2E2B9766493E48C98B8C9180F8
C7FC689FE76361EF4FDC1F2A5BAB71C0E2E09746
D24FC871A721B2FD01F143EB6375784144365A84
DA617BC6DCD2083D93A9A83D4F15E3713D365960
E4FCAA1B6A27AA183C6A3A46B84B5EAE9772920B


Moonraker petya


SHA-1:
1AA1EF7470A8882CA81BB9894630433E5CCE4373

Skrip PHP dan ASP


SHA-1:
10F4D12CF8EE15747BFB618F3731D81A905AAB04
13C5B14E19C9095ABA3F1DA56B1A76793C7144B9
1BA30B645E974DE86F24054B238FE77A331D0D2C
438C8F9607E06E7AC1261F99F8311B004C23DEC3
4D1C282F9942EC87C5B4D9363187AFDC120F4DC7
4E0C5CCFFB7E2D17C26F82DB5564E47F141300B3
5377ADB779DE325A74838C0815EEA958B4822F82
58A69A8D1B94E751050DECF87F2572E09794F0F8
5DD34FB1C8E224C17DCE04E02A4409E9393BCE58
639BCE78F961C4B9ECD9FE1A8537733388B99857
7127B880C8E31FBEB1D376EB55A6F878BC77B21A
71BA8FE0C9C32A9B987E2BB827FE54DAE905D65E
78A7FBDD6ADF073EA6D835BE69084E071B4DA395
81332D2F96A354B1B8E11984918C43FB9B5CB9DB
8CC008B3189F8CE9A96C2C41F864D019319EB2EE
940DE46CD8C50C28A9C0EFC65AEE7D567117941B
A415E12591DD47289E235E7022A6896CB2BFDE96
D3AE97A99D826F49AD03ADDC9F0D5200BE46AB5E
E69F5FF2FCD18698BB584B6BC15136D61EB4F594
E83A090D325E4A9E30B88A181396D62FEF5D54D5
ECF21EFC09E4E2ACFEEB71FB78CB1F518E1F5724


Pemindai port khusus


SHA-1:
B371A5D6465DC85C093A5FB84D7CDDEB1EFFCC56
B40BDE0341F52481AE1820022FA8376E53A20040


Mimikatz


SHA-1:
89D7E0DA80C9973D945E6F62E843606B2E264F7E
8B295AB4789105F9910E4F3AF1B60CBBA8AD6FC0
AD6F835F239DA6683CAA54FCCBCFDD0DC40196BE


Winexe


SHA-1: Peringatan: sebagian besar server dengan alamat IP ini adalah bagian dari jaringan Tor, yaitu, menggunakan indikator ini dapat mengarah ke false positive.
0666B109B0128599D535904C1F7DDC02C1F704F2
2695FCFE83AB536D89147184589CCB44FC4A60F3
3608EC28A9AD7AF14325F764FB2F356731F1CA7A
37C837FB170164CBC88BEAE720DF128B786A71E0
594B809343FEB1D14F80F0902D764A9BF0A8C33C
7C1F7CE5E57CBDE9AC7755A7B755171E38ABD70D
90122C0DC5890F9A7B5774C6966EA694A590BD38
C59F66808EA8F07CBDE74116DDE60DAB4F9F3122
CEB96B364D6A8B65EA8FA43EB0A735176E409EB0
FCEAA83E7BD9BCAB5EFBA9D1811480B8CB0B8A3E




Server C&C membahas GreyEnergy mini


https://82.118.236[.]23:8443/27c00829d57988279f3ec61a05dee75a
http://82.118.236[.]23:8080/27c00829d57988279f3ec61a05dee75a
https://88.198.13[.]116:8443/xmlservice
http://88.198.13[.]116:8080/xmlservice
https://217.12.204[.]100/news/
http://217.12.204[.]100/news/
http://pbank.co[.]ua/favicon.ico (IP: 185.128.40.90)


Alamat server GreyEnergy C & C (periode aktivitas dan IP)


2015–2016 – 109.200.202.7
2015–2015 – 193.105.134.68
2015–2016 – 163.172.7.195
2015–2016 – 163.172.7.196
2016–2016 – 5.149.248.77
2016–2016 – 31.148.220.112
2016–2016 – 62.210.77.169
2016–2016 – 85.25.211.10
2016–2016 – 138.201.198.164
2016–2017 – 124.217.254.55
2017–2017 – 46.249.49.231
2017–2017 – 37.59.14.94
2017–2017 – 213.239.202.149
2017–2017 – 88.198.13.116
2017–2017 – 217.12.202.111
2017–2017 – 176.31.116.140
2017–2018 – 185.217.0.121
2017–2018 – 178.150.0.200
2018–2018 – 176.121.10.137
2018–2018 – 178.255.40.194
2018–2018 – 193.105.134.56
2018–2018 – 94.130.88.50
2018–2018 – 185.216.33.126

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


All Articles