Blog

Active Directory’de AdminSDHolder Backdoor Nedir ve Nasıl Tespit Edilir?

Active Directory ortamlarında Domain Admin, Enterprise Admin ve benzeri yüksek yetkili hesapların güvenliği kritik öneme sahiptir. Microsoft, bu hesapların yetkilerini korumak amacıyla AdminSDHolder ve SDProp (Security Descriptor Propagator) mekanizmasını kullanır. Ancak bu mekanizma doğru anlaşılmazsa saldırganlar tarafından kalıcı erişim (Persistence) elde etmek için kullanılabilir.

Bu yazıda AdminSDHolder’ın nasıl çalıştığını, saldırganların bu yapıyı nasıl kötüye kullanabileceğini ve alınması gereken güvenlik önlemlerini detaylı olarak inceleyeceğiz.

AdminSDHolder Nedir?

AdminSDHolder, Active Directory içerisindeki kritik hesap ve grupların güvenlik izinlerini (ACL) standart hale getiren özel bir nesnedir.

Her domain içerisinde aşağıdaki konumda bulunur:

CN=AdminSDHolder,CN=System,DC=domain,DC=local

Bu nesne, korunan hesaplar için bir şablon görevi görür. Üzerindeki ACL yapısı belirli aralıklarla yüksek ayrıcalıklı hesaplara uygulanır.

Hangi Hesaplar Korunur?

Varsayılan olarak aşağıdaki hesap ve gruplar AdminSDHolder koruması altındadır:

  • Administrator
  • Administrators
  • Backup Operators
  • Domain Admins
  • Domain Controllers
  • Enterprise Admins
  • Krbtgt
  • Print Operators
  • Read-Only Domain Controllers
  • Replicator
  • Schema Admins
  • Server Operators

Bu gruplardan herhangi birine üye olan kullanıcılar da otomatik olarak koruma kapsamına girer. Önemli bir yanlış anlaşılmayı da düzeltmek gerekir: Bir hesabın AdminCount=1 olması, hesabın korunmasının nedeni değildir. Koruma mekanizmasını belirleyen unsur kullanıcının yukarıdaki gruplardan birine üyeliğidir.

SDProp Nasıl Çalışır?

AdminSDHolder’ın arkasındaki asıl mekanizma SDProp (Security Descriptor Propagator) servisidir.

SDProp:

  • Tüm Domain Controller’larda çalışır.
  • Varsayılan olarak yaklaşık 60 dakikada bir devreye girer.
  • Korunan hesapların ACL yapılarını AdminSDHolder ile karşılaştırır.
  • Fark tespit ederse izinleri tekrar AdminSDHolder ile eşitler.
  • Korunan hesaplarda ACL inheritance (miras alma) özelliğini kapatır.

Bu sayede Domain Admin gibi kritik hesapların izinleri manuel değişikliklerden korunmuş olur.

SDProp Çalışma Süresi Değiştirilebilir mi?

Evet. PDC Emulator rolüne sahip DC üzerinde aşağıdaki registry değeri kullanılarak çalışma sıklığı değiştirilebilir:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NTDS\Parameters

AdminSDProtectFrequency

Varsayılan değer 3600 saniyedir (60 dakika). İstenirse 1 dakika ile 2 saat arasında farklı bir değere ayarlanabilir.

AdminSDHolder Backdoor Tehlikesi

Asıl risk burada ortaya çıkar. Bir saldırgan Domain Admin yetkisi elde ettiğinde doğrudan kullanıcı eklemek yerine AdminSDHolder ACL’lerini değiştirebilir.

Örneğin:

  • Gizli bir kullanıcı oluşturabilir.
  • Bu kullanıcıya AdminSDHolder üzerinde özel izinler verebilir.
  • SDProp’un bu izinleri tüm korunan hesaplara yaymasını bekleyebilir.

Sonuç olarak saldırgan:

  • Domain Admin grubundan çıkarılsa bile
  • Şifreler değişse bile
  • Bazı hesaplar silinse bile

ortamda kalıcı erişim elde etmiş olabilir.

Gizli Hesap Tekniği

Makalede örnek olarak saldırganın aşağıdaki işlemleri yaptığı gösterilmektedir:

  1. Gizli bir servis hesabı oluşturur.
  2. Hesabı Program Data konteynerine yerleştirir.
  3. AdminSDHolder ACL’lerine ekler.
  4. “Everyone” grubuna Deny Read uygular.
  5. Hesabın normal araçlarla görünmesini engeller.

Bu tür hesaplar çoğu zaman:

Get-ADUser

çıktılarında görünmeyebilir.

Ortamda Nasıl Kontrol Edilir?

Öncelikle AdminSDHolder ACL’lerini incelemek gerekir:

Get-Acl "AD:CN=AdminSDHolder,CN=System,DC=domain,DC=local"

Yetkilendirme kayıtlarında bilinmeyen kullanıcı veya gruplar bulunuyorsa detaylı inceleme yapılmalıdır.

Ayrıca aşağıdaki hesaplar kontrol edilmelidir:

Get-ADUser -LDAPFilter "(adminCount=1)" -Properties adminCount

Bu sorgu geçmişte ayrıcalıklı gruplara üye olmuş kullanıcıları da gösterebilir.

Güvenlik İçin Önerilen Önlemler

1. AdminSDHolder ACL’lerini Değiştirmeyin

Microsoft’un varsayılan izin yapısı korunmalıdır. AdminSDHolder üzerinde manuel ACL değişikliklerinden kaçınılmalıdır.

2. Düzenli ACL Denetimi Yapın

Aşağıdaki nesneler düzenli olarak incelenmelidir:

  • AdminSDHolder
  • Domain Admins
  • Enterprise Admins
  • Schema Admins
  • Administrators

Beklenmeyen ACE kayıtları araştırılmalıdır.

3. Least Privilege Uygulayın

Kullanıcılara yalnızca ihtiyaç duydukları yetkiler verilmelidir. Kalıcı Domain Admin üyeliklerinden kaçınılmalıdır.

4. Ayrı Yönetici Hesapları Kullanın

Yönetici hesapları günlük işlemler için kullanılmamalıdır. Standart kullanıcı hesabı ile yönetici hesabı ayrılmalıdır.

5. Gelişmiş İzleme ve Alarm Mekanizmaları Kurun

Aşağıdaki değişiklikler alarm üretmelidir:

  • AdminSDHolder ACL değişikliği
  • Domain Admins üyelik değişikliği
  • Enterprise Admins üyelik değişikliği
  • AdminCount değişiklikleri

Bu sayede saldırganın kalıcı erişim girişimleri erken aşamada tespit edilebilir.

AdminSDHolder, Active Directory’nin en kritik güvenlik mekanizmalarından biridir. Ancak aynı zamanda saldırganlar tarafından kalıcı erişim elde etmek için kullanılabilecek güçlü bir persistence tekniğidir.

Birçok kurum Domain Admin üyeliklerini takip etse de AdminSDHolder ACL’lerini düzenli olarak denetlemez. Oysa saldırganlar çoğu zaman doğrudan grup üyeliği yerine ACL manipülasyonlarını tercih eder.

Bu nedenle Active Directory güvenlik denetimlerinde yalnızca ayrıcalıklı grup üyelikleri değil, AdminSDHolder ACL yapısı, AdminCount kayıtları ve SDProp davranışı da mutlaka incelenmelidir.

İlgili Makaleler

Bir yanıt yazın

Başa dön tuşu