Düşünün ki, ağınızdaki herhangi bir standart "domain user" yetkisine sahip kullanıcı, sadece birkaç dakika içinde tüm Active Directory etki alanınızın (Domain Admin) kontrolünü ele geçirebiliyor. Kulağa bir siber güvenlik kabusu gibi gelse de, CVE-2021-42278 ve CVE-2021-42287 olarak bilinen zafiyet zinciri tam olarak bunu mümkün kılıyordu.
"noPac" olarak da adlandırılan bu saldırı, Active Directory'nin temel kimlik doğrulama mekanizmalarındaki iki kritik zafiyeti birleştirerek, bir saldırganın yetkilerini en üst düzeye çıkarmasına (Privilege Escalation) olanak tanır.
Bu yazıda, bu zafiyetin tam olarak ne olduğunu, nasıl çalıştığını ve en önemlisi Active Directory sunucularınızı bu büyük tehdide karşı nasıl koruyacağınızı adım adım anlatacağım.
Zafiyet Tam Olarak Nedir ve Nasıl Çalışır?
Bu saldırı, iki zafiyetin mükemmel bir fırtınasıdır:
- CVE-2021-42287 (Giriş Kapısı): Varsayılan olarak, Active Directory'deki her standart kullanıcının etki alanına 10 adete kadar yeni bilgisayar hesabı ekleme hakkı vardır. Bu hak,
ms-DS-MachineAccountQuotaadlı bir öznitelik tarafından yönetilir. Saldırgan, bu hakkı kullanarak etki alanında kendi sahte bilgisayar hesabını (örn:SAHTE-PC$) oluşturur. - CVE-2021-42278 (Anahtar): Zafiyetin kilit noktası burasıdır. Saldırgan, az önce oluşturduğu
SAHTE-PC$hesabınınsAMAccountNameözniteliğini, etki alanınızdaki bir Domain Controller'ın (DC)sAMAccountNamebilgisiyle aynı olacak şekilde (ancak sonundaki$işareti olmadan) değiştirir.
- Örneğin, DC'nizin adı:
DC01(sAMAccountName:DC01$) - Saldırgan,
SAHTE-PC$hesabınınsAMAccountName'iniDC01olarak değiştirir.
Yamalı olmayan bir DC, bu değişikliğe izin verir. Artık elimizde bir DC gibi görünen sahte bir hesap vardır. Saldırgan bu sahte hesapla Kerberos'tan bir bilet (TGT) istediğinde, KDC (Key Distribution Center) servisi "Bu DC01 olduğuna göre, muhtemelen asıl DC01$ bilet istiyordur" şeklinde bir kafa karışıklığı yaşar ve saldırgana bir Domain Controller yetkilerinde bilet verir.
Bu bileti alan saldırgan, artık Domain Admin'dir ve tüm etki alanını ele geçirebilir.
Çözüm Yöntemleri:
Neyse ki, bu kabus senaryosunu engellemenin net ve kanıtlanmış yolları var. Çözümü üç temel adımda ele alacağız:
1.Acil Adım: Güvenlik Güncellemeleri (Yama)
Bu zafiyetlerin doğrudan çözümü, Microsoft'un Kasım 2021 ve sonrasında yayınladığı güvenlik güncellemeleridir.
- Ne Yapmalı: Tüm Domain Controller (DC) sunucularınızın en güncel Windows Kümülatif Güncellemelerini (Cumulative Update) aldığından emin olmalısınız.
- Önemli Not: Artık geriye dönüp spesifik olarak Kasım 2021 yamasını aramanıza gerek yok. Sunucunuzda en son tarihli kümülatif güncelleme yüklüyse, bu yamayı ve daha fazlasını zaten içeriyor demektir. Windows Update'i çalıştırmak veya WSUS'tan en son güncellemeleri onaylamak yeterlidir.
Bu yama, bir hesabın sAMAccountName özniteliğinin bir DC adıyla çakışacak şekilde değiştirilmesini engelleyerek zafiyeti durdurur.
2.Saldırının İlk Adımını Engelleme
Yamalar zafiyeti kapatsa da, saldırganın hâlâ ilk adımı atabilmesini (yeni bilgisayar hesabı oluşturabilmesini) istemeyiz. Zafiyetin "Giriş Kapısı" olarak bahsettiğimiz ms-DS-MachineAccountQuota hakkını kapatmalıyız.
Bu ayarı 0 (sıfır) yapmak, standart kullanıcıların etki alanına yeni bilgisayar eklemesini tamamen engeller.
- Korkmayın: Bu değişiklik, mevcut bilgisayarlarda oturum açan (öğretmenler, öğrenciler, personel) mevcut kullanıcılarınızı kesinlikle etkilemez. Sadece, artık yeni bir bilgisayarı etki alanına (domain'e) yalnızca IT yöneticileri dahil edebilir.
- Nasıl Yapılır (ADSI Edit ile):
- Domain Controller'ınızda
adsiedit.mscyazarak ADSI Edit'i açın. - "Default naming context" (Varsayılan adlandırma bağlamı) bölümüne bağlanın.
- Sol tarafta
DC=sizin,DC=domaininizyazan en üstteki etki alanı nesnesine sağ tıklayın ve Properties (Özellikler) deyin. - Açılan listede
ms-DS-MachineAccountQuotaözniteliğini bulun. - Değerini
10'dan0'a (sıfır) çekin ve kaydedin.
Sonuç
"noPac" zafiyeti, Active Directory'nin ne kadar karmaşık ve hassas bir yapı olduğunu bize bir kez daha hatırlattı. Basit bir varsayılan ayar (MachineAccountQuota=10) ile kritik bir mantık hatasının (sAMAccountName denetimi) birleşimi, bir sistem yöneticisinin en büyük kabusu olabilir.
Ancak çözümü basit ve nettir: Yamaları yapın ve gereksiz hakları kısıtlayın.
Bu iki adımı bugün uygulayarak, Active Directory'i bu tehlikeli saldırıya karşı güvenle kilitlediğinizden emin olabilirsiniz.