Organisasi terus menerapkan layanan berbasis cloud, perubahan yang telah menyebabkan adopsi lingkungan identitas hybrid yang lebih luas yang menghubungkan on premises Active Directory dengan Microsoft Entra ID (sebelumnya Azure AD). Untuk mengelola perangkat di lingkungan identitas hybrid ini, Microsoft Intune (Intune) telah muncul sebagai salah satu solusi manajemen perangkat paling populer. Karena platform perusahaan tepercaya ini dapat dengan mudah diintegrasikan dengan perangkat dan layanan Active Directory lokal, ini adalah target utama bagi penyerang untuk menyalahgunakan untuk melakukan gerakan lateral dan eksekusi kode.
Risaet ini akan memberikan latar belakang tentang Intune, bagaimana itu digunakan dalam organisasi dan menunjukkan cara menggunakan platform berbasis cloud ini untuk menerapkan aplikasi kustom untuk mencapai eksekusi kode pada perangkat pengguna. Selain itu, riset ini mencakup rilis publik aturan Microsoft Sentinel baru untuk membantu pihak pertahanan mendeteksi penggunaan Intune untuk gerakan lateral dan panduan pengerasan defensif untuk platform Intune.
Andy Robbins menulis postingan blog yang luar biasa pada tahun 2020 berjudul, “Death from Above: Lateral Movement from Azure to On-Prem AD,” yang mencakup cara menyalahgunakan Intune untuk menerapkan skrip PowerShell ke host target, bersama dengan panduan defensif untuk melindungi terhadap skenario serangan itu. Hasil riset X-Force kami dibangun berdasarkan riset Robbins dengan menunjukkan cara melakukan eksekusi kode yang ditargetkan dengan menggunakan aplikasi dan cara melakukan pemicu ad-hoc untuk host Windows untuk mengunduh dan menjalankan aplikasi tersebut. Riset ini juga mencakup aturan Microsoft Sentinel yang baru dibuat untuk mendeteksi penyalahgunaan Intune untuk memfasilitasi gerakan lateral dan panduan pengerasan untuk platform Intune.
Chris Thompson merilis alat bernama Maestro di DEF CON 32 Demo Labs yang dapat digunakan untuk melakukan pengintaian pengguna dan perangkat melalui Intune, bersama dengan eksekusi perintah melalui skrip Intune PowerShell atau aplikasi Windows dari kerangka kerja. Pastikan untuk memeriksa alat ini dan riset Chris. Penelitian X-Force berikut berbeda, karena menunjukkan bagaimana melakukan aktivitas gerakan lateral ini melalui antarmuka web Microsoft Intune dan cara mengemas beberapa file untuk digunakan sebagai bagian dari aplikasi Windows khusus untuk eksekusi kode. Selain itu, riset X-Force ini mencakup lebih banyak cara untuk memicu skrip Intune PowerShell dan aplikasi Windows untuk dijalankan, bersama dengan rilis logika aturan deteksi Sentinel untuk mendeteksi aktivitas gerakan lateral yang menyalahgunakan Intune.
Tetap terinformasi tentang tren industri yang paling penting—dan menarik—tentang AI, otomatisasi, data, dan di luarnya dengan buletin Think. Lihat Pernyataan Privasi IBM®.
Banyak perusahaan telah mulai mengadopsi lingkungan identitas hybrid, yang berarti koneksi lingkungan Active Directory lokal dengan Microsoft Entra ID (sebelumnya Azure AD). Hal ini memungkinkan organisasi menjadi lebih fleksibel dan efisien, yang mencakup manajemen perangkat pengguna yang lebih baik dan akses pengguna ke aplikasi berbasis cloud. Secara khusus, ketika perangkat digabungkan secara hybrid, perangkat tersebut terlihat dan dapat dikelola baik di Active Directory lokal dan Microsoft Entra ID. Karena konfigurasi ini, kompromi solusi manajemen perangkat berbasis cloud dapat memfasilitasi gerakan lateral ke perangkat on premises, seperti workstation pengguna yang digabungkan secara hybrid.
Microsoft Intune adalah solusi manajemen perangkat berbasis cloud yang dapat digunakan untuk mengelola konfigurasi perangkat yang terhubung ke Azure, seperti perangkat yang digabungkan secara hybrid. Bagian berikut menyoroti bagaimana Intune dapat digunakan dan dikelola oleh organisasi.
Microsoft menawarkan beberapa solusi untuk mengelola perangkat di dalam perusahaan. Beberapa solusi tersebut tercantum di bawah ini:
Contoh penggunaan strategis utama bagi organisasi untuk menggunakan Microsoft Intune adalah:
Microsoft menyediakan dokumentasi terperinci tentang berbagai peran yang tersedia di Intune, bersama dengan hak istimewa setiap peran. Dua peran istimewa dalam Intune yang memungkinkan pembuatan skrip PowerShell atau aplikasi Windows adalah Global Administrator dan Intune Service Administrator (alias Intune Administrator ).
Ada beberapa opsi untuk melakukan eksekusi kode pada host Windows melalui Microsoft Intune. Skrip PowerShell dapat digunakan untuk memungkinkan eksekusi kode melalui eksekusi perintah langsung dalam skrip. Jenis eksekusi kode lainnya pada perangkat Windows meliputi penerapan aplikasi. Beberapa jenis aplikasi terkenal tercantum di bawah ini:
File log ditulis oleh Intune Management Extension di C:\ProgramData\Microsoft\IntuneManagementExtension\Logs. Log ini dapat berguna untuk melihat kapan perangkat telah melakukan check in dengan Intune dan apakah ada skrip PowerShell atau aplikasi Windows yang telah dijalankan.
Saat Intune menjalankan skrip PowerShell, Intune akan membuat salinan sementara skrip tersebut di disk pada C:\Program Files (x86)\Microsoft Intune Management Extension\Policies\Scripts dan kemudian menyimpan hasil skrip tersebut di C:\Program Files (x86)\Microsoft Intune Management Extension\Policies\Results. Setelah skrip selesai, skrip sementara dan hasil dihapus.
Ketika Intune menjalankan aplikasi Windows, aplikasi diterapkan dan dijalankan dari C:\Windows\IMECache\[UNIQUE_GUID]. Setelah aplikasi selesai dijalankan, direktori dihapus.
Ada beberapa teknik gerakan lateral yang terkenal di kalangan vendor produk keamanan dan praktisi keamanan defensif, yang memiliki dokumentasi yang tersedia di Kerangka Kerja MITRE ATT&CK. Teknik gerakan lateral Windows ini terutama memanfaatkan protokol dan layanan administratif yang dapat menjalankan program atau skrip. Beberapa teknik gerakan lateral umum yang digunakan oleh aktor ancaman dan praktisi keamanan ofensif termasuk penggunaan Windows Management Instrumentation (WMI), tugas terjadwal, layanan dan model objek komponen terdistribusi (DCOM) untuk mengeksekusi program atau skrip. Dari perspektif keamanan operasional, menemukan teknik unik yang dapat mengeksekusi skrip dan program saat berasal dari perangkat lunak tepercaya sangat penting. Teknik semacam itu dapat berbaur dengan aktivitas bisnis biasa dan dapat diabaikan oleh tim keamanan defensif.
Jika Anda telah mengakses akun pengguna Azure dengan izin yang sesuai seperti yang ditunjukkan di bagian Akses Berbasis Peran Microsoft Intune, maka Anda dapat melakukan eksekusi kode pada host Windows mana pun yang telah menginstal agen Intune dengan menerapkan skrip PowerShell atau aplikasi. Ini dapat digunakan sebagai pemicu eksekusi gerakan lateral yang tersembunyi dan unik yang berasal dari perangkat lunak perusahaan tepercaya.
Skenario yang ditunjukkan pada bagian berikut ini mengasumsikan akses istimewa yang diperoleh dalam pusatadmin Intune. Selain itu, sebagai bagian dari skenario ini, tujuannya adalah untuk mendapatkan akses perintah dan kontrol (C2) interaktif melalui beacon Cobalt Strike pada host target saat menggunakan Intune sebagai pemicu eksekusi gerakan lateral.
Intune menggunakan grup Entra ID untuk mengontrol di mana skrip atau aplikasi dijalankan. Oleh karena itu, jika host atau grup host yang Anda targetkan belum menjadi anggota grup, Anda harus membuatnya untuk mereka sehingga Anda dapat mengontrol di mana skrip atau aplikasi Anda dijalankan. Biasanya, dalam lingkungan identitas hybrid, Anda dapat melihat perangkat terkait pengguna dalam ID Entra. Ini akan memungkinkan Anda untuk membuat daftar host yang ditargetkan. Informasi ini juga dapat diambil dengan menggunakan alat dan skrip otomatis, seperti ROADtools.
Jika Anda perlu membuat grup Microsoft Entra ID baru untuk menetapkan host target Anda, pilih “Groups” > “New group” di dalam pusat admin Intune.
Anda dapat memilih untuk memilih host target atau pengguna, seperti yang ditunjukkan pada tangkapan layar masing-masing di bawah ini. Dalam kasus ini, kita membuat grup untuk menargetkan host WIN-8675309 .
Ringkasan grup Anda akan ditampilkan, dan Anda kemudian dapat membuatnya.
Ada beberapa cara untuk memicu ad-hoc langsung dari skrip PowerShell yang Anda terapkan atau aplikasi Windows dari Intune. Itu termasuk:
Atau, Anda dapat menunggu waktu berikutnya perangkat memulai ulang sendiri atau saat berikutnya agen Intune host memeriksa skrip PowerShell atau aplikasi Windows baru menggunakan Intune.
Menerapkan aplikasi Windows alih-alih skrip PowerShell adalah metode alternatif untuk melakukan eksekusi kode. Metode ini lebih fleksibel, karena memungkinkan pengemasan beberapa file yang diterapkan dan dieksekusi pada host target oleh agen Intune. Hal ini bermanfaat dari sudut pandang penyerang untuk penerapan payload, seperti menerapkan payload sideload DLL yang membutuhkan banyak file. Proses menerapkan Dism.exe DLL sideload payload lewat aplikasi Windows Intune akan dirinci di bawah ini.
Gunakan Win32 Content Prep Tool dari Microsoft untuk mengemas file muatan dalam file .intunewin . Ini adalah format file terkompresi yang memungkinkan penerapan aplikasi yang aman. Detail mengenai cara kerja kemasan ini dapat ditemukan di postinganblog ini. Dalam contoh ini, kita memiliki direktori yang berisi file yang dapat dieksekusi dan DLL. Kita menggunakan Win32 Content Prep Tool untuk mengemas file-file tersebut ke dalam file .intunewin .
File output .intunewin akan ditulis ke direktori output yang Anda tentukan. Dalam hal ini, kita telah mengemas Dism.exe dan DismCore.dll di dalam file Dism.intunewin .
Sekarang setelah membuat paket aplikasi, Anda dapat melanjutkan dengan menerapkannya. Dalam pusat admin Intune, buka “Apps” > “Windows apps” > “Add”.
Pilih “Windows app (Win32)” dari menu dropdown:
Unggah file .intunewin yang telah dibuat sebelumnya dan isi informasi untuk aplikasi Anda.
Selanjutnya, tambahkan perintah install , yang akan menjadi perintah eksekusi (Dism.exe) dalam kasus ini. Untuk perintah uninstall , Anda dapat memasukkan apa saja. Selain itu, kita memilih untuk menjalankan aplikasi ini sebagai “System” dan untuk perilaku mulai ulang perangkat kita telah memilih “No specific action”. Ketika memilih “System”, ini berarti akan berjalan sebagai akun NT AUTHORITY\SYSTEM.
Aturan deteksi digunakan untuk mencegah instalasi aplikasi ketika sudah ada. Oleh karena itu, jika hasil aturan deteksi berhasil, aplikasi tidak akan diinstal. Karena kita ingin aplikasi berjalan apa pun yang terjadi, kita telah mengunggah skrip PowerShell dalam kasus ini yang mencoba mengeksekusi biner yang tidak ada. Dengan cara ini, skrip deteksi akan selalu gagal, yang berarti aplikasi tidak ada, dan instalasi akan dilanjutkan.
Lewati bagian “Dependencies” serta “Supersedence” dan tambahkan grup dengan host target Anda di bagian “Assignments”:
Setelah membuat aplikasi Windows, Anda akan melihatnya di dalam pusat admin Intune dan kolom “Assigned” akan mengatakan “Yes”. Ini berarti bahwa aplikasi Windows telah ditetapkan ke grup yang Anda tentukan dan sedang menunggu untuk digunakan dan dijalankan.
Untuk memicu ad-hoc dari agen Intune pada host target, kita akan memulai ulang layanan “IntuneManagementExtension”. Diperlukan waktu hingga lima menit setelah layanan dimulai ulang agar host target mengunduh dan menjalankan aplikasi Windows Anda dari Intune. Jika host target belum mengunduh dan menjalankan aplikasi Windows Anda setelah lima menit, layanan mungkin harus dimulai ulang lagi. Metode lain untuk memicu ad-hoc ada di bagian Memicu Ad-Hoc.
Setelah layanan dimulai ulang, Anda dapat memantau AgentExecutor.log dan IntuneManagementExtension.log dalam direktoriC:\ProgramData\Microsoft\IntuneManagementExtension\Logs pada host target. Setelah tanggal modifikasi terakhir pada file AgentExecutor.log telah diperbarui, agen Intune seharusnya mengunduh dan menjalankan aplikasi Windows. Selain itu, Anda dapat memantau direktori C:\Windows\IMECache untuk melihat kapan file aplikasi Anda telah diunduh. Akan ada subfolder yang dibuat dengan GUID unik.
Pada titik ini, aplikasi telah diterapkan dan dijalankan, dan kami telah memperoleh beacon Cobalt Strike pada host target WIN-8675309.
Beberapa pertimbangan defensif akan diuraikan di bagian ini untuk meningkatkan kemampuan pengerasan konfigurasi dan deteksi untuk Intune terhadap skenario serangan yang dijelaskan dalam riset ini.
Untuk membuat aturan deteksi atau perburuan ancaman untuk aktivitas gerakan lateral yang menyalahgunakan Intune, Anda harus terlebih dahulu mengaktifkan pencatatan audit. Di dalam pusat admin Intune, pilih “Tenant administration” > “Diagnostic settings” > “Add diagnostic setting”:
Pilih “AuditLogs” dan “OperationAllogs”, lalu pilih untuk mengirim log Anda ke ruang kerja Log Analytics:
Anda akan mulai melihat skema IntuneAuditLogs dan IntuneOperationalLogs mulai terisi dalam ruang kerja Log Analytics Anda.
Setelah mulai menerima log Intune di ruang kerja Log Analytics, Anda dapat menggunakan ruang kerja tersebut di instans Microsoft Sentinel untuk mulai membuat perburuan ancaman dan aturan analitik, yang akan diuraikan di bagian berikut.
Saat ini tidak ada aturan analitik yang tersedia untuk umum untuk Microsoft Sentinel untuk deteksi skenario serangan Intune yang dijelaskan dalam riset ini. Oleh karena itu, disediakan di bagian di bawah ini adalah beberapa bagian logika aturan yang dapat diterapkan sebagai aturan analitik terjadwal dalam Microsoft Sentinel untuk skenario serangan di bawah ini dalam Intune:
Untuk setiap aturan analitik ini, disarankan untuk melakukan pengujian dan penyetelan di lingkungan Anda dengan tepat. Kueri KQL yang disorot di bawah ini dapat disalin dan ditempelkan dari repositori KQL-Queri ini.
Logika aturan yang ditautkan di bawah ini akan mengingatkan setiap kali pengguna telah membuat skrip PowerShell atau aplikasi Windows untuk penerapan.
CreatedPSScriptOrWindowsApp.kql
Contoh pemicu aturan ini di Microsoft Sentinel ditunjukkan pada tangkapan layar di bawah ini.
Logika aturan yang ditautkan di bawah ini mengembalikan pengguna yang telah membuat dan menghapus skrip PowerShell dalam waktu 24 jam. Ini bisa menjadi bukti penyerang yang mencoba menutupi jejak mereka setelah menerapkan skrip PowerShell.
Contoh pemicu aturan ini di Microsoft Sentinel ditunjukkan pada tangkapan layar di bawah ini:
Logika aturan yang ditautkan di bawah ini mengembalikan pengguna yang telah membuat dan menghapus aplikasi Windows dalam waktu 24 jam. Ini bisa menjadi bukti penyerang yang mencoba menutupi jejak mereka setelah menerapkan aplikasi Windows.
CreatedAndDeletedWindowsApp.kql
Contoh pemicu aturan ini di Microsoft Sentinel ditunjukkan pada tangkapan layar di bawah ini:
Logika aturan yang ditautkan di bawah ini mengembalikan pengguna yang telah membuat skrip PowerShell atau aplikasi Windows dan juga telah memerintahkan mulai ulang perangkat dalam waktu 24 jam.
CreatedPSScriptOrWindowsAppForcedRestart.kql
Contoh pemicu aturan ini di Microsoft Sentinel ditunjukkan pada tangkapan layar di bawah ini:
Logika aturan di bawah ini mengembalikan pengguna yang telah membuat skrip PowerShell atau aplikasi Windows dan juga telah memerintahkan sinkronisasi perangkat dalam waktu 24 jam.
CreatedPSScriptOrWindowsAppForcedSync.kql
Contoh pemicu aturan ini di Microsoft Sentinel ditunjukkan pada tangkapan layar di bawah ini:
Kebijakan persetujuan dapat dibuat sehingga anggota dalam grup tertentu akan diminta untuk menyetujui setiap penerapan skrip atau aplikasi baru. Menerapkan kebijakan ini bersama dengan aturan deteksi yang diuraikan sebelumnya dapat secara signifikan meningkatkan postur keamanan instans Intune Anda.
Buka “Tenant administration” > “Multi Admin Approval” > “Access policies” > “Create”.
Isi informasi yang diperlukan, seperti nama kebijakan akses, deskripsi, dan jenis profil. Untuk jenis profil, pilih “Script”.
Tambahkan grup atau beberapa grup yang akan bertanggung jawab untuk menyetujui penerapan skrip baru.
Setelah membuat kebijakan Anda, Anda akan melihatnya diisi di tab “Access policies”.
Sekarang setelah kebijakan diterapkan, ketika pengguna mencoba membuat skrip baru, mereka akan menerima pesan di bawah ini. Setelah mengirimkan permintaan dengan justifikasi bisnis, pemberi persetujuan dari grup tertentu harus mengizinkan skrip untuk diterapkan.
Langkah-langkah yang sama yang diuraikan sebelumnya juga dapat dilakukan untuk memerlukan persetujuan untuk penerapan aplikasi apa pun. Pastikan Anda memilih “App” dari menu drop-down Jenis profil saat membuat kebijakan akses.
Anda dapat melihat ringkasan kebijakan kami yang telah kami buat yang mencakup jenis Profil “App”.
Sekarang kebijakan diterapkan ketika pengguna mencoba membuat aplikasi baru, mereka akan menerima pesan di bawah ini. Setelah mengirimkan permintaan dengan justifikasi bisnis, pemberi persetujuan dari grup persetujuan tertentu harus menyetujuinya sebelum aplikasi diterapkan.
Microsoft memiliki panduan praktik terbaik Microsoft Entra ID yang menyoroti panduan terperinci tentang mengamankan konfigurasi Microsoft Entra ID Anda. Beberapa rekomendasi yang lebih penting terkait dengan penyalahgunaan peran istimewa di Microsoft Intune adalah:
Adopsi arsitektur identitas hybrid dan penggunaan layanan berbasis cloud terus meningkat. Organisasi bergantung pada layanan berbasis cloud ini untuk mengelola infrastruktur perusahaan mereka, termasuk mengelola titik akhir pengguna dan perangkat pribadi yang terhubung ke Office 365 dan layanan berbasis cloud lainnya. Dengan demikian, kemampuan mendeteksi penyalahgunaan layanan berbasis cloud seperti Microsoft Intune dengan benar telah menjadi lebih penting dari sebelumnya. X-Force bertujuan untuk riset ini untuk menyoroti dan menginspirasi penyelidikan lebih lanjut untuk mempertahankan layanan berbasis cloud penting lainnya yang dapat disalahgunakan oleh aktor ancaman untuk gerakan lateral dan eksekusi kode.
Terima kasih khusus kepada orang-orang di bawah ini untuk memberi masukan tentang riset ini dan ulasan konten postingan blog: