LLMNR ve LLMNR Poisoning Nedir ? Nasıl Yapılır ?
LLMNR yani “Link Local Multicast Name Resolution” esasında bir nevi DNS gibi çalışan ve komşu bilgisayarların isimlerinin çözümlenmesine yarayan servistir. DNS varken bu servise ihtiyaç duyulmasının nedeni ise ufak Network’ler de veya sadece komşu Client’ların olduğu, DNS’in kullanılamadığı alanlarda kullanılmak üzere hazırlanmış olmasıdır. Halen kullanılmaya devam etmektedir. Zaten varsayılan ayarlarda açık gelmektedir.
LLMNR sadece bilgisayar isim çözümlemelerinde değil buna ek olarak Network paylaşımlarında da iş yapmaktadır. İşte bu da zaafiyetin doğdu alandır.
Örnek olarak Network’de //pentest diye bir paylaşım varsa eğer ve bu paylaşımın yolunu bilmiyorsa makineniz bunu ilk önce DNS’e sorar. Eğer olumsuz bir cevap alırsa yada alamazsa bu seferde bunu LLMNR yolu ile bütün ağa sorar. Bunun karşılığında da eğer bu paylaşım var ise o paylaşımın üzerinde olduğu makine “paylaşım bende” diye cevap verir. Böylece süreç devam eder.
Burada LLMNR servisini yazımıza konuk eden durum ise bu tip sistemlere Poisoning yapılabilmesi ve kullanıcı bilgilerinin ele geçirilebilmesi.
Bu senaryo da eğer ağ içerisinde //pentest diye bir paylaşım var ise ve siz bunu yanlış yazarak //penteeest vb yazarsanız bilgisayarınız bu paylaşımı bilmediğinden ağdaki bütün makinelere soracaktır “bu paylaşım nerede” diye. Eğer ortamınızda bir LLMNR Poisoning olayı varsa eğer işte o zaman Poisoning’i yapan sistem kendi üzerinde böyle bir paylaşım olmasa bile “bu paylaşım bende” diye size dönecektir.
Bu aşamadan sonra kullanıcı bilgisayarı paylaşıma ulaşmak adına kullanıcı adı ve şifre gibi bilgileri karşı tarafa gönderecektir. Bu gönderimleri saldırgana yapacağı için bütün bilgiler karşı tarafa geçmiş olacak.
Her ne kadar bu süreçte elde edilen bilgiler Hash’li bilgiler olsa da bunları kırmak gerçek hayat da çok da zor olmuyor. Genelde kullanıcılar fazla karakter içermeyen ve yeteri kadar karışık olmayan, karışık olsa bile genelde bilinen şifreler kullandığından Hash kırma süreçleri çok da uzun sürmüyor. İstisnalar yok değildir tabii ama genel ortam bu şekilde.
Kullanıcı bilgilerinin bu kadar kolay ele geçirilmesini sağlayan bir protokolün mutlaka kapatılması gerekmektedir. Sadece LLMNR’ın devredışı bırakılması yetmez bununla beraber mutlaka NBT-NS protokolünün de devre dışı bırakılması gerekmektedir. Eğer devre dışı bırakılmazsa LLMNR olmadığından NBT-NS otomatik olarak devreye girerek zaafiyete imkan tanıyabilir.
Bu servisler, gerçek hayatta eğer kurum sürekli olarak kurum dışı bir firmadan güvenlik veya Pentest hizmeti almıyorsa o zaman genel de açık oluyorlar. Bu servislerin ne gibi sorunlara sebep olabileceği hakkında maalesef bir bilgisi yok kurumların. Bazı zamanlarda da Pentest’i kurtaran öğe olabiliyor :))
Bu zafiyetin nasıl sömürüldüğüne gelecek olursak bir kere şunu unutmamanız lazım eğer bir şekilde LLMNR Poisoning yapacaksanız, yapmak istediğiniz ağın içinde olmanız gerekiyor. Bir şekilde dahil olduysanız eğer bu aşamdan sonrası esasında oldukça kolay.
- İlk önce https://github.com/SpiderLabs/Responder adresinden git clone ile Responder’ı çekmeniz.
- cd ile Responder’ın içine girmelisiniz,
- python ./Responder.py -I eth0 -w -r -f yaparak standard ayarlala başlatabilirsiniz Responder’ı ama eğer ben biraz inceleyeyim diyorsanız eğer o zaman python ./Responder.py -h yapmalısınız.
Siz bu şekilde başlattığınız zaman Responder’ı o sizin seçtiğiniz ayarlala Poisoning yapmaya başlayacak. Bu noktadan sonra biraz beklemek gerekiyor. Eğer elinizin altında bir Client makine varsa o zaman tek yapmanız gereken o makine üzerinden ağ içerisinde olmayan bir paylaşıma erişmeye çalışmak. Böylece Poisoning işini yapacak ve elimize bilgileri geçirmiş olacağız.
Filed under: Infosec - @ 20 March 2019 13:53
Tags: infosec, llmnr, llmnr poisoing, nasıl yapılır, penetration, pentest, pentesting