Araştırmacıların Bing arama sonuçlarını değiştirmesine imkan tanıyan büyük güvenlik açığı bu hafta ortaya çıktı.
Güvenlik açığı Ocak ayında siber güvenlik araştırma şirketi Wiz tarafından keşfedildi ve Microsoft Güvenlik Cevap Merkezi’ne (MSRC) bildirildi.
Wiz araştırmacısı Hillai Ben-Sasson, bir Twitter mesaj dizisinde Bing’in içerik idare sistemine (CMS) nasıl sızdığını açıkladı. Microsoft’un bulut bilgi süreç platformu Azure’da oturum açarak, tüm kullanıcılara dahili Microsoft uygulamalarına erişim müsaadesi verebileceğini keşfetti. Daha sonra Bing’in arama sonuçlarının bulunduğu bir bilgi tabanına erişti. Oradan, Ben-Sasson, sonuçlarda ortaya çıkan şeyi hakikaten değiştirebileceğini anladı. Wiz araştırmacıları ayrıyeten Bing’in bir Siteler Ortası Komut Evrakı Çalıştırma (XSS) saldırısına karşı savunmasız olduğunu ve Outlook e-postaları, Takvim bilgileri ve Teams mesajları dahil olmak üzere hassas Office 365 bilgilerine erişimleri olduğunu keşfettiler. MSRC, blog yazısında Azure İSİM yöneticileri ve geliştiricileri için detaylı güvenlik güncellemeleri ve teklifleri paylaştı.
Araştırmacıların yaptığı deneyin emeli, bunun mümkün olduğunu göstermek ve bulgularını Microsoft ile paylaşmaktı. Lakin, çıkan sonuçlar makûs niyetli bilgisayar korsanlarının Bing’i nasıl mahvedebileceğini gösteriyor.
Wiz blog yazısında, “Aynı erişime sahip berbat niyetli bir kullanıcı, en tanınan arama sonuçlarını birebir payload ile ele geçirebilir ve milyonlarca kullanıcının hassas bilgilerini sızdırabilirdi” diye bildirdi. Neyse ki bu güvenlik açığının büyük bir sorun haline gelmeden 29 Mart prestijiyle Microsoft tarafından düzeltildiği doğrulandı. Wiz, güvenlik açığını bildirdiği için 40.000 ABD doları meblağında bir “hata ödülü” (bug bounty) aldı.
Şimdi Hillai Ben-Sasson’nun bu açığı nasıl keşfettiğini detaylarıyla kendisinden öğrenelim:
“Arama sonuçlarını değiştirmeme ve milyonlarca Office 365 hesabını ele geçirmeme müsaade veren Bing CMS’yi hackledim. Pekala bunu nasıl yaptım? Her şey Azure’da kolay bir tıklamayla başladı.
Araştırmam, Wiz’deki araştırma takımımızın Azure’da garip bir yapılandırma fark etmesiyle başladı. Bir uygulamayı “multi-tenant” olmaktan ayıran tek şey bir onay kutusu ve bu varsayılan olarak tüm kullanıcıların oturum açmasına müsaade veriyor.
Bu halde yapılandırılmış bir Microsoft uygulaması buldum ve giriş yaptım. Kullanıcıma çabucak bu “Bing Trivia” sayfasına erişim müsaadesi verildi. İsmi sizi aldatmasın, Trivia’dan daha fazlasını denetim ediyor. Aslında doğrusunu söylemek gerekirse direkt GERÇEK ARAMA SONUÇLARINI denetim edebiliyor.
Uygulamanın gayesini ve neden erişimim olduğunu anlamak için bakınmaya başladım. Daha sonra kimi anahtar sözcükleri ve ilgili arama sonuçlarını içeren bir kısım buldum ve bu da doğal olarak aklıma şu soruyu getirdi: “Acaba bu uygulama Bing.com’daki arama sonuçlarını değiştirebilir mi?”
Bu teoriyi, “en uygun sinema müzikleri” anahtar sözünü seçerek ve “Dune (2021)” olan birinci sonucu ferdî favorim olan “Hackers (1995)” ile değiştirerek test ettim ve sonucun çabucak Bing.com‘da olduğunu görünce çok şaşırdım!
Daha sonra yeni sonuca zararsız bir payload ekleyerek XSS uygulanabilirliğini denetim ettim.
Sayfayı yeniledim ve eklemiş olduğum payload başarılı bir biçimde çalıştı. Yapmış olduğum değişiklikleri süratli bir formda geri aldım ve her şeyi Microsoft’a bildirdim, fakat aklımda bir soru kaldı: “Bu XSS ile ne yapabilirim?”
Bing isteklerini incelerken Office 365 irtibatı için kullanılan bir endpoint fark ettim. Görünüşe nazaran, Bing’in oturum açmış rastgele bir kullanıcı için Office token’ları vermesine müsaade veriliyor. Bu fonksiyonu kullanarak süratli bir halde bir XSS payload’u oluşturdum, kendi üzerimde test ettim ve işe yaradı!
Bu token ile, bir saldırgan şunlara erişim sağlayabiliyor:
- Outlook e-postaları
- Takvimler
- Teams mesajları
- SharePoint belgeleri
- OneDrive dosyaları
- Ve daha fazlası hem de rastgele bir Bing kullanıcısından!
Burada ferdî gelen kutumun “saldırgan makinesinde” sızan Bing token’i kullanılarak nasıl okunabildiğini görebilirsiniz.
MSRC, raporumuza süratli bir formda karşılık verdi, güvenlik açığı bulunan uygulamaları düzeltti ve müşterilere yardımcı olmak için kimi AAD eser ve kılavuz değişiklikleri getirdi. Bunun için bize bağışlayacağımız 40.000 dolarlık bir “hata ödülü” (bug bounty) verdiler.”
Daha fazla teknik ayrıntı okumak isterseniz buradaki blog yazısını inceleyebilirsiniz.