Monday, August 23, 2021

Windows'da sistemi ele geçirmek: Mouse takacak daaa...

Siber güvenliğin bir "kedi fare oyunu" olduğu sıkça söylenir. Yakın zamanda duyurulan bir zafiyet, ister istemez bu söz hatırlattı. Razer marka mouseların kurulum yazılımında, herhangi bir kullanıcının bu marka bir mouse takarak Windows sistemlerde yönetici yetkileri elde etmesini sağlayan bir zafiyet ortaya çıktı.
 
Normal şartlar altında bu zafiyet oldukça özel durumların bir araya gelmesinden ortaya çıktığı düşünülebilir. “Razer marka mouse alacak daaa… Getirip takacak daaaa… ölme eşeğim ölme...”. İlk bakışta böyle görülse de bu zafiyete neden olan şey, sızma testlerinde yetki yükseltme konusunda sıkça karşılaştığımız bir durumun yaşanmasından ibaret.
 
Windows yetkileri hakkında iki konu
Bu zafiyetin nasıl ortaya çıktığını anlamak için Windows işletim sisteminin yetkileri konusunda iki temel hatırlatma yapmakta fayda var.

  1. Windows işletim sistemlerinde SYSTEM yetkileri herhangi bir kullanıcının sahip olabileceği en üst seviyedeki yetkidir. Kuruluş personeli genellikle daha az yetkiye sahip kullanıcılar ile çalışır.
  2. Windows üzerinde başlatılan herhangi bir process (uygulama, servis, vb.) kendisini başlatan process’in yetkilerine sahip olur.

Güvenlik mimarisi açısından kullanıcı yetkileri başlı başına dikkat edilmesi ve yakından izlenmesi gereken bir konudur. Bu yazıda bütün ayrıntılarına girmek ne yazık ki mümkün olmayacak ama kuruluş bünyesinde hangi kullanıcının hangi yetkilere sahip olduğunun gözden geçirilmesinde her zaman fayda vardır.
 
Zafiyet nasıl ortaya çıkıyor?
Özetle; SYSTEM yetkileriyle çalışan RazerInstaller.exe uygulamasına müdahale edilip bunun üzerinden bir komut satırı başlatılıyor. Durumun yetki yükseltme zafiyetine neden olmasını sağlayan nokta ise bu uygulamanın herhangi bir kullanıcı tarafından başlatılabiliyor olması.
 
Aşağıdaki ekran görüntüsünden anlaşılabileceği gibi, herhangi bir kullanıcı tarafından açılan RazerInstaller.exe uygulaması NT AUTHORITY\SYSTEM kullanıcısı ile çalışmaktadır.


 

Düşük yetkilere sahip kullanıcıların daha yüksek yetkilere sahip uygulamaları başlatabilmesi alışılmadık bir durum değildir. Bunu gerektirecek pek çok uygulama ve durum ortaya çıkabilir. Sorun, bu düşük yetkili kullanıcıların bu uygulamanın işleyişine müdahale etmesinden kaynaklanıyor.
Aşağıdaki ekran görüntüsünden anlaşılabileceği gibi, uygulamanın kurulacağı dizin seçilirken PowerShell komut satırı başlatma seçeneği mevcuttur (“Open PowerShell window here”).

 

Tam bu noktada açılan PowerShell komut satırı, RazerInstaller.exe’nin yetkilerini kullanarak SYSTEM yetkisiyle çalışır.
 
Sizi Nasıl Etkileyebilir?
Aşağıdaki örnek laboratuvar ortamında oluşturulmuştur. Amacımız bu zafiyetin ortaya çıkış nedenleri ve nasıl istismar edilebileceği konusunda biraz daha bilgi vermektir.
Bu senaryo ekibimizin sızma testleri sırasında sıkça karşılaştığı bir durumu neredeyse aynen yansıtmaktadır. Kuruluşunuz bünyesinde, servis adları farklılık gösterse bile bu zafiyetin bir benzerine rastlanması mümkündür.
 
Aşağıda görüldüğü gibi, hedef makineye sıradan bir kullanıcı ile bağlıyız (user).

 

Hedef alacağımız servis olan daclsvc üzerinde SERVICE_START (başlatma) ve SERVICE_STOP (durdurma) yetkilerine sahibiz.

 


Bu servisin ayrıntılarına (aşağıda) baktığımızda ise iki nokta dikkatimizi çekiyor;

  1. SYSTEM yetkileriyle çalışıyor (SERVICE_START_NAME: LocalSystem)
  2. Uygulama C:\Program Files\DACL Service\daclservice.exe konumundan çalışıyor


 

Bu durumda uygulamanın çalıştığı değiştirip isteyeceğimiz herhangi bir uygulamayı SYSTEM yetkileriyle çalıştırmamız mümkün olabilir.
 
Bunun için, aşağıda görüldüğ gibi, daclservice.exe yerine kendi oluşturduğumuz bir arkakapı olan ters.exe uygulamanı belirliyoruz:

 

 

Bundan sonraki adımda, “net start daclsvc” komutu ile servisi yeniden başlatıyoruz (aşağıdaki ekran görüntüsünde “1” ile işaretlenmiş alan) ve saldırı için kullandığımız sisteme (ekran görüntüsünde “2” ile işaretlenmiş alan) SYSTEM yetkilerine sahip bir ters bağlantı geliyor.

 


Razer mouse'lardaki bu sorunu tespit eden ve duyuran Twitter hesabı: https://twitter.com/j0nh4t
 

 

Bundan ne ders çıkar? Fortinet olayı

Geçtiğimiz hafta iki farklı olay dikkatimizi çekti; 7 milyon İsrail vatandaşına ait bilgilerin ve 500.000 Fortinet kullanıcı bilgisinin ifşa...