Register Now

Login

Lost Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Login

Register Now

Canyoupwn.me ~

TR | Mimikatz

Mimikatz; Windows (x86/x64 mimarileri) işletim sistemlerine yapılan Pass-The-Hash ataklarında sıklıkla kullanılan, Benjamin Delpy (gentilkiwi) adlı yazılımcı tarafından C dili ile 2007’de yazılmış, PoC olarak amaçlanan, açık kaynak kodlu bir programdır. Temel olarak özelliklerini “mimilib.dll” ve “mimidrv.sys” adlı dosyalar yardımı ile gerçekleştirir. Mimilib, SSP oturum paketlerine erişim, Windows üzerinde bulunan AppLocker yazılımını bypass etme, şifreleri filtreleme gibi görevlere sahip iken; Mimidrv, Windows çekirdeği ile Mimikatz arasındaki etkileşimi sağlayan sürücüdür.

Mimikatzı çalıştırabilmek için yönetici kullanıcısına yada sistem kullanıcısına ihtiyaç vardır. Bunun yanı sıra stabil olarak çalışabilmesi için LSASS işlemi ile etkileşebilmesi, hata ayıklama haklarına sahip olması gereklidir. Mimikatz adlı yazılım için indirme bağlantıları aşağıda verilmiştir.

Mimikatz Kaynak Kodları

Mimikatz Release

Windows işletim sistemlerinde, oturum açılma isteği sırasında kullanıcı adı ve şifrenin kontolünü, System32 dizininde yer alan LSASS.exe adlı program üstlenir. Temel olarak LSASS.exe (Local Security Authority Subsystem Service), Windows sistemde yer alan kullanıcı işlemlerinden ve kimlik kontrolünden sorumludur.

Windows sistemde oturum kontrolü, girilen verilerin SAM tablosunda yer alan veriler ile karşılaştırılmasıyla sağlanır. Eğer karşılaştırma sonucunda veriler tutuyor (True) ise sistem, kullanıcının sisteme girişi sırasında oturum parolasını hash’leyerek bellekte tutar. WCE gibi yazılımlar çalışma prensibi olarak, verilerin saklandığı bellek alanındaki hash’i okuyup herhangi bir başka LSASS oturumuna enjekte ederek kontrol mekanizmasını bypass etmiş olurlar.

NTLM

Mimikatz genel fiziksel saldırılarda sıkça kullanılsada meterpreter ile birlikte de çalışmaktadır. Biz konuyu her iki şekildede ele alacağız.

İlk olarak mimikatzı hedef bilgisayarda fiziksel erişim sayesinde çalıştırıyoruz.

Karşımıza gelen ekranda

privilege::debug

komutu ile özel haklarımızı çalıştırıyoruz. 

Screenshot at 2016-05-28 15-45-08

Bu aşamadan sonra

sekurlsa::logonPasswords

komutu ile kullanıcı adı, domain, parola gibi bilgileri çekiyoruz.

Screenshot at 2016-05-28 15-46-25

Windows 8.1  ve Windows 10 sürümlerinde Mimikatz ile parolayı bulmayı çalıştığımızda Parolanın değerinin null (boş) olarak göründüğünü fark ediyoruz.Bunun sebebi Microsoft’un Win 8.1 ile bu açığa önlem almış olmasıdır. (Tam anlamıyla yeterli bir önemli değil tabiki de)

1

Daha önceki sürümler için güvenlik yaması https://support.microsoft.com/en-us/kb/2871997 mevcuttur.

Windows 8.1 ve Windows 10’da Regedit ayarı ile  devre dışı bırakılmış olan oturum açma parolasını clear-text olarak görebilmekteyiz. Bunun için küçük ayarlar yapmalıyız ve böylelikle bu iki sistemde de parolaları yakalayabiliriz.

Regediti açalım ve

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\WDigest\

yoluna gidelim.

2

Windows 8.1 sonrasını kullanıyorsanız ya da KB2871997 güncellemesini yüklediyseniz “UseLogonCredential” DWORD değeri kayıt defterinizde görünmez.

Yönetici haklarıyla Windows Shell’i açarak aşağıdakı komutu yazalım. (cmd)

reg add HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\WDigest /v UseLogonCredential /t REG_DWORD /d 1

3

Şimdi kayıt defterini yenileyelim UseLogonCredential” DWORD değerini 1 olarak eklendiğini göreceksiniz.

4

Şimdi bellekten parolayı alabilmemiz için parolanın yeniden girilmesi lazım bu aşamada bilgisayara yeniden başlatmak yerine sadece oturumu kapatıp açmanız yeterlidir.

Mimikatzı yeniden açtığımızda bu sefer parolanın null yerine kullanıcının parolası olan“iloveyou789”u görüyoruz.

5

Böylelikle fiziksel erişimlerde Windows 8.1 öncesi ve sonrası sistemlerde nasıl kullanıcı parolasını alabileceğimizi görmüş olduk.

Şimdide fiziksel erişim sağlayamadığımız fakat meterpreter ile erişim sağlayabildiğimiz sistemlerde clear-text olarak Mimikatz aracı ile nasıl kullanıcı şifresini elde edebileceğimizi inceleyelim.

Senaryomuzda her hangi bir şekilde meterpreter payloadu ile sisteme erişim sağladık.

Local yönetici kullanıcısından SYSTEM kullanıcısına geçip “Mimikatz” modülünü import etmek için konsola,

meterpreter > getsystem
meterpreter > getuid
meterpreter > load mimikatz

komut dizisini giriyoruz. Böylelikle Metasploit Framework için hazırlanmış olan Mimikatz modülünü sisteme aktarmış olduk.

loadmimikatz

Modül ile ilgili detaylı bilgi almak için, meterpreter komut satırımıza -help yazıyoruz.

help mimikatz

Karşımıza, Mimikatz modülü üzerinden uygulayabileceğimiz komutlar çıktı. Windows oturum parolalarını bellekten hash formatında alıp kırarak, clear-text formatında çıktı olarak dönüştürmesi için

mimikatz_command –f sekurlsa::logonPasswords –a “full”

komutunu yazıyoruz ve karşımıza geçerli kullanıcıların oturum parolaları gelecektir.

sekurlsa

Bonus olarak bir başka Mimikatz’ın özelliğinden bahsetmek istiyorum. Mimikatz sayesinde Mayın Tarlası oyununu kaybetmeden bitirebilirsiniz.

mayıntarlası

Mimikatz, içerisinde bellekte yer alan Mayın Tarlası oyun bilgilerini ele geçirmeyi sağlayan, winmine isimli bir modül bulundurmaktadır. Bu modülün kullanılabilmesi için hedef sistemde Mayın Tarlası oyunu, bellekte çalışır vaziyette olmalıdır. Aksi taktirde, bellekte herhangi bir ize rastlanmayacağından dolayı hata verecektir. Sistemde, Mayın Tarlası uygulamasını açarak oynayalım ve komut satırına,

mimikatz_command –f winmine::infos

yazınca vereceği çıktıyı inceleyelim.

minesinfo

Böylelikle Mayın Tarlası oyununu bitirebilirsiniz.

About CanYouPwnMe

Hero!

Follow Me