Penulis: Matt Kiely, Peneliti Keamanan Utama di Huntress Labs
Tl;dr: Jika Anda mengelola satu penyewa Microsoft 365 saja, sekarang saatnya mengaudit aplikasi OAuth Anda. Berdasarkan statistik, ada kemungkinan besar aplikasi berbahaya mengintai di lingkungan Anda.
Saya menulis skrip sumber terbuka yang dapat membantu Anda melakukan ini: https://github.com/HuskyHacks/cazadora
Secara khusus, lihat di Aplikasi Perusahaan dan Pendaftaran Aplikasi Anda untuk:
-
Aplikasi diberi nama berdasarkan akun pengguna
-
Aplikasi bernama “Test” atau “Test App” atau sejenisnya
-
Aplikasi diberi nama sesuai nama domain penyewa tempat aplikasi tersebut diinstal
-
Aplikasi yang menggunakan string arbitrer sebagai nama yang ditentukan, seperti aplikasi dengan nama non-alfanumerik (yaitu “……..”)
-
URL balasan yang tidak wajar, khususnya menyertakan URL loopback lokal dengan port 7823 [“http://localhost:7823/access/”]
Serius, audit aplikasi Anda! Artikelnya akan ada di sini saat Anda kembali.
Jika Anda tertarik dengan hal-hal intel ancaman kutu buku, baca terus.
Bayangkan ini: ini adalah hari Minggu pagi yang indah dan Anda menantikan hari istirahat yang layak setelah minggu yang berat. Anda dengan grogi tersandung ke dapur dan menyiapkan minuman berkafein pilihan Anda. Matahari bersinar. Burung-burung berkicau. Anda mencondongkan tubuh ke luar jendela dan merasakan angin musim panas melintasi alis Anda. Anda merasa damai sejenak. Anda senang masih hidup.
Dan kemudian Anda melihat ke bawah dan melihat bahwa di ambang jendela Anda berdiri seekor rayap yang menyendiri.
Dan pada awalnya Anda berpikir, “Yah, itu hanya seekor rayap, bukan masalah besar.”
Dan kemudian Anda memikirkannya sejenak. Dan darah Anda menjadi dingin karena Anda menyadari kebenaran yang mengerikan: ini adalah satu-satunya rayap yang pernah Anda lihat, namun tidak pernah hanya ada satu rayap saja.
Harapan Anda untuk bersantai menguap saat Anda menyusun rencana untuk merobek papan lantai dapur Anda.
Kurang lebih inilah posisi yang saya dan staf lain di Huntress temukan ketika kami mulai melihat data tentang aplikasi Azure dan bagaimana aplikasi tersebut digunakan secara jahat di penyewa mitra kami. Jadi ikutlah bersama kami dalam perjalanan liar sambil merobek papan lantai dapur dan mengungkap seberapa besar sebenarnya sarang rayap itu!
Serangan Aplikasi OAuth
Sejak merilis Kemampuan Akses yang Tidak DiinginkanSOC Pemburu sedang sibuk menghitung jumlah serangan identitas yang dapat dicegah. Kami membangun kemampuan untuk menargetkan area utama akses awal di ruang identitas, termasuk pencurian kredensial, pencurian token, musuh di tengah (AitM) serangan, dan lokasi/VPN login anomali.
Menurut data, kemampuan tersebut telah memberikan dampak besar pada aktivitas pelaku ancaman dan kini kami berhasil menekan tiga hingga enam ribu kasus akses awal setiap bulannya.
Namun sesuai dengan seni pertahanan dunia maya, tidak ada gunanya bagi kita untuk berpuas diri. Peretas itu seperti zombie Saya Legenda.
Mengapa? Nah, keduanya sama-sama terbakar jika terkena sinar matahari langsung. Namun yang lebih penting, keduanya akan berkembang ke titik di mana pertahanan Anda saat ini tidak ada artinya setelah cukup waktu berlalu. Oleh karena itu, kami berupaya mencari cara baru untuk mengidentifikasi dan memutus rantai serangan mereka.
Salah satu bidang penelitian yang mendesak adalah konsep Aplikasi Rogue. Aplikasi cloud adalah bagian inti dari pengalaman pengguna dan memberi pengembang perangkat canggih untuk dibangun dan dikembangkan. Namun seperti yang telah kita pelajari baru-baru ini, manfaat yang sama yang menjadikan aplikasi cloud begitu menarik bagi administrator dan pengembang aplikasi juga menjadikannya pilihan yang menarik bagi penjahat dunia maya.
Tampaknya ini adalah tempat terbaik berikutnya untuk mulai mencari serangan yang berhasil lolos dari sistem kami dalam memerangi akses awal.
Jadi tim berangkat dengan beberapa pertanyaan penelitian untuk dijawab. Bagaimana cara kerja aplikasi OAuth di Azure? Bagaimana mereka dapat dimanfaatkan ketika terjadi serangan? Apa yang membuat mereka begitu kuat dan berguna bagi penjahat dunia maya? Apa cara terbaik untuk memburu aplikasi jahat ini? Dan pertanyaan terakhir yang menimbulkan rasa takut dalam diri saya: berapa banyak orang di luar sana?
Dalam mencari jawaban atas pertanyaan-pertanyaan ini, kami akhirnya mendapatkan lebih dari yang kami harapkan.
Sistem yang Dimainkan: Cara Kerja Aplikasi OAuth
Bertahanlah, karena inilah kursus kilat tentang aplikasi Azure dan cara kerjanya. Saya akan mulai dengan mengatakan bahwa sistem ini rumit dan aneh.
Salah satu sumber yang membantu pemahaman saya adalah Kuliah Pelatihan Teknis John Savill tentang Pendaftaran Aplikasi Azure, Aplikasi Perusahaan, dan Prinsipal Layanan. Dan terlepas dari manfaatnya, John adalah master bersertifikat administrasi Azure dan gambar mini video ini menunjukkan dia tampak khawatir karena harus menjelaskan konsep tersebut.
Jadi, jangan khawatir untuk memahami sistem hingga ke seluk beluknya. Untuk keperluan blog ini, saya akan menjelaskan konsep-konsep yang relevan secara langsung dengan bagaimana aplikasi dapat digunakan secara jahat.
Aplikasi di cloud mirip dengan aplikasi di ponsel atau PC Anda. Itu adalah program modular yang dirancang untuk melakukan sesuatu yang bermanfaat. Aplikasi di Azure terhubung ke ID Entra sehingga akun M365 Anda dapat, misalnya, menggunakan klien desktop yang mengatur email akun cloud Anda.
Azure membagi aplikasi menjadi dua kategori: Aplikasi Perusahaan Dan Pendaftaran Aplikasi. Menurut saya konvensi penamaan ini sangat membingungkan dan butuh beberapa saat untuk memilah mana yang ada dalam pikiran saya, namun perbedaan utamanya dapat diringkas dengan, “Apakah Anda membuat aplikasinya, atau apakah Anda menggunakan aplikasi yang dibuat orang lain?”
Aplikasi perusahaan adalah aplikasi yang dibuat, dikelola, dan diterbitkan oleh orang lain di penyewa lain yang kini Anda gunakan di penyewa Anda sendiri.
Pendaftaran Aplikasi adalah aplikasi yang Anda buat, pelihara, dan publikasikan di penyewa Anda sendiri agar dapat digunakan orang lain. Dengan kata lain, Pendaftaran Aplikasi mirip dengan templat untuk suatu aplikasi, sedangkan Aplikasi Perusahaan adalah turunan dari aplikasi yang digunakan seseorang.
Pengembang akan seolah-olah menulis kode untuk aplikasi tersebut dan kemudian membuat Registrasi Aplikasi di penyewa mereka sendiri sebelum menerbitkannya untuk penggunaan publik atau internal.
Sekarang, katakanlah beberapa administrator yang giat ingin menginstal aplikasi Anda di penyewa mereka. Mungkin mereka menemukan situs web Anda dan menganggap aplikasi Anda terlihat berguna. Aplikasi tidak bisa menginstal sendiri di mana pun mereka mau. Bisakah Anda bayangkan? Ini akan menjadi kekacauan.
Jadi harus ada suatu sistem otentikasi (authN) dan otorisasi (authZ) sebelum seseorang dapat menginstal aplikasi di penyewanya. Biasanya seperti ini:
-
Pengguna akan meminta untuk menginstal aplikasi. Saat melakukan ini, pengguna mengautentikasi dengan nama pengguna, kata sandi, dan MFA mereka untuk memastikan bahwa aplikasi diinstal oleh pihak tepercaya.
-
Aplikasi ini memiliki serangkaian izin yang memungkinkannya melakukan apa pun yang dirancang untuk dilakukannya. Misalnya, izin mungkin mengizinkan aplikasi mengakses Graph API untuk mengambil email pengguna. Aplikasi ini menyajikan permintaan kepada pengguna untuk menyetujui izin tersebut.
-
Pengguna menyetujui izin dan memberi wewenang aplikasi untuk mengakses sumber daya berdasarkan izin tersebut. Dengan otentikasi Dan otorisasi sekarang telah diurutkan, aplikasi dapat melakukan apa yang dirancang untuk dilakukan.
-
A prinsipal layanan kini dipasang di penyewa pengguna yang bertindak sebagai akun untuk aplikasi ini. Itu melacak izin yang disetujui dan identitas yang telah menyetujui aplikasi. Akun layanan bertindak atas nama aplikasi sementara aplikasi tetap terinstal di penyewa.
Jika Anda melewatkan bagian sebelumnya karena membosankan, saya tidak dapat menyalahkan Anda. Namun kesimpulannya adalah sebagai berikut:
-
Aplikasi dapat dibuat sendiri (Pendaftaran Aplikasi) atau diinstal dari penyewa lain (Aplikasi Perusahaan).
-
Aplikasi dapat memiliki akses yang didelegasikan atas nama satu atau beberapa pengguna di penyewa untuk mengakses sumber daya.
-
Aplikasi Azure menggunakan sistem autentikasi dan otorisasi bawaan agar berfungsi.
-
Setiap kali aplikasi diinstal di suatu tempat, perwakilan layanan diinstal di penyewa tersebut yang berfungsi sebagai akun kerja untuk aplikasi tersebut.
-
Dan yang terakhir, konfigurasi default Azure memungkinkan pengguna mana pun untuk menginstal aplikasi apa pun dan menyetujui izin khusus untuk akses sumber daya mereka sendiri tanpa memerlukan peninjauan aplikasi!
Apa yang kita miliki di sini adalah serangkaian primitif yang fantastis untuk dieksploitasi.
Mengapa? Siapa pun yang telah menghabiskan waktu mengelola sistem autentikasi dan otorisasi yang besar dan rumit akan memberi tahu Anda bahwa penyerang senang menemukan celah sistem yang tidak dapat ditambal untuk melakukan eksploitasi.
Setiap pemain tim merah yang telah menjalankan a Serangan Kerberoasting akan memberi tahu Anda bahwa primitif eksploitasi terbaik adalah fitur, bukan bug, dan oleh karena itu tidak dapat ditambal. Aplikasi di Azure mengikuti aksioma ini—aplikasi adalah bagian dari ekosistem, baik atau buruk.
Kemampuan penyesuaiannya memberi penyerang banyak opsi untuk menyesuaikan aplikasi dengan jenis serangan yang ingin mereka lakukan. Dan mereka sebagian besar tidak terdeteksi radar mengingat betapa bodohnya keseluruhan sistem ini.
Saat Anda menggunakan aplikasi di Azure, baik jahat atau tidak, Anda sepenuhnya berada dalam perancah sah yang memungkinkan aplikasi berfungsi. Bagi pelaku ancaman, sistem ini sangat ampuh untuk digunakan. Mari kita cari tahu seberapa berguna sistem ini.
Penilaian Keamanan Identitas Pemburu Penyalahgunaan
Mulai dari berpikir hingga mengetahui bahwa Anda aman dengan Penilaian Keamanan Identitas.
Mulai uji coba ITDR Terkelola untuk mengungkap aplikasi jahat, login mencurigakan, aturan kotak masuk tersembunyi, dan aktivitas akses berisiko di penyewa Microsoft 365 Anda. Dapatkan Penilaian Keamanan Identitas yang disesuaikan, langsung ke kotak masuk Anda.
Kasus terburuk? Kami menemukan sesuatu. Kasus terbaik? Kamu tahu.
Pengkhianat: Aplikasi Bagus Menjadi Nakal
Linggis adalah alat yang sangat berguna. Anda dapat menggunakannya untuk membuka peti, membuka pintu jika macet, dan jika beruntung, bahkan melarikan diri dari fasilitas penelitian bawah tanah besar-besaran di gurun New Mexico. Jika Anda mendapatkan referensi terakhir itu, Anda lulus pemeriksaan getaran.
Linggis saja tidak baik dan tidak buruk. Ini berguna dalam banyak konteks berbeda. Dan konteks tersebut menentukan bagaimana kita memandang linggis sebagai sebuah alat. Jadi apakah Anda membuka peti perbekalan atau membobol rumah seseorang, linggisnya tetap sama. Tentu saja, Anda tidak bisa mengatakan semua linggis itu jahat. Tapi sering kali Anda melihat seseorang membobol rumah, mereka punya linggis!
Di dunia aplikasi Azure, kategori aplikasi pertama yang kami cari sangat mirip dengan linggis. Kami menyebut kategori ini Pengkhianat.
Istilah r ditujukan untuk aplikasi yang tidak dirancang secara eksplisit untuk tujuan jahat, namun ternyata sangat berguna bagi peretas, penjahat dunia maya, dan orang-orang yang tidak bertanggung jawab. Kami mencari aplikasi yang banyak digunakan dalam serangan, meskipun aplikasi tersebut tidak jahat.
Analog keamanan titik akhir yang paling dekat dengan ini adalah antara Living Off the Land dan Bring Your Own tools. Jenis serangan ini paling mirip dengan instalasi Pemantauan dan Manajemen Jarak Jauh (RMM) selama intrusi titik akhir—pelaku ancaman membawa alat yang sah untuk melawan yang ternyata berguna untuk tujuan tersembunyi mereka.
Pada saat menulis posting ini, ada lima aplikasi yang kami anggap sebagai senjata merokok. Secara statistik, kelima aplikasi ini disukai oleh para penyerang. Dengan ukuran sampel sekitar 1,5 ribu kasus yang dilaporkan dan rata-rata tingkat positif palsu sebesar 1,8%, data mendukung bahwa mendeteksi aplikasi ini akan mengungkap lebih banyak aktivitas peretasan dibandingkan aktivitas sah.
Daftar lengkap aplikasi Traitorware yang telah kami kumpulkan sejauh ini dan rincian lebih lanjut tentang seberapa sering aplikasi tersebut disalahgunakan tersedia di kami repositori sumber terbuka Aplikasi Rogue.
Jika Anda pernah melihat aplikasi disalahgunakan dengan cara serupa, kami akan senang mendengarnya! Harap pertimbangkan untuk membuka PR dan berkontribusi pada basis pengetahuan sehingga kami dapat mendefinisikan dan melacak permukaan serangan menarik yang muncul ini dengan lebih baik.
Stealthware: Aplikasi Jahat dari Peternakan ke Meja
Di sisi lain, ekosistem aplikasi Azure juga memberi peretas alat untuk membangun aplikasi dari awal yang dirancang untuk mendatangkan malapetaka.
Yang saya bicarakan adalah dari peternakan ke meja, dalam jumlah kecil, ditanam di rumah, bersumber secara etis, diternakkan secara bebas, aman untuk lumba-lumba, buatan tangan, dan dibuat dengan tangan. APLIKASI JAHAT. Dibuat oleh tangan hacker dan dikirimkan langsung ke penyewa Anda.
Nama panjang untuk serangan ini adalah “Serangan Pemberian Persetujuan Terlarang OAuth” tapi itu seperti memanggil seekor anjing Canis Lupus. Hanya kutu buku yang menggunakan tata nama ilmiah, jadi Anda bisa menjadi kutu buku keren seperti saya dan menelepon mereka Perangkat tersembunyi.
Bagian yang sulit tentang berburu aplikasi Stealthware adalah tidak ada dua di antara keduanya yang sama. Anda tidak dapat menemukannya dengan mencari nama aplikasi tertentu. Setiap aplikasi dibuat khusus dan disesuaikan dengan jenis eksploitasi yang ingin dilakukan peretas.
Saya mengajarkan cara membuatnya untuk tujuan pendidikan sebuah episode Tradecraft Selasajika Anda tertarik dengan hal semacam itu.
Perburuan sedang Bergerak
Setelah model ancaman kita terselesaikan, sekarang saatnya mempelajari data dan mencari tahu jawaban atas pertanyaan: “Selain satu rayap tersebut, ada berapa banyak lagi rayap di luar sana?” Untuk melakukan hal ini, saya dan Staf Pengembang Operasi Ancaman Christina Parry memulai perjalanan pengumpulan data.
Kami menghitung lebih dari 8000 penyewa di berbagai vertikal dan industri, mengumpulkan semua Aplikasi Perusahaan dan Pendaftaran Aplikasi mereka, menjalankan sejumlah analisis terhadap data, dan mempresentasikan temuan kami di BSidesNYC pada Oktober 2024. Panjang dan pendeknya adalah ini:
-
Kami menemukan bukti Traitorware dan Stealthware pada penyewa yang disurvei.
-
Sekitar 10% penyewa yang disurvei memiliki setidaknya satu aplikasi Traitorware yang terinstal.
-
Menggunakan kombinasi kelangkaan global, jumlah pengguna yang ditugaskan per aplikasi, dan izin yang diberikan aplikasi adalah cara yang efektif untuk memburu Stealthware.
-
Aplikasi dengan prevalensi global kurang dari 1% di seluruh penyewa yang disurvei dan telah mendelegasikan akses ke satu pengguna lebih cenderung merupakan Stealthware. Penambahan pengelompokan izin OAuth ke dalam grup berdasarkan apa yang mereka izinkan untuk dilakukan peretas selama intrusi dan mendeteksi aplikasi langka yang juga memiliki izin kuat meningkatkan tingkat keberhasilan secara signifikan.
Setelah presentasi kami, kami mulai bekerja membangun sistem untuk memperluas data dan menangkap data untuk semua penyewa mitra Huntress. Setelah menganalisis ulang dan menyesuaikan analisis kami, kami menemukan bahwa temuan mengenai aplikasi Traitorware tetap konsisten di sekitar 10%.
Setelah mempublikasikan temuan kami, SOC Pemburu juga mulai bekerja. Dengan menggunakan telemetri baru, mereka membentuk hipotesis berburu dan mengidentifikasi lebih dari 500 contoh aplikasi Stealthware di seluruh penyewa mitra.
Saya sebutkan sebelumnya bahwa Anda tidak dapat berburu Stealthware dengan mencari nama aplikasi dan hasilnya membuktikan hal itu. Ini hanyalah contoh dari beberapa nama aplikasi yang terkonfirmasi benar-benar positif yang kami temukan:
Dengan beberapa hipotesis yang kini terbukti, kami akhirnya dapat mengambil keputusan. Serangan Aplikasi OAuth tidak hanya terjadi di penyewaan mitra Huntress, namun serangan ini jauh lebih umum daripada yang kami perkirakan. Beberapa dari aplikasi ini telah ada selama bertahun-tahun saat kami menemukannya.
Dan jika Anda mengambil sesuatu dari artikel ini, biarlah ini: secara statistik, ada kemungkinan besar penyewa Anda terinfeksi salah satu aplikasi ini.
Memperkenalkan: Pemburu
Jika Anda sudah sampai sejauh ini dan sekarang berpikir “wow, mungkin saya harus mengaudit aplikasi saya”, bagus! Artinya, saya sudah cukup menunjukkan seberapa besar potensi serangan yang ada di ekosistem aplikasi Azure.
Untuk mempercepat proses mendidik komunitas dan memberikan kesempatan kepada admin Azure untuk membersihkan sarang rayap, saya membuat dan merilis alat sumber terbuka yang menghitung aplikasi penyewa Anda dan menelusuri aplikasi tersebut untuk menemukan senjata ampuh.
Memperkenalkan: Pemburu wanitaskrip berburu aplikasi Azure yang sangat sederhana. Mitra Huntress atau lainnya, siapa pun dapat menjalankan skrip ini untuk menghitung dan mengaudit aplikasi penyewa Anda berdasarkan serangkaian atribut perdagangan yang umum diamati.
Ia menggunakan autentikasi pengguna Anda sendiri, memanggil API Grafik, mengatur data dari API tentang Aplikasi Perusahaan dan Pendaftaran Aplikasi penyewa Anda, dan menjalankan beberapa logika perburuan terhadap hasilnya.
Ini cepat dan sulit, tetapi idenya di sini adalah untuk memberdayakan admin Azure di mana pun untuk mendapatkan gambaran langsung tentang aplikasi apa pun di penyewa mereka.
Tentu saja, skrip tidak dapat menemukan 100% aplikasi jahat di mana pun. Dan meskipun skrip tidak menemukan apa pun, bukan berarti penyewa Anda aman dari aplikasi berbahaya. Namun setidaknya, ini adalah titik awal yang bagus bagi admin Azure untuk mengaudit aplikasi mereka dan mengidentifikasi apa pun yang mencolok.
Silakan lihat README di repo untuk instruksinya! Cobalah. Lihat apa yang Anda temukan, atau…
Menyalahgunakan Penilaian ITDR kami
Secara statistik, ada kemungkinan besar kita akan menemukan sesuatu. Penilaian Keamanan Identitas Huntress memberikan gambaran yang jelas tentang lanskap Ancaman Identitas Microsoft 365 Anda—menyoroti jenis lisensi, aplikasi jahat, login mencurigakan, dan aturan kotak masuk berbahaya.
Jika tidak ada ancaman yang ditemukan, Anda tetap mendapatkan wawasan berharga mengenai area utama yang kami pantau dan ancaman yang kami cari.
Kasus terburuk? Kami mengungkap risiko. Kasus terbaik? Anda tahu Anda aman. Apa pun yang terjadi, Anda akan mendapatkan informasi dan pemberdayaan. Coba lihat.
Pertahankan Kesadaran Situasional—Daftar ke Tradecraft Selasa
Tradecraft Tuesday memberi para profesional keamanan siber analisis mendalam tentang pelaku ancaman terbaru, vektor serangan, dan strategi mitigasi.
Setiap sesi mingguan menampilkan panduan teknis mengenai insiden terkini, perincian komprehensif tren malware, dan indikator kompromi (IOC) terkini.
Peserta mendapatkan:
-
Pengarahan mendetail tentang kampanye ancaman yang muncul dan varian ransomware
-
Metodologi pertahanan dan teknik remediasi yang berbasis bukti
-
Interaksi langsung dengan analis Huntress untuk mendapatkan wawasan respons insiden
-
Akses terhadap panduan deteksi dan intelijen ancaman yang dapat ditindaklanjuti
Tingkatkan postur pertahanan Anda dengan intelijen real-time dan pendidikan teknis yang dirancang khusus bagi mereka yang bertanggung jawab menjaga lingkungan organisasi mereka.
Daftar Tradecraft Selasa →
Disponsori dan ditulis oleh Lab Pemburu.
