LSASS Prosessi Hakkında
Lsass.exe prosesi farklı form yapılarında şifreleri saklayabilir. Bunlar; şifrelenmiş açık metin, Kerberos tickets, LM and NT hashleridir. Burada ki zafiyet local admin ya da system yetkileri gerekmeden lssas.dmp file dosyasını alınabilmesidir. Bir çok araç ya da method bellekten(ram) şifrelerin dump alabilir.
- Dump file içeresinde politikasız bir domain alanında bulunan kullanıcın bilgisayarında şifreler clear text tutuluyor olabilir,
- Daha önce yapılmaması beklenen Domain admin ile bilgisayarda oturumun açılmış olmasıyla hashlerin kalması,
- İçeresinden elde edilen hashler ile pash the hash saldırısı yapılabilir.,
- Elde edilen hash bilgilerine brute force yapılabilir.
Lsass Prosesi Dump İşlemi
Uzak masaüstü(rdp) ile bağlantı sağladığımız makine üzerinden LSASS dump işlemini gerçekleştireceğiz.
Görevi yöneticisi üzerinden Details, lsass.exe işlemi seçilir, sağ tık ile create dump file işlemi yapılır.
C:\Users\asim\AppData\Local\Temp\lsass.DMP
İşlemin sonucunda lsass.DMP file dosyası nereye oluşturduğunu bize gösteren bir sonuç getirdi. C:\Users\asim\AppData\Local\Temp\lsass.DMP verilen adresi kopyala yapış yaparak doğrudan gidebiliriz.
İlgili klasöre gittiğimiz zaman lsass.DMP file görebiliyoruz.
Lsass Dump File dosyasını Mimikatz ile Görüntüleme
Mimikatz sıkça kullanılan dump file dosyalarını çıkarma ve görüntüleme işlemi yapan araçtır. Araç sayesinde, şifre hash bilgilerini, plain text şifreleri, kerberos biletleri(tickets) görüntüleyebiliriz.
Buradaki adresten indirebilirsiniz. https://github.com/gentilkiwi/mimikatz
lsass.DMP dosyasını mimikatz ile aynı klasör içeresine taşıdım. Tabi siz bunu yapmak yerine yolunu verebilirsiniz.
mimikatz # sekurlsa::minidump lsass.dmp
mimikatz # sekurlsa::logonPasswords
Görüldüğü gibi asim kullanıcısı için NTLM ve SHA1 hashleri geldi.
Elde Edilen Ntlm Hashlerin Kırılması
Aşağıda ki araç(tool) ile sözlük oluşturulur. (8,9 Minimum ve Maksimum karakteri temsil eder) -o ifadesi output aktarılacak dosyayı gösterir.
crunch 8 9 Aa123456 -o passwordlist.txt
Oluşturduğum sözlük ve elimdeki hash değerini john aracı ile deneme atakları(brute force) yapabiliriz. ntlm1.txt içeresinde 47bf8039a8506cd67c524a03ff84ba4e mimikatz ile görüntülediğimiz NTLM alanında yazan hash değerini kullandık.
john --format=nt ntlm1.txt --wordlist=passwordlist.txt
Oluşturulan word list içeresinden başarılı bir şekilde kırmayı başardı. Hedef bilgisayarın şifresi Aa123456 şeklindedir.
Configuring Additional LSA Protection
Kayıt defteri üzerinde düzenlemeler yapacağız. Bunun için kayıt defteri(registry) yönetici olarak açılmalıdır.
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa.
RunAsPPL=dword:00000001.
Bilgisayar yeniden başlatılır.
Kayıt defteri üzerinden ilgili yola gidilmeli ve LSASS.exe klasörü oluşturup gerekli değer atanır.
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\LSASS.exe.
AuditLevel=dword:00000008.
Bilgisayar yeniden başlatılır.
Bu yapılan koruma yöntemi lokal bir kullanıcı için verilen tavsiye içindir. Domain ortamların bulunduğu şirketlerin group policy oluşturup tüm kullanıcılara güncel politika yüklenmesi beklenmektedir.
Ek olarak, https://docs.microsoft.com/en-us/windows/security/identity-protection/credential-guard/credential-guard-manage windows bir diğer aracı aktif hale getirilerek korunma arıtılabilir.
kaynaklar:
https://www.picussecurity.com/blog/picus-10-critical-mitre-attck-techniques-t1003-credential-dumping
https://en.wikipedia.org/wiki/Local_Security_Authority_Subsystem_Service
https://docs.microsoft.com/en-us/windows-server/security/credentials-protection-and-management/configuring-additional-lsa-protection