Mimikatz ile Bellek Dökümünden (Dump) Parola Elde Etme
Bu yazımızda “Mimikatz” aracı kullanarak bellek dökümünden clear-text parolaların nasıl elde edileceğine değineceğiz. Sızma testlerinin en önemli adımlarından biri de domain yöneticilerine ait hesapların ele geçirilmesi ve domain ortamında tam hak sahibi olmaktır. Makalemizde daha önce herhangi bir yöntem ile sızılmış, yada oturum açma hakkına sahip olunan bir sunucudan salt şifrelerin elde edilmesini işleyeceğiz.
Bellek dökümünden şifrelerin elde edilebilmesi için, sistemde yönetici hak ve yetkilerine sahip olan bir kullanıcı hesabı üzerinden “lsass.exe” dosyasının “dump”I alınarak, dump’ın çözülmesini konu alacağız.
Peki neden dump içerisinden şifrelerin elde edilmesine değineceğiz? Daha önceki yazımda mimikatz aracı ile şifrelerin elde edilmesine değinmiştim. Ancak sızma testleri sırasında bir çok antivirus, mimikatz yardımcı aracını “hacking tools” kategorisinde değerlendirdiğinden dolayı antivirüsü devre dışı bırakabilmek için “Domain Admin” hak ve yetkilerine sahip olmamız gerekmektedir. Zaten bu hak ve yetkileri elde etmişsek bu işleme hiç gerek yok :))
Lsass.exe, Microsoft işletim sistemlerinde “C:\Windows\System32” dizininde çalışan ve yerel güvenlik politikaları, dosya erişim yetkileri ve oturum control işlemlerini gerçekleştiren, “NT AUTHORITY\SYSTEM” hak ve yetkileri ile çalışan bir uygulamadır. Lsass.exe dosyası “Security Accounts Manager (SamSs)” ve “Credential Manager (VaultSvc)” servislerini yönetmektedir. SamSs servisi, Microsoft SAM veritabanını yöneten servis olduğundan, tüm oturum açma ve hesap doğrulama işlemleri bu veritabanı (servis) üzerinde gerçekleştirilir. Dolayısı ile “lsass.exe” dosyası bütün oturum açma işlemlerini control ettiğinden dolayı, bu dosyanın dump’ının alınması halinde, oturum bilgileri ele geçirilebilir.
Senaryo dahilinde, sızma testi sırasında domainde bulunan herhangi bir sunucuya erişildiği varsayılmıştır. Sızılan sunucuda eğer “Domain Admin” vb. hak ve yetkikere sahip bir yönetici oturum açmış ise, alınacak olan dump dosyasından salt şifreler elde edilebilir.
Araç ve gereçler: Mimikatz v2 – Dosya Github’dan ya da yapımcısının sitesinden indirilebilir.
Erişilen Windows Server 2012’de görev yöneticisini açarak lsass.exe işlemine sağ tıklayıp “Create Dump File”ı seçiyoruz.
Dump alma işlemi tamamlandığında, dump’ın nereye alındığı bilgisini göreceğiz.
Lsass.DMP dosyasını kaydedildiği dizinden alıp, Mimikatz’ın bulunduğu dizine kopyalıyoruz.
Bu işlemin ardından Mimikatz’I yönetici olarak çalıştırıyoruz.
Mimikatz’I yönetici olarak çalıştırdıktan sonra “privilege::debug” komutu ile programı debug moda alıyoruz.
“sekurlsa::minidump lsass.DMP” komutu ile programa bir dump dosyası vereceğimizi ve o dump dosyası içerisinden salt şifreleri çıkarmasını istiyoruz. lsass.DMP yerine başka bir dizinde bulunan DMP dosyasının yolunu da girebilirsiniz.
Daha sonra “sekurlsa::logonpasswords” komutu ile dump içerisinde bulunan salt şifreler çözülebilir. Bu işlem eğer Exchange suncusunda gerçekleştirilirse o anda mail gönder/al yapan tüm kullanıcıların salt şifreleri elde edilebilir.
Ancak Exchange sunucusundan alınan dump dosyası oldukça büyük boyutlu olduğundan dolayı “sekurlsa::logonpasswords” komutu girildiğinde, konsol ekranında yer kalmayacağından tüm şifreler okunamayacaktır. Bundan dolayı “sekurlsa::logonpasswords” komutundan önce “log sifreler.txt” komutu girilerek, elde edilecek tüm şifrelerin sifreler.txt dosyasına kaydedilmesini sağlayabilirsiniz. Bu komut girildiğinde txt dosyasını program oluşturacaktır. Txt dosyası oluştuktan sonra “sekurlsa::logonpasswords” komutu girilerek, elde edilen şifreler bu txt dosyasına kaydedilebilir.
Hatalar ve Çözümleri:
“ERROR kuhl_m_sekurlsa_acquireLSA ; Minidump pInfos -> MajorVersion (5) != MIMIKATZ_NT_MAJOR_VERSION (6)”hatası alıyorsanız, dump dosyasını “Windows Server 2003” işletim sisteminden almış ancak dump’ı “Windows 2012 – 8 – 8.1” gibi bir işletim sisteminde çözmeye çalıştığınızdan dolayı alıyorsunuzdur. Bu hatayı aşmak için Mimikatz’ı bir Windows Server 2003 işletim sisteminde çalıştırmanız gerekmektedir.
“ERROR kuhl_m_sekurlsa_acquireLSA ; Minidump pInfos->ProcessorArchitecture (0) != PROCESSOR_ARCHITECTURE_AMD64 (9)” hatası alıyorsanız, dump aldığınız işletim sistemi versiyonu 32Bit’lik versiyndur. 32Bit’lik işletim sistemi dump’ını 64Bit’lik Mimikatz uygulaması ile çözmeye çalıştığınızdan bu hatayı alırsınız. Mimikatz’ın 32Bit’lik versiyonu ile bu dump çözme işlemini yaparsanız, bu sorun çözülmüş olacaktır.
Sunucu tarafında yapılan bu işlemleri fark etmek için DLP yazılımlarında “DMP” dosya uzantılarının tanımlanarak işlem yapan kullanıcıların tespit edilmesi gerekmektedir.
Güvenli günler.