Bu makalede8 bölüm
- Teknoloji
- Active Directory, BloodHound CE, SharpHound, Cypher, Kerberos delegasyonu, PowerShell
- Konu
- AD ayrıcalık yollarının savunma amaçlı grafik analizi
- Seviye
- İleri
- Ön koşullar
- Analiz için yazılı onay ve tanımlı kapsam
- AD PowerShell modülü ve okuma yetkisi
- Tier 0 varlık listesi
Domain’i düşüren saldırı çoğu zaman tek bir kritik zafiyet değildir; tek tek masum görünen yapılandırmaların zinciridir. Yardım masası grubunun bir OU üzerindeki parola sıfırlama hakkı, o OU’daki bir sunucuda açık kalmış yönetici oturumu, o yöneticinin iç içe grup üyeliğiyle Domain Admins’e ulaşması. Üç adım, bir domain. Bu rehberde BloodHound gibi grafik tabanlı araçları savunma ekibinin gözüyle ele alıyoruz: verinin yetkili ve kontrollü toplanması, sahada en sık çıkan ayrıcalık yolları, önceliklendirme ve yolları kalıcı olarak kapatma.
Saldırı yolu nedir, neden tekil denetim yetmez
Saldırı yolu, bir başlangıç noktasından (ele geçirilmiş bir kullanıcı veya bilgisayar) hedef bir varlığa (Domain Admins, DC’ler, AD CS, Entra Connect sunucusu) giden izin ve ilişki zinciridir. Grafik modelinde her AD nesnesi bir düğüm, aralarındaki her ilişki bir kenardır: MemberOf, AdminTo, HasSession, GenericAll, WriteDacl, ForceChangePassword gibi.
Tekil yapılandırma denetimi “bu hesabın parolası süresiz mi?” diye sorar. Saldırı yolu analizi “bu hesabı ele geçiren biri kaç adımda Tier 0’a ulaşır?” diye sorar. Biri diğerinin yerini tutmaz; tekil kontrollerin temel listesi Active Directory güvenlik kontrolleri yazısında. Grafiğin değeri, binlerce ACL kaydının içinden gerçekten istismar edilebilir birkaç zinciri öne çıkarmasıdır. Gürültü azalır, iş netleşir.
Veri toplama: kapsam, yetki ve onay
BloodHound, SpecterOps tarafından geliştirilen açık kaynaklı bir analiz platformudur (güncel sürüm BloodHound Community Edition; kaynak ve dokümantasyon resmi GitHub deposunda). Veri, AD için SharpHound, Entra ID ve Azure için AzureHound toplayıcılarıyla alınır. Toplayıcı sıradan bir domain kullanıcısıyla çalışabilir. Saldırgan da aynı haritayı görür; analizi savunma açısından anlamlı kılan budur.
Araç saldırganların da elinde olduğu için, çalıştırmadan önce şu çerçeve yazılı olsun:
- Yazılı onay: Bilgi güvenliği yöneticisi ve AD sahibinden; kapsam (hangi domain/forest), zaman aralığı ve çalıştıracak kişi belirtilerek.
- Bilgilendirme: SOC/MDR ekibi ve EDR yöneticisi önceden bilgilendirilir. Toplayıcı ve yoğun LDAP sorguları tespit kurallarını tetikleyebilir. Tetiklemesi iyi işarettir; tetiklemiyorsa bu da ayrı bir bulgu olarak not edilir.
- Çalışma ortamı: Yönetilen, güncel, ayrıcalıklı erişim için ayrılmış bir iş istasyonu. Araç resmi kaynaktan indirilir, özet (hash) değeri doğrulanır.
- Verinin korunması: Çıktı, ortamın tam bir saldırı haritasıdır. Şifreli depolanır, erişim kısıtlanır, analiz sonrası saklama süresi baştan belirlenir.
Toplama yöntemi kapsamı belirler:
| Yöntem | Ne toplar | Etki |
|---|---|---|
| DCOnly | Yalnız DC’lerden LDAP ile nesneler, gruplar, ACL’ler, GPO’lar, güvenler | Uç noktalara bağlantı yok; en düşük gürültü |
| Session / LoggedOn | Hangi hesabın hangi makinede oturumu olduğu | Üye sunuculara ve istemcilere bağlantı kurar |
| LocalAdmin / LocalGroup | Makinelerdeki yerel grup üyelikleri | SAMR erişimi gerekir; güncel Windows sürümlerinde varsayılan olarak kısıtlıdır |
| All | Yukarıdakilerin tamamı | En kapsamlı, en gürültülü |
# İlk tur: yalnız DC'lerden yapı ve ACL verisi
SharpHound.exe -c DCOnly --outputdirectory D:\analiz\bh
# İkinci tur (onaylı kapsam): oturum bilgisi
SharpHound.exe -c Session --outputdirectory D:\analiz\bh
İlk analiz için DCOnly çoğu zaman yeterlidir; ACL ve grup kaynaklı yolların büyük bölümü bu veride görünür. Oturum verisi ise anlık bir fotoğraftır. Sabah dokuzda toplanan veri, gece yedekleme penceresinde açılan yönetici oturumlarını göstermez; farklı saatlerde birkaç kez toplanmadıkça eksik kalır.
Sahada en sık çıkan ayrıcalık yolları
Ortam değişir, yol tipleri pek değişmez. İlk grafikte neredeyse her seferinde karşımıza çıkanlar:
- İç içe gruplar: Bir uygulama grubunun yıllar önce bir geçiş sırasında Server Operators veya Account Operators gibi yerleşik ayrıcalıklı gruplara üye yapılması ve öyle unutulması. Arayüzde görünmeyen ama etkin olan dolaylı üyelikler.
- Oturum kalıntıları: Domain Admin hesabıyla bir üye sunucuya RDP yapılması; o sunucuda yerel yönetici olan herkesin bu hesabın kimlik bilgilerine ulaşabilmesi. Grafikte
AdminTo→HasSessionzinciri olarak görünür. - Geniş yerel yönetici hakları: “Domain Users” veya tüm IT personelinin GPO ile tüm sunuculara yerel yönetici yapılması. “Geçici” diye açılır, kalıcı olur.
- GPO düzenleme hakkı: DC’lerin bulunduğu OU’ya bağlı bir GPO’yu düzenleyebilen hesap, fiilen DC’lerde kod çalıştırabilir.
- Parola okuma hakları: LAPS parolasını (
ReadLAPSPassword) veya gMSA parolasını (ReadGMSAPassword) okuyabilen, gereğinden geniş gruplar. - Kimlik altyapısı sunucuları: Entra Connect, AD CS ve yedekleme sunucularının Tier 0 gibi korunmaması. Bu sunucularda yönetici olan herkesin domain’e kısa bir yolu vardır.
ACL ve delegasyon kaynaklı riskler
En geç fark edilen yollar nesne izinlerinden (ACL) ve Kerberos delegasyonundan gelir; çünkü ne grup üyeliği listesinde ne de oturum kayıtlarında görünürler. Aşağıdaki tabloda kritik kenarlar ve savunma tarafındaki anlamları var:
| Kenar | Ne sağlar | Tipik kaynak |
|---|---|---|
| GenericAll / GenericWrite | Nesneyi tamamen veya özniteliklerini değiştirme | Geçmişte verilmiş “tam denetim” delegasyonu |
| WriteDacl / WriteOwner / Owns | Nesneye kendine istediği izni verme | Nesneyi oluşturan hesabın sahip kalması |
| ForceChangePassword | Mevcut parolayı bilmeden parola sıfırlama | Yardım masası delegasyonunun ayrıcalıklı hesapları kapsaması |
| AddMember | Gruba üye ekleme | Grup yöneticisi (managedBy) ayarları |
| AddKeyCredentialLink | Hesaba sertifika tabanlı kimlik bilgisi ekleme | msDS-KeyCredentialLink üzerinde yazma izni |
| DCSync | Dizin çoğaltma ile tüm parola hash’lerini alma | Domain kökünde Replicating Directory Changes (All) hakkı |
| AllowedToDelegate / AllowedToAct | Başka kullanıcılar adına hizmete erişim | Kısıtlı delegasyon veya kaynak tabanlı delegasyon (RBCD) |
Kısıtlanmamış delegasyon (unconstrained delegation) ayrıca ele alınmalı: bu ayara sahip bir sunucuya kimlik doğrulayan her hesabın TGT’si o sunucunun belleğinde kalır. DC’ler dışında bu ayarın bulunduğu bilgisayarları PowerShell ile hızlıca listeleyebilirsiniz:
# DC dışında kısıtlanmamış delegasyona sahip bilgisayarlar
Get-ADComputer -Filter {TrustedForDelegation -eq $true} -Properties TrustedForDelegation |
Where-Object { $_.DistinguishedName -notlike '*OU=Domain Controllers*' } |
Select-Object Name, DistinguishedName
# Bir OU üzerindeki açık izinler (AD PowerShell sürücüsü ile)
(Get-Acl "AD:\OU=Sunucular,DC=ornek,DC=local").Access |
Where-Object { -not $_.IsInherited } |
Select-Object IdentityReference, ActiveDirectoryRights, ObjectType
# Kullanıcıların domain'e bilgisayar ekleme kotası (varsayılan 10)
Get-ADObject (Get-ADDomain).DistinguishedName -Properties ms-DS-MachineAccountQuota
ms-DS-MachineAccountQuota değerinin varsayılan 10 olması, her domain kullanıcısının bilgisayar hesabı oluşturabilmesi demektir ve RBCD tabanlı yolların önünü açar. Bilgisayar ekleme yetkisini belirli bir gruba devredip bu değeri 0 yapmak yaygın bir sıkılaştırmadır. Önce devri yapın, sonra kotayı sıfırlayın; tersi sırada masaüstü ekibinin domain’e makine katma işi durur.
Önceliklendirme: Tier 0’a en kısa yollar
İlk analizde yüzlerce yol görmek normaldir. Panik yapmayın. Önceliklendirme için üç soru yeter:
- Hedef Tier 0 mı? Önce Tier 0 varlıkları doğru etiketleyin: Domain Admins, Enterprise Admins, Administrators, DC’ler, AD CS sunucuları ve şablonları, Entra Connect, yedekleme altyapısı, domain kökü ve AdminSDHolder. BloodHound CE yerleşik ayrıcalıklı nesneleri otomatik olarak Tier Zero etiketiyle işaretler (etiketleme arayüzünün adı sürüme göre değişebilir); Entra Connect, yedekleme ve AD CS sunucuları gibi ortama özgü varlıkları elle ekleyin. Tier sınıflandırmasının mantığı için Active Directory tier modeli yazısına bakın.
- Başlangıç noktası ne kadar geniş? Domain Users, Authenticated Users veya Everyone’dan başlayan bir yol, tek bir hesaptan başlayandan çok daha önceliklidir.
- Kaç adım ve hangi düğümlerden geçiyor? Çok sayıda yolun geçtiği tek bir düğüm (ör. bir grup veya bir ACL girdisi) darboğazdır; onu kesmek birçok yolu birden kapatır.
BloodHound’un hazır sorguları bu soruların çoğunu karşılar. Özel sorgular için Cypher kullanılır; aşağıdaki örnek, etkin kullanıcılardan Domain Admins grubuna (RID 512) en kısa yolları listeler:
MATCH p = shortestPath((u:User {enabled: true})-[*1..]->(g:Group))
WHERE g.objectid ENDS WITH '-512'
RETURN p
LIMIT 50
Yolları kapatma eylemleri
Her bulgu için üç şey birlikte planlanır: düzeltme eylemi, bunun neyi kırabileceği ve nasıl doğrulanacağı. Kenarı silip grafiği yeniden toplamadan “kapattık” demeyin.
| Yol türü | Kapatma eylemi | Dikkat |
|---|---|---|
| Ayrıcalıklı oturum kalıntısı | Tier 0 hesaplarına “Deny log on” kısıtlamaları, PAW kullanımı | Hizmet olarak çalışan yönetici hesaplarını önce taşıyın |
| Geniş yerel yönetici | Windows LAPS, rol bazlı yerel yönetici grupları | Uygulama ekiplerinin gerçek ihtiyacını belirleyin |
| Fazla ACL hakkı | Açık ACE’leri kaldırma, sahipliği Domain Admins’e alma | Değişiklik öncesi ACL yedeği alın |
| Hatalı iç içe grup | Üyeliği kaldırma, grubu yeniden tasarlama | Uygulama erişimlerini test edin |
| Delegasyon | Kısıtlanmamışı kısıtlıya çevirme, hassas hesapları “Account is sensitive and cannot be delegated” yapma | Uygulamanın Kerberos akışını doğrulayın |
| LAPS/gMSA okuma hakkı | Okuma yetkisini rol bazlı küçük gruplara indirme | Yardım masası süreçlerini güncelleyin |
Yerel yönetici parolalarının tekilleştirilmesi için Windows LAPS geçişi yazısı ayrıntılı adımları veriyor. ACL değişikliklerinde değişiklik öncesi durumu dsacls çıktısı veya Get-Acl ile dosyaya alın. Geri dönüşün tek güvencesi budur.
Periyodik analiz ve değişiklik takibi
Saldırı yolları statik değildir; her yeni proje, delegasyon ve geçici yetki yeni kenarlar yaratır. Bir kerelik analiz, bir sonraki projeye kadar geçerlidir. Kurumsal siber güvenlik açısından sürdürülebilir model şunları içerir:
- Üç ayda bir veya büyük AD değişikliklerinden sonra DCOnly toplama ve önceki sonuçla karşılaştırma.
- Tier 0’a giden yol sayısının ve darboğaz düğümlerinin izlenen bir metrik olarak raporlanması.
- Ayrıcalıklı gruplarda üyelik değişikliği (4728, 4732, 4756) ve dizin nesnesi değişikliği (5136) olaylarının SIEM’de alarm üretmesi.
- Yeni delegasyon taleplerinin değişiklik yönetiminde “hangi yeni yolu açar?” sorusuyla değerlendirilmesi.
Grafik analizi statik yapılandırmayı gösterir; aynı yolların gerçek zamanlı kötüye kullanımını izlemek için Defender for Identity gibi davranış tabanlı bir tespit katmanı gerekir. Harita ile alarm ayrı işlerdir. Kapsamlı bir saldırı yolu çalışması, Active Directory güvenlik denetiminin parçası olarak ya da yolların gerçekten istismar edilebilir olduğunu kanıtlamak için sızma testi ve güvenlik doğrulama kapsamında yürütülebilir.
Sık sorulan sorular
BloodHound’u çalıştırmak için Domain Admin yetkisi gerekir mi?
Hayır. AD nesneleri, grup üyelikleri ve ACL’lerin büyük bölümü sıradan bir domain kullanıcısıyla okunur. Analiz bu yüzden bir saldırganın ilk erişimden sonra göreceği haritayı gösterir. Yine de çalıştırma yazılı onayla ve kontrollü bir iş istasyonundan yapılmalıdır.
Toplama işlemi üretim ortamını etkiler mi?
DCOnly yöntemi yalnız DC’lere LDAP sorguları gönderir ve genellikle belirgin bir yük oluşturmaz. Oturum ve yerel grup toplama tüm uç noktalara bağlandığı için daha gürültülüdür; EDR ve SOC ekibine önceden haber verin.
Saldırı yolu analizi sızma testinin yerine geçer mi?
Hayır. Grafik analizi potansiyel yolları yapılandırma verisinden çıkarır. Yolların gerçekten istismar edilebilir olup olmadığını ve tespit kontrollerinin çalışıp çalışmadığını sızma testi doğrular. İkisi birbirini tamamlar.
Analiz çıktıları nasıl saklanmalı?
Çıktı ortamın ayrıntılı bir saldırı haritasıdır. Şifreli bir alanda, erişimi yalnız analiz ekibine açık şekilde saklayın; karşılaştırma için gereken süre dolunca güvenli biçimde silin.
- Teknoloji
- Active Directory, BloodHound CE, SharpHound, Cypher, Kerberos delegasyonu, PowerShell
- Konu
- AD ayrıcalık yollarının savunma amaçlı grafik analizi
- Seviye
- İleri
- Ön koşullar
- Analiz için yazılı onay ve tanımlı kapsam
- AD PowerShell modülü ve okuma yetkisi
- Tier 0 varlık listesi
Kimlik ve Microsoft 365