Merhaba,

“Pass-the-Hash” saldırısı, saldırganın açık parola yerine şifre özetini kullanarak uzak sunucu/servise bağlanmasını sağlar.

Bu saldırı ilk defa 1997 yılında araştırmacı Paul Ashton tarafından yayınlanmıştır

Saldırgan, hedef sisteme yetkili erişim sağladıktan sonra bellekte tutulan LM ya da NTLM şifre özetini ele geçirerek saldırıyı gerçekleştirir. Şifre özetlerini elde etmek için farklı yöntemler mevcuttur (bkz:mimikatz).

Uzun bir geçmişe sahip olsa da Pass-The-Hash saldırıları günümüz sızma testlerinde hala aktif olarak kullanılmaktadır. Yazımızın devamında Metasploit çatısı altındaki PsExec modülü ile anlatım yapılacaktır.

Uygulamaya geçmeden önce ufak bilgiler;

LM

Windows sistemlerdeki domain yapısı sebebiyle yeni işletim sistemleri ile eski işletim sistemleri arasında uyum sağlanması için günümüzde aktif kullanılmasa da hala desteklenmektedir. SAM dosyasında saklanır.

NTLM

Domain yapısının gelişmesiyle birlikte LM’in zayıflıkları telafi edilmiş ve istemcilerin şifre özetleri sadece DC’lerde saklanmaya başlamıştır.

SAM

Yerel bilgisayarladaki kullanıcı hesaplarını ve kullanıcılara yönelik güvenlik politikalarını tutan veritabanıdır. İşletim sistemi çalışırken kilitli durumdadır bu nedenle SAM dosyasının içindeki verilere erişebilmek için önce ele geçirip ardından kırmak gerekir.

LSASS

Windows sistemlerde şifre özetleri LSASS(Local Security authority subsystem service) sürecinde tutulur. Yalnızca yetkili kullanıcıların çeşitli araçlar ile erişim sağlayarak şifre özetlerini ele geçirebildiği bu süreç üzerinde yetkili kullanıcı ile bile değişiklik yapılmasına izin verilmez.

LSASS sürecinin görevi belirlenen güvenlik politikaları çerçevesinde kullanıcı oluşturma/değiştirme, kimlik doğrulama gibi işlemleri yerine getirmektir.

Test ortamı;

192.168.20.10 – Kurban1 – MS08-067 zafiyetli Windows XP

192.168.15.13 – Kurban2 – Güvenlik açığı bulunmayan Windows 7 Ultimate

192.168.1.159 – Saldırgan

Test ortamında Domain yapısı bulunmamaktadır. Her iki hedef makinede de güvenlik duvarı kapalıdır

Pass-The-Hash saldırısı yapan PsExec modülü, genellikle Windows sistemlerde yazıcı,dosya paylaşımı işlevlerini yerine getiren SMB servisini kullanmaktadır.

Saldırıyı gerçekleştirebilmek daha önce ele geçirilmiş bir şifre özeti, Domain kullanıcısı ya da yerel bir kullanıcı, hedefin IP adresi ve eğer öntanımlı değilse yönetimsel paylaşım bilgisine(ADMIN$,C$ vb.) ihtiyaç duyulmaktadır.

Test ortamımızda önce MS08-067 zafiyetli Windows XP’ye sızılıp, Administrator kullanıcısına ait hash ele geçirilerek bu hash ile Windows 7 makinesine sızılacaktır.

SMB servisi için script kullanarak Kurban1’e yapılan nmap taramasının sonucu aşağıdaki gibidir.

Metasploit içinde bulunan ms08_067_netapi modülü ile sisteme sızıldıktan sonra yetki yükseltilerek(test ortamımızda yetki yükseltmek şart değildir zira bu zafiyet ile sisteme en yetkili kullanıcı olarak bağlanılır. Yine de unutulmaması gerekir ki şifre özetlerine yalnızca yetkili kullanıcılar erişebilir, bu sebeple duruma göre yetki yükseltme saldırıları yapmak gerekir.) mevcut kullanıcılar ve şifre özetleri ele geçirilir.

PsExec modülünün ihtiyacı olan SMBDomain bilgisi enum4linux aracı ile elde edilebilir. enum4linux 192.168.15.13

Komutunun çıktısında Domain/Workgroup değeri için WORKGROUP sonucunun dönüldüğü görülecektir.

Bu aşamaya kadar ele geçirilen bilgiler ile PsExec modülünü kullanarak Kurban2’ye Administrator yetkileri ile sızılır.

Ayrıca bknz:

LM ve NTLM için,

https://technet.microsoft.com/tr-tr/magazine/2006.08.securitywatch(en-us).aspx

https://en.wikipedia.org/wiki/LM_hash

https://en.wikipedia.org/wiki/NT_LAN_Manager

PsExec için,

https://www.offensive-security.com/metasploit-unleashed/psexec-pass-hash/

https://community.rapid7.com/community/metasploit/blog/2013/03/09/psexec-demystified

Pass-The-Hash için,

https://www.sans.org/reading-room/whitepapers/testing/pass-the-hash-attacks-tools-mitigation-33283

https://en.wikipedia.org/wiki/Pass_the_hash