Secura firması tarafından Eylül ayı 2020 içerisinde domain controller ve domain ağı içerisinde bulunan Windows sistemler üzerinden oturum izni olmadan uzaktan kod çalıştırma zafiyeti keşfedildi.Common Vulnerability Scoring System (CVSS) puanı 10.0 olarak belirleyen Microsoft tarafından Ağustos 2020 içerisinde yayınlanan güncelleme ile kısmen önlendiğini söyleyebiliriz.

Zafiyetin Detayları


RPC:

Server ve client arasında iletişimi sağlayan bir servisdir.Rpc arka planda netlogon protokolünün çalışması için arayüz sağlayan yardımcı bir servis olarak tanımlanabilir.

Netlogon:

Netlogon kısaca domain yapısı içerisinde kimlik doğrulamak için kullanılan bir protokoldür.Bu protokol domain yapısı kurulduktan sonra kullanılır ve domain controller-client arasında doğrulamayı sağlar.Eğer Netlogon protokolü çalışmaz ise domain yapısı içerisinde bulunan clientlar oturum açamaz ve server dns görevini yerine getiremez hale gelir.

RPC servisinin bu zafiyete dair önemli bir işlevi domaindeki
bilgisayarların kullanıcı parolalarını güncellemede kullanılmasıdır. Kullanıcı parolası güncellenirken client ve
DC arasında bir takım RPC çagrıları gerçeklestirilmektedir. Bu çağrılar network ataklarından korunmak adına şifreli olarak gerçekleştirilmektedir. Bu islemler için sifreleme yöntemi olarak ise AES-CFB8
kullanılmaktadır. Bu asamada 256’da 1 ihtimal ile sıfırlardan olusan 16 adet null byte (00) içeren Initialization Vector
(IV) ve 8 adet null byte içeren mesaj degerinin sifrelendikten sonra 8 adet null byte içeren bir çıktı oldugu görülmüstür.

Şeklil-1-Netlogon üzerinden parola güncelleme işlemi (Parola sıfırlanmıştır)

POC


Secura firmasının yayınladığı test scripti sayesinde domain yapısı bu zafiyetten etkilenip etkilenmediği test edilebilir.

Testin Gerçekleştirilmesi:


Test scriptini buradan indirebilirsiniz.

Şekil-2-Test scriptinin indirilmesi ve kurulması

Kurulumu gerçekleştirdikten sonra;

python3 zerologon_tester.py EXAMPLE-DC 1.2.3.4(domain controller ip)

kodu ile testi gerçekleştirebilir.

Şekil-3-Test scriptinin çalıştırılması
  • Scriptin başarılı olarak gerçekleşme mesajını aldığımızda zafiyete açık olduğunu anlayabiliriz
  • STATUS_INVALID_COMPUTER_NAME  şeklinde hata aldığımızda Etki Alanı Kontrolcülerine ait bilgisayar ismini yanlış girdiğimiz sonucunu çıkarabiliriz.
Şekil-4-Domain Name hatalı girilmesi

Başarılı olan testten sonra DC sunucusunun parolası değişeceğinden dolayı linkte bulunan reinstall seçeneği ile sistem eski haline getirilebilir.

Çözüm Önerileri


Şimdilik Microsoft tarafından sunulan güncellemeyi sunucularda uygulamak gerekir.Daha öncede bahsettiğim gibi bu geçici bir çözüm olarak görünüyor.Microsoft daha sonra yine bir güncelleme yayınlayacağını duyurdu.Güncelleme ile ilgili detaylar için tıklayınız.

Şekil-5-Zafiyetten etkilenen sistemler

Referanslar


https://www.secura.com/blog/zero-logon

https://portal.msrc.microsoft.com/en-US/security-guidance/advisory/CVE-2020-1472

https://github.com/blackarrowsec/redteam-research/tree/master/CVE-2020-1472

https://www.zdnet.com/article/zerologon-attack-lets-hackers-take-over-enterprise-networks/

https://www.linkedin.com/posts/innoverabt_10-saniyede-domain-controlleri-ele-ge%C3%A7iren-activity-6711969847787429888-UJzx

https://github.com/risksense/zerologon

Categories:

One response

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir