Defansif Güvenlik
Blue Team Bakış Açısıyla Windows Sistem Processleri 4
Bilgisayarımızda beklenmedik yavaşlık, donma veya ısınma sorunları oluştuğunda hepimizin ilk baktığı yer olan görev yöneticisi çeşitli işlemlere ev sahipliği yapmaktadır. Görev yöneticisi; yürütülen işlemler, kullanılan işlemci ve hafıza oranları gibi bizlere çeşitli bilgiler vermektedir: Bu işlemler kim tarafından yapılıyor? Bilgisayarımda virüs, madencilik zararlısı var mı ? Hangi...
Bilgisayarımızda beklenmedik yavaşlık, donma veya ısınma sorunları oluştuğunda hepimizin ilk baktığı yer olan görev yöneticisi çeşitli işlemlere ev sahipliği yapmaktadır. Görev yöneticisi; yürütülen işlemler, kullanılan işlemci ve hafıza oranları gibi bizlere çeşitli bilgiler vermektedir:
Bu işlemler kim tarafından yapılıyor?
Bilgisayarımda virüs, madencilik zararlısı var mı ?
Hangi işlemler, servisler paket aktarımı gerçekleştiriyor?
Görev yöneticisinde bulunan işlemler, işletim sistemi kullanıcıları olan bizler tarafından başlatılabildiği gibi Windows işletim sisteminin kendi görevlerini yapabilmesi, işletim sisteminin ayakta durabilmesi veya kullanıcının yapmak istediği işlemleri yerine getirebilmesi için Windows’un kendisi tarafından farklı farklı işlemler ve servisler de başlatılmaktadır. Peki biz görev yöneticisi ekranında bulunan aktif işlemler hakkında ne kadar bilgi sahibiyiz?
Bu yazımızda, Microsoft tarafından imzalı, Windows’un resmi işlemlerinden biri olan “lsass.exe” dosyasının ne için kullanıldığı ve saldırganlar tarafından kullanılıp kullanılmadığını anlayabilmemiz için ne yapmamız gerektiğini ele alacağız.
Servislerle ilgili bilgi vermeden önce kimlik doğrulamanın ne olduğu ve Windows sistemlerinde kimlik doğrulama sistemlerinin nasıl işlediğiyle ilgili konuşacağız.
Kimlik Doğrulaması
Kimlik doğrulaması kullanıcıların oturum açma bilgilerinin doğrulama işlemidir. Kullanıcı adı ve şifre bilgisi yetkili liste ile karşılaştırılır ve sistem bir eşleşme tespit ederse söz konusu kullanıcının yetki sınırları içerisinde erişim izni verir. Microsoft kimlik doğrulama teknolojileri arasında LSA Kimlik doğrulaması üzerinde duracağız.
Microsoft kimlik doğrulama teknolojileri hakkında daha detaylı bilgilendirme için : https://docs.microsoft.com/en-us/windows/win32/secauthn/about-authentication
LSA kimlik doğrulaması: LSA kimlik doğrulama sistemi ( Local Security Authority ) kullanıcıların giriş işlemleri ve loglama sürecinde doğrulama ve güvenlik paketlerinin çağrılması sırasında görev yapmaktadır. LSA kimlik doğrulama sistemi birbirinden bağımsız çalışan ve birbirlerini tamamlayan iki ayrı servis ile yürütülmektedir.
Bu servisler için Windows genolojisine baktığımızda aşağıdaki gibi bir yapı karşımıza çıkmaktadır. Bu sebeple, “lsass.exe” servisinin üst servisleri incelendiğinde wininit.exe ve smss.exe olarak gözükmüyorsa söz konusu olan “lsass.exe” dosyası saldırganlar tarafından bilgisayarınıza yerleştirilmiş zararlı bir dosyadır.
I__ smss.exe
I__wininit.exe
|__lsass.exe
Aşağıda bulunan görselde LSA kimlik doğrulama sistemi ve bilgi akışının nasıl işlediği anlatılmaktadır.
LSASS (Local Security Authority Subsystem Service),Yerel güvenlik yetkilisi alt sistem hizmeti olarak Türkçeleştirebileceğimiz bu servis Microsoft tarafından imzalıdır ve varsayılan dosya dizini %SystemRoot%lsass.exe (Not: %SystemRoot% = C:\Windows\System32) olarak belirlenmiştir. NT AUTHORITY\SYSTEM yetkisi ile sadece bir adet başlatılmaktadır. lsass.exe servisi Windows işletim sistemlerinde belirlenmiş olan güvenlik ilkelerinin (security policy) uygulanmasından sorumludur. Windows kullanıcılarının giriş işlemlerini kontrol eder, şifre değişikliklerini onaylar ve erişim belirteçlerini (Access token) üretir. Bu görevleri sırasında şifrelenmiş açık metin, Kerberos tickets, LM and NT hashleri gibi çok önemli bilgileri elinde tutar. Bu servisin yapısında bir zafiyet bulunmaktadır. Söz konusu zafiyet istismar edilerek, lokal admin ya da sistem yetkileri gerekmeksizin, lssas.exe’nin dump dosyası kolayca elde edilir.
Alınan bu dump dosyasının, eğer söz konusu sistem politikasız bir şekilde yönetiliyorsa, içerisinde aşağıda listelenen bilgiler tutulabilir:
- Gizlenmemiş bir şekilde açıkça düz metin olarak tutulan şifreler
- Domain admin ile daha önceden açılan oturumun hash bilgileri
Bu bilgiler ışığında ele geçirilen hash bilgileri başka bir LSASS oturumuna enjekte edilmesiyle, kimlik doğrulama aşaması atlatılarak sisteme giriş yapılabilir veya elde edilen hash bilgilerine bruteforce atağı uygulanabilir.
LSASS Dump işlemi
Görev yöneticisi açılarak Details sekmesi seçilir. Açılan sekmede LSASS.exe işlemine sağ tıklanarak “create dump” seçeneği seçilir.
Mimikatz ile Dump dosyasını görüntülemek
Mimikatz programı, windows’un parola koruma sistemini kötüye kullanarak sistemde olan kullanıcılara ait kullanıcı parolalarının hafızadaki şifreli halini elde edip şifreyi kırıp düz metin olarak verir. Mimikatz x86 ve x64 mimariye sahip windows sistemlerde(XP,2003,2008,win 7, vista,2008 R2, Windows 8, Server 8) çalışabilmektedir.
Mimikatz programı https://github.com/gentilkiwi/mimikatz adresinde bulunmaktadır.
Mimikatz programını indirdikten sonra çalıştırıyoruz. Çalıştırdığımızda aşağıdaki gibi bir konsol ekranı karşımıza çıkacaktır.
LSASS servisinden aldığımız dump dosyasını aşağıdaki gibi mimikatz ile çalıştırıyoruz.
(Kullanıcı şifremiz: Aa123456)
Aşağıda da görüldüğü gibi DESKTOP kullanıcısı için NTLM ve SHA1 hashleri geldi.
Kelime listesi ve elde edilen hash bilgilerini kullanarak “john” aracı ile brute force atağı yapabiliriz. “Ntlm_pw.txt” dosyasının içerisinde elde ettiğimiz hash bilgileri bulunurken “wordlist.txt” dosyasının içerisinde kelime listemiz bulunmaktadır.
john --format=nt ntlm_pw.txt --wordlist=wordlist.txt
Dump dosyasında bulunan hash başarılı bir şekilde dönüştürülerek kullanıcı şifresi çözümlenmiştir.
LSASS servis korumasını güçlendirme yolları
Kayıt defterinde aşağıda belirtilen dizin içerisinde “RunAsPPL” isimli yeni bir dword oluşturulur ve hexadecimal değeri seçilerek “1” değeri atanır.
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa
Kayıt defterinde aşağıda belirtilen dizinde bulunan LSASS.exe dizini içerisinde ( LSASS.exe dizini bulunmuyorsa yeni klasör oluşturulmalıdır.) bulunan “AuditLevel” dword hexadecimal değeri “8” olacak şekilde değiştirilir. ( Dword bulunmuyor yeni oluşturulmalıdır.)
Bahsedilen koruma işlemlerinin tamamlanması ile birlikte “lsass.exe” servisinde hash bilgileri bulunmayacak ve yukarıda örneği verilen saldırı başarısız olacaktır. Daha önceki yazılarımızda da bahsettiğimiz Windows servislerinin çalışmaya başlamasıyla oluşan 4688 Event ID’li Windows güvenlik loglarında log detayında bulunan “Process name, Creator Process Name” verisi bu işlemin legal olup olmadığıyla ilgili kanıt sunuyor.
SIEM kuralı örneği ile sahte servisin tespiti yapılabilir.
& AND
Windows Security Log Event ID = 4688
Source Process Name != “C:\Windows\System32\wininit.exe”
Destination Process Name contains “lsass.exe”
Tesekkurler.