CyberFlow Logo CyberFlow BLOG
Soc L2 Infra Ad Cloud

Active Directory Keşif Teknikleri: BloodHound ve SharpHound İncelemesi

✍️ Ahmet BİRKAN 📂 Soc L2 Infra Ad Cloud

BloodHound ve SharpHound kullanarak Active Directory ortamındaki güvenlik açıklarını keşfedin ve saldırı yollarını analiz edin.

Active Directory Keşif Teknikleri: BloodHound ve SharpHound İncelemesi

Bu yazımızda, BloodHound ve SharpHound araçlarıyla Active Directory ortamındaki karmaşık ilişkileri ve saldırı yollarını nasıl analiz edeceğinizi öğreneceksiniz.

Giriş ve Konumlandırma

Active Directory (AD) ortamları, günümüzde birçok organizasyonun kritik bilgi sistemlerini yönetmek için kullandığı temel bileşenlerden biridir. Ancak, bu yapıların karmaşık doğası, potansiyel zafiyetleri ve saldırı yollarını anlamak için belirli teknik bilgi ve araçların kullanılmasını gerektirir. İşte bu noktada BloodHound ve SharpHound gibi araçlar devreye girmektedir. Bu yazıda, bu araçların işleyişine ve siber güvenlikteki önemine odaklanacağız.

Active Directory'nin Önemi

Active Directory, bir organizasyonun kullanıcılarını, bilgisayarlarını, gruplarını ve diğer kaynaklarını merkezi bir noktada yönetmesine olanak tanır. Ancak, bu merkezi yapı, potansiyel kötü niyetli saldırganlar için hedef haline gelebilir. Kullanıcı ve kaynak yönetiminde esneklik sağlarken, aynı zamanda karmaşık bir yetki yapısı oluşturur. Bu noktada, güvenlik açıklarını tespit etmek ve bu açıkları değerlendirmek, siber güvenlik profesyonellerinin önceliklerinden biridir.

Geleneksel sızma testi ve tehdit avlama yöntemleri, genellikle daha yüzeysel bir değerlendirme yapar. Ancak BloodHound, AD ortamının derinliklerine inerek, karmaşık ilişki ve izin yapılarını grafik teorisi kullanarak görselleştirir. Bu tür bir detay analizi, saldırganların sistem içindeki en kısa saldırı yollarını tespit etmelerini kolaylaştırır. Yani BloodHound, yalnızca saldırganları değil, aynı zamanda mavi takım (savunma ekipleri) için de son derece faydalı bir araçtır.

BloodHound ve SharpHound'un Rolü

BloodHound, AD ortamındaki karmaşık ilişki ve yetki yapılarını analiz eden bir araçtır. Kullanıcılara, Domain Admin yetkisine ulaşabilmek için potansiyel en kısa saldırı yollarını otomatik olarak hesaplama imkanı sunar. Bununla birlikte, SharpHound, BloodHound'un veri toplama bileşenidir ve AD ortamından kullanıcı, grup, oturum bilgisi gibi verileri toplar. Bu bilgiler, ilişkili yetki yapılarını ve olası zafiyetleri keşfetmek için kullanılır.

Görselleştirmenin yanı sıra, BloodHound kullanıcıların hangi güvenlik gruplarına dahil olduğunu, oturum bilgilerini ve izin yapılarını analiz etme imkanı sunar. Bu detaylar, saldırganların hangi yollarla sistemlere erişebileceği konusunda önemli ipuçları sağlar. Özellikle "Path Auditing" yöntemi ile kritik sunuculara giden tehlikeli yolların önceden belirlenmesi, sistem güvenliğini artırabilir.

Siber Güvenlikteki Uygulamaları

Siber güvenlik uzmanları, BloodHound ve SharpHound'u kullanarak organizasyonların AD yapılarını daha iyi anlayabilir, zafiyetleri tespit edebilir ve bu zafiyetleri raporlayabilir. Bunun yanı sıra, mavi takım üyeleri bu araçlarla önleyici önlemler alarak şüpheli etkinlikleri erken tespit etme fırsatına sahip olurlar. Örneğin, AD ortamında aşırı yük bindiren LDAP sorguları veya yoğun oturum listeleme trafiği gibi davranışlar şüpheli keşif belirtileri arasında yer alır.

# BloodHound ile kullanıcı bilgilerini toplamak için kullanılan basit bir komut
SharpHound.exe -c All

Sonuç olarak, BloodHound ve SharpHound, siber güvenlik profesyonellerinin AD ortamlarında etkili bir keşif yapmalarına olanak tanır. AD sistemlerinin karmaşık yapısı, kullanıcı ve yetki ilişkilerinin dikkatlice analiz edilmesini gerektirir. Bu araçlar sayesinde, sadece saldırı yolları değil, aynı zamanda bu yolların kapatılması için gerekli adımların atılması sağlanır.

Siber güvenlik alanında, sürekli değişen tehdit ortamı ve artan saldırı zekası nedeniyle, etkin sızma testi ve savunma stratejileri geliştirmek zorunludur. BloodHound ve SharpHound, bu bağlamda güçlü birer kaynak olarak öne çıkmaktadır. Sonraki bölümlerde, bu araçların detaylarına inmeye ve nasıl kullanılacağını anlamaya çalışacağız.

Teknik Analiz ve Uygulama

BloodHound Nedir?

BloodHound, Active Directory ortamındaki karmaşık ilişki ve yetki yapılarını grafik teorisi kullanarak görselleştiren bir araçtır. Kullanıcıların, grupların ve nesnelerin etkileşimlerini haritalandırarak, kötü niyetli kullanıcıların sisteminize nasıl saldırabileceğini anlamanızı sağlar. Bu özellikleri sayesinde, BloodHound, sistem yöneticileri ve sızma test uzmanları için oldukça değerli bir araçtır.

BloodHound Bileşenleri

BloodHound'un üç ana bileşeni bulunmaktadır:

  1. SharpHound: Veri toplayıcı (ingestor) bileşeni. Active Directory ortamındaki kullanıcılar, gruplar ve oturum bilgilerinin toplanmasında görev alır.
  2. Neo4j: Toplanan verilerin ilişkisel olarak saklandığı ve sorgulandığı grafik veritabanı motoru. Neo4j, verileri düğümlere ve kenarlara dönüştürerek, ilişkileri görsel olarak incelemeyi mümkün kılar.
  3. BloodHound GUI: Kullanıcıların topladığı verileri görsel olarak analiz etmesine olanak tanıyan arayüzdür. Bu arayüz, veri analizi ve sonuçların yorumlanmasında önemli bir rol oynar.

Saldırı Yolu Analizi

BloodHound, belirli bir kullanıcının (örneğin, bir Domain Admin) yetkilerini artırma yeteneğini anlamak için saldırı yollarını analiz eder. En kısa saldırı yollarını belirlemek, saldırganların hedefe ulaşma ihtimalini azaltmak için kritik öneme sahiptir. Aşağıdaki komut, belirli bir kullanıcı için en kısa yolun hesaplanmasını sağlar:

echo 'MATCH (n:User {name: "kullanici_adi"})-[r:MemberOf*1..]->(m) RETURN n, r, m' | neo4j-shell

Bu komut, belirli bir kullanıcı ile gruplar arasındaki tüm ilişkileri ortaya koyarak, potansiyel yetki yükseltme yollarını haritalandırır.

SharpHound Toplama Yöntemleri

SharpHound, farklı toplama yöntemleri kullanarak verileri toplar. Bu yöntemler arasında:

  1. Session Collection: Hangi kullanıcının hangi bilgisayarda aktif oturumu olduğunu tespit eder.
  2. Group Collection: Kullanıcıların hangi güvenlik gruplarına üye olduğuna dair bilgi toplar.
  3. ACL Collection: Nesnelerin üzerindeki tehlikeli izinleri (GenericAll, WriteDacl gibi) listeler.

Örneğin, bir grup toplama işlemi için SharpHound aşağıdaki gibi bir komut ile çalıştırılabilir:

sharpHound.exe -c Group -d domain.local

Bu komut, domain.local içindeki gruplara dair verileri toplar.

Grafik Veritabanı Mantığı

BloodHound'un temelinde yatan grafik veritabanı mantığı, karmaşık ilişkilerin görselleştirilmesine yardımcı olur. Neo4j veritabanı, topladığı verileri sorgulamak için kullanılan Cypher sorgu dilini destekler. Cypher, herhangi bir nesne ile ilgili verilere ulaşmak adına oldukça etkili bir dildir. Örneğin, belirli bir kullanıcının gruplarını sorgulamak için şu Cypher sorgusunu kullanabilirsiniz:

MATCH (u:User {name: "kullanici_adi"})-[:MemberOf]->(g:Group) RETURN g.name

Bu sorgu ile kullanıcının üye olduğu grupların adları elde edilebilir.

Savunmacı Gözüyle BloodHound

BloodHound'un sunduğu görselleştirme, sistem yöneticilerine savunma stratejilerini oluşturma konusunda yardımcı olur. Örneğin, kritik sunuculara giden tehlikeli yolları bulup kapatmak için Path Auditing özelliği kullanılabilir. Bu, olası saldırgan yollarını belirleyip, kapatmaya yönelik bir önlem planı oluşturulmasını sağlar.

Tespit Yöntemleri (Detection)

BloodHound toplama işlemleri, belirli davranışların nasıl tespit edileceğine dair ipuçları sunar. Ağı üzerinde çok sayıda LDAP sorgusu veya bilgisayarlara yönelik yoğun oturum listeleme trafiği, şüpheli bir keşif belirtisi olarak kabul edilir. Bu tür aktivitelerin zamanında tespit edilmesi, potansiyel zararların önlenmesine yardımcı olabilir.

BloodHound.py

BloodHound'un Python tabanlı sürümü olan BloodHound.py, Linux sistemlerinden sızma testleri için sıkça kullanılmaktadır. Özellikle çeşitli ortamlar için özelleştirilebilirlik sunması, onu tercih edilen bir seçenek haline getirir. Kullanıcılar, şunları yapabilir:

python BloodHound.py -c All -d domain.local -u kullanici_adi -p parola

Bu komut, tüm veri toplama seçeneklerini etkinleştirerek, belirtilen domain için kapsamlı bir analiz yapar.

BloodHound ve SharpHound, Active Directory ortamında siber güvenlik stratejileri oluşturma ve riskleri yönetme konusunda güçlü araçlardır. Etkin bir şekilde kullanıldığında, organizasyonların güvenliğini artırabilir ve potansiyel tehditlere karşı proaktif önlemler alınmasına yardımcı olur.

Risk, Yorumlama ve Savunma

Risk Değerlendirme ve Yorumlama

Active Directory (AD) ortamlarında kullanılan keşif araçları, özellikle BloodHound ve SharpHound, saldırganların ve güvenlik analistlerinin sistem üzerindeki potansiyel zafiyetleri, yanlış yapılandırmaları ve veri sızıntılarını tespit etmelerinde kritik rol oynamaktadır. Bu bölümde, bu araçların sağladığı bulguların güvenlik anlamı, potansiyel riskler ve önerilen savunma önlemleri ele alınacaktır.

Elde Edilen Bulguların Güvenlik Anlamı

BloodHound ve SharpHound, AD ortamındaki kullanıcılar, gruplar, izinler ve oturum bilgileri üzerinde derinlemesine analiz yaparak karmaşık ilişki yapılarını görselleştirir. Örneğin, BloodHound, kullanıcıların Domain Admin yetkisine ulaşabileceği en kısa saldırı yollarını belirlemek için grafik teorisini kullanır. Şu şekilde bir sorgu örneği ile ilgili verileri elde etmek mümkündür:

MATCH (u:User)-[:MemberOf]->(g:Group) 
WHERE g.name = 'Domain Admins' 
RETURN u.name

Bu sorgu, 'Domain Admins' grubuna üye olan tüm kullanıcıları listeleyecektir. Bu tür bulgular, AD'deki yetki yönetiminde yaşanan zafiyetleri gün yüzüne çıkararak potansiyel bir saldırı vektörünü oluşturur.

Yanlış Yapılandırma veya Zafiyetlerin Etkisi

AD ortamlarındaki yanlış yapılandırmalar, saldırganların sisteme sızmasına olanak tanır. Örneğin, iç içe geçmiş grupların olduğunu tespit etmek, zayıf bir ACL ayarının (Access Control List) sonucunda olabilir. SharpHound'un ACL Collection modülü, nesneler üzerindeki tehlikeli izinleri listeler; bu, zamanla eski veya gereksiz yetkilendirilmiş hesapların temizlenmemesinin bir sonucudur. Aşağıdaki komut ile tehlikeli izinleri belirlemek mümkündür:

MATCH (o:Object)-[r:HasPermissions]->(p:Permission) 
WHERE p.Name CONTAINS 'GenericAll' OR p.Name CONTAINS 'WriteDacl' 
RETURN o.Name, p.Name

Bu tür komutlar, zafiyetleri ortaya çıkararak potansiyel veri sızıntılarına yol açabilir. Eğer bir saldırgan, hatalı bir ACL yapılandırması sayesinde erişim elde ederse, kritik verilere ulaşma riski artar.

Sızan Veri, Topoloji ve Servis Tespiti

BloodHound, sistem üzerinde gerçekleştirilen oturumlar, kullanıcıların hangi bilgisayarlarda aktif olduğuna dair bilgileri toplar. Session Collection modülü sayesinde, hangi kullanıcıların hangi hizmetlere veya kaynaklara erişim sağladığına dair detaylı bir raporlama yapılabilir. Bu raporlar, bir güvenlik ekibinin hangi sistemlerinin potansiyel saldırılara maruz olduğunu belirlemesinde yardımcı olur. Aşağıdaki gibi bir sorgu ile aktif oturumları görüntülemek mümkündür:

MATCH (u:User)-[:LoggedOn]->(c:Computer) 
RETURN u.name, c.name

Bu sorgu, hangi kullanıcının hangi bilgisayarda aktif bir oturumu olduğunu gösterecektir. Böylece, sistemin topolojisini anlamak ve kritik servisleri belirlemek daha kolaylaşır.

Profesyonel Önlemler ve Hardening Önerileri

Saldırı yüzeyini minimize etmek ve önleyici tedbirler almak için aşağıdaki profesyonel önlemler önerilebilir:

  1. Tiered Admin Modeli: AD'deki erişim seviyelerini ayrıştırarak yönetimsel hesapların en düşük düzeyde erişime sahip olduğundan emin olun.
  2. Objeleri Temizleme: Gereksiz ve eski hesapların düzenli olarak temizlenmesi, potansiyel bir saldırı vektörünü kapatabilir.
  3. Path Auditing: Kritok sunuculara giden tehlikeli yolları belirleyip, bu yolları gereksiz yere açık bırakmamak için düzenli denetimler yapın.
  4. ACL Yönetimi: ACL'lerin sıkı bir şekilde yönetilmesi ve yalnızca gerekli izinlerin verilmesi, yetki aşımını engelleyebilir.

Sonuç

BloodHound ve SharpHound, Active Directory ortamındaki potansiyel zafiyetleri, riskleri ve yanlış yapılandırmaları tespit etme konusunda güçlü araçlardır. Elde edilen verilerin analizi, güvenlik açıklarını ortaya koyarak yetkisiz erişimlerin önlenmesine yardımcı olur. Bu nedenle, düzenli olarak bu tür araçların kullanılması ve elde edilen bulguların ciddiyetle değerlendirilmesi, etkin bir güvenlik stratejisinin parçaları arasında yer almalıdır.