NTLM Hash’lerinin Pratik Kullanımı


Son serimde, geçerli bir etki alanı kimlik bilgileri kümesini tehlikeye attığınızda Windows ortamlarında komut yürütmenin çeşitli yollarını tartıştım.

Bu yazıda, aslında bir şifreye ihtiyaç duymadan aynı sonuçları elde edebileceğiniz bazı yollardan bahsetmek istedim.

Yaşasın PTH

Karma geçişi uzun zamandır var ve Microsoft klasik PTH saldırılarını önlemek için adımlar atmış olsa da hala varlığını sürdürüyor.

Bir hash’i kurtarmanın tüm farklı yollarına girmeyeceğim, ancak belirli hash türlerindeki farklılığa dikkat etmek önemlidir. Bölüm 1’de Responder kullanarak bir alan adı hesabı hash’inin kurtarılmasından kısaca bahsettim. Kurtarılan şifre karması “NetNTLMv2” biçimindedir; bu, temel olarak bunun “tuzlu” bir NTLM karması olduğu anlamına gelir. (Tuzlu diyorum çünkü anlaşılması biraz daha kolay ama aslında bu bir meydan okumaya karma bir yanıt). Bu tür karma yapamamak PTH ile birlikte kullanılabilir. Bu karmalardan birini kurtardıysanız, gerçekten umabileceğiniz tek şey, onu çevrimdışı kırmak veya tekrar yakalayıp bir SMB aktarma saldırısı gerçekleştirmektir (başka bir yazının konusu).

Kullandığınız karma türleri olabilmek PTH ile kullanılanlar NT veya NTLM karmalarıdır. Bu karmalardan birini elde etmek için muhtemelen bir sistemi başka yollarla kullanmanız ve SİSTEM ayrıcalıklarına sahip olmanız gerekecek. Daha sonra yerel SAM karmalarını Meterpreter, Empire veya başka bir araç aracılığıyla boşaltabilirsiniz. Mimikatz ayrıca oturum açmış kullanıcıların NT karmalarını da yayınlayacaktır.

Bu senaryo için, bir makineyi bazı istismarlar yoluyla tehlikeye attığımı, bir Empire aracısı aldığımı, Mimikatz’ı çalıştırdığımı ve geçerli etki alanı kullanıcılarının bazı NT karmalarını kurtardığımı varsayacağız:

İmparatorluğun tehlikeye attığı karmalar

Artık iki etki alanı kullanıcısı için NT karma değerlerine sahibiz: kbryant ve jhoyer.

Girişleri Hash’lerle Test Etme

CrackMapExec, Windows ortamına hızlı bir şekilde sızma testi yapmak için başvuracağım araç haline geldi. Daha önceki bir gönderide bunu bir ağdaki kimlik bilgilerini test etmek için kullanmıştım, ancak aynı zamanda NT karmalarıyla PTH aracılığıyla kimlik doğrulamayı da destekliyor. Ağın herhangi bir yerinde kimlik doğrulaması yapmak için “kbryant” karma değerinin kullanılıp kullanılamayacağını görmek için -H seçenek:

Bir karma ile CrackMapExec

Çalışıyor ve onun kimliğini doğruluyoruz ve onun iki farklı iş istasyonunda yönetici olduğunu görüyoruz.

Metasploit’ler smb_login kimlik bilgilerini test etmek ve kullanıcının Yönetici olup olmadığını görmek için karmalarla birlikte de kullanılabilir. Metasploit tam NTLM karma değerini gerektirir, bu nedenle “boş” LM kısmını başlangıca eklemeniz gerekir: aad3b435b51404eeaad3b435b51404ee.

Hash'lerle metasploit smb_login

Bölüm 1’de özetlediğim araçların neredeyse tamamı şifreler yerine NT karmalarıyla kullanılabilir.

“pth” paketi, yamalarla kimlik doğrulamayı desteklemek için yamalanmış bir dizi program içerir:

1
2
3
4
5
6
7
8
pth-net
pth-rpcclient
pth-smbclient
pth-smbget
pth-sqsh
pth-winexe
pth-wmic
pth-wmis

Daha fazla bilgiyi buradaki Github sayfasında bulabilirsiniz. (yan not: ha! Az önce CrackMapExec ile aynı yazar olduğunu fark ettim. nice)

Araçlar aynı olduğundan tekrar girmeyeceğim, artık düz metin şifresi yerine sadece Hash kullanıyoruz.

pth-winexe. pth paketi DOMAIN/user%hash biçimini kullanır:

pth-winexe

Darbe. Tüm Impacket örnekleri karmaları destekler. Boş LM kısmını eklemek istemiyorsanız, başına iki nokta üst üste koymanız yeterlidir:

wmiexec karmaları

Windows’ta Hash’leri Kullanma

Windows içinden karmalarla kullanılacak iki ana araç Impacket ve Mimikatz’dır.

Yakın zamanda bir araştırmacının tüm Impacket örneklerini bağımsız Windows çalıştırılabilir dosyaları olarak derlediğini öğrendim. İkili dosyaları Windows sisteminize indirebilirseniz, Impacket’in örneklerinin tüm muhteşem işlevlerine Windows komut isteminden sahip olursunuz. Yürütülebilir dosyaları buradan indirin:

https://github.com/maaaaz/impacket-examples-windows

Windows saldırı kutumdan artık yukarıdakiyle aynı işlevselliğe sahibim:

Karmalarla Windows wmiexec

Oldukça şık.

Mimikatz ile PTH

Henüz bilmiyorsanız Mimikatz, şifreleri LSASS belleğinden döken bir araçtan çok daha fazlasıdır. Yerleşik PTH işlevselliğine sahiptir ve esas olarak başka bir işlemi “çalıştırmak” için bir karma ile birlikte kullanılabilir.

Bir komut isteminden (veya Invoke-Mimikatz kullanıyorsanız PowerShell’den), aşağıdaki komutu çalıştırın: sekurlsa::pth modülünü açın ve kullanıcıyı, etki alanını ve NTLM karmasını belirtin. Bu, kbryant kullanıcısıyla başarılı bir şekilde “runas” yapmışsınız gibi başka bir cmd istemi açacaktır.

Mimikatz'ı PTH'ye kullanma

Biz koştuk pth modül ve yeni bir komut istemi açıldı. “kbryant” kullanıcısı için bir TGT aldık ve artık onun gibi herhangi bir Windows komutunu çalıştırabiliyoruz.

Yaklaşıyor

Bu, güvenlik araçları söz konusu olduğunda NTLM karmasının neredeyse bir parola kadar iyi olduğunu gösteren kısa bir gönderiydi. Karmayı tehlikeye atarsanız, aynı araç ve tekniklerin tümü hâlâ geçerlidir ve dosya paylaşımlarına göz atmak ve komutları yürütmek için bu kullanıcı olarak kimlik doğrulaması yapabilirsiniz.

Bir sonraki yazımda bu teknikleri ele geçirilmiş veya sahte kerberos biletleriyle nasıl yapabileceğinizi göstereceğim. Herkes korkunç “Altın Bilet”i duymuştur ama eğer varsa onu kullanmanın pratik yolları hakkında pek bir şey bulamadım. Altın bir bilet oluşturmaya ve ardından kimlik doğrulaması yapmak için Linux ve Windows araçlarını kullanmaya başlayacağım.

Kaçırdığım herhangi bir araç veya teknik varsa veya daha fazla ayrıntıya girmemi istiyorsanız bana bildirin!

-ropnop


Ayrıca bakınız



Source link