zBang

zBang

1 zBang Nedir?

zBang aracı Cyber Ark tarafından geliştirilmiş, MIT lisansı ile lisanslanmış, açık kaynak kodlu bir araçtır. Araç güvenlik araştırmacılarına yardımcı olmak ve ağlarındaki ayrıcalıklı hesapların tespitini sağlamak adına geliştirilmiştir. Buradaki amaç potansiyel ayrıcalıklı hesapların oluşturduğu tehditleri tespit edip kontrolünü sağlamaktır. Aracımız bize grafiksel analizler ile kolaylıklarda sunmaktadır.

2 Aracın Bağımlılıkları & Kurulumu

Aracımızı sıkıntısız bir şekilde çalıştırabilmek için iki farklı gereksinimimiz var. Bunlar;

  • Bir Windows makine.
  • PowerShell 3 ve .NET 4.5 veya üzeri.

Ayrıca aracımız herhangi bir domain user ile çalışacaktır.

Aracı resmi GitHub hesaplarından indirip doğrudan çalıştırabilirsiniz. Elbette doğrudan .exe dosyasını indirmek yerine Repo’yu indirip derleyerekte çalıştırabiliriz.

https://github.com/cyberark/zBang/releases

Aracımız bizler için içerisinde bir demoda bulundurmakta. Öncelikle aracımızda bulunan tarama türlerini tek tek inceleyelim. Bu doküman boyunca araç içerisindeki demodan alınan görseller kullanılmıştır. Demoyu yüklemek için aracı yükledikten sonra çalıştırmak istediğimiz tarama türlerini seçip ardından “Reload” dememiz yeterli olacaktır.

3 Arama Türleri

3.1 ACLight Scan

ACLigh Scan esasında adından da anlaşılabileceği üzere Access Control List’in analizini yaparak Shadow Admin’leri tespit eden tarama türüdür.

Bu noktada kısaca Shadow Admin’in ne olduğundan bahsetmek gerekmekte. Tarama gerçekleştirdiğimiz ağdaki en yetkili kullanıcı hesaplarının neler olduğunu bilmek risk analizi yapmamızda bizlere önemli bulgular verecektir. Bu noktada yetkili 5 adet FSMO rollerine bağlı kullanıcı bulunmakta. Fakat yetkili kullanıcılar bu 5 adet ile sınırlı olmayabilir. Manuel olarak verilen yetkilendirme işlemleri yapılmış ve başka kullanıcılara da belirli yetkiler verilmiş olabilir. İşte biz bu tarz kullanıcı hesaplarına Shadow Admin diyoruz.

Bu noktada tespit edilen Shadow Admin hesapları için aracın üretici firması olan Cyber Ark üç adet soru sorularak güvenliğin sağlanmasını öneriyor.

  1. Bu ayrıcalıklı hesapların farkında mıyız? Eski ve unutulmuş bir hesap olabilir veya bir saldırgan tarafından oluşturulmuş olabilir.
  2. Bu hesaplardaki ayrıcalıkları azaltmak mümkün mü?
  3. Bu hesaplar tamamen güvende mi? Güçlü ve kendini yenileyen parolalar ile korunuyorlar mı?
3.2 Skeleton Key Scan

Bu tarama türü Domain Controller’ları hedef alan Skeleton Malware’ını tespit etmemizi sağlamakta.

Skeleton Malware’dan bahsetmek gerekirse kabaca kimlik doğrulamayı atlayan ve istenen kullanıcı ile sisteme giriş yapılmasını sağlayan kötü amaçlı bir yazılımdır. Skeleton Key zararlı yazılımlı sistem üzerinde ole64.dll ve msuta64.dll dosyalarını oluşturur. Domain Controller’a erişim sağlanamadığı takdirde Skeleton Key zararlısından bahsetmemiz mümkün olmayacaktır. Tabiri caizse Skeleton Key zararlısını Golden Ticket atak vektörünün alternatifi olarak görebiliriz.

Skeleton Malware lsass.exe’ye giriş bilgilerini yazarak kimlik doğrulama aşamasını atlatır.

3.3 SID History Scan

SID (Security Identifier) ve SID History arasında karşılaştırmalar yaparak anormal bir yetki değişikliği olup olmadığının kontrolünü yapan tarama türüdür. Anormal bir değişiklik olup olmadığının kontrolünün yanı sıra SID değeri ve SID History değerleri aynı olan hesapları da listeler.

Bu noktada SID ve SID History kavramlarından biraz bahsetmekte fayda var. SID yani Security Identifier bilgisayarlara, kullanıcılara ve security gruplarına verilen benzersiz bir kimlik numarasıdır. SID sayesinde objeler eşsiz birer öğeler haline gelirler. Bu sayede bir objeye bir yetki atandığı zaman artık obje ismiyle değil SID’si ile tanınacaktır.

SID History kavramını tanımlamak için şöyle bir örnek düşünelim; bir Active Directory kullanıcısını A Domain’inden B Domain’ine taşımak istediğimizi düşünelim. Bu noktada SID History devreye giriyor. SID bilgisinin yeni domainde (örneğimiz için B Domain’i) açılacak kullanıcı hesabına bağlanması işlemidir. Bu sayede eski domain kaynaklarına (örneğimiz için A Domain’i) da erişmesini sağlayan eski SID bilgiside kullanıcıya tanımlı olarak gelir.

3.4 RiskySPNs Scan

Bu tarama türünde aracımız yetkilendirilmiş kullanıcı hesaplarına kayıt olmuş tüm SPN (Service Principal Names)’leri tarar ve listeler.

Bu noktada ise kısaca SPN yani Service Principal Names’ten bahsetmekte fayda var. SPN; Kerberos kimlik doğrulamasında kullanılan, objelerde bulunan bir özniteliktir. SPN’in yetkilendirilmiş kullanıcılar altında olması oldukça riskli bir durumdur. SPN’e bağlı hesap tehlikeye girdiği takdirde kayıtlı hizmeti de tehlikeye girecektir. Aracımızı geliştiren firma SPN’yi bir kullanıcı hesabı yerine bir makine hesabı altında kayıt altına almanızı önermekte.

3.5 Mystique Scan

Son tarama türümüzü olan Mystique Scan’de ise ağdaki riskli Kerberos delegation konfigürsayonlarını tarar ve bizlere listeler. Bu noktada da her zaman olduğu gibi yine “bu delegasyon izinleri gerçekten gerekli mi?” sorusu ile güvenliği sağlamak hedeflenmektedir.

Bu noktada kısaca Kerberos delegasyonlarından bahsetmek Mystique Scan’in anlaşılması açısından faydalı olacaktır. Delegasyon bir sunucunun veya servisin bir kullanıcıyı taklit etmesi gerektiği durumlarda kullanılırlar. Örneğin front-end sunucular back-end veritabanlarına erişim sağlarken kullanıcıları taklit eder. Bu noktada verilere erişimin kontrol edilmesi ve bu işlemin titizlikle yapılması gerekmektedir çünkü farklı kullanıcılar farklı yetkilere sahiptirler.

2 Aracın Kullanımı

Açılış ekranında bizleri aşağıdaki görüntü karşılıyor olacak.

zBang

Burada bahsettiğimiz tüm tarama türlerini görebilirsiniz. Burada ağımızda hangi tarama türlerini yapmak istiyorsak üstüne tıklayarak seçmeliyiz. Birden fazla seçimi aynı anda yapabiliyoruz. Tarama türlerini seçtikten sonra Launch diyerek taramamızı başlatabiliriz. Ben bu dokümantasyonda Reload diyerek hali hazırda var olan örnek demomuzu yükledim. Daha önceden gerçekleştirdiğimiz bir tarama var ise Import diyerek bunu yükleyebiliriz.

Bu noktada şunu da belirtmek isterim. zBang aracı hangi dizinde çalıştırılmaya başlandıysa o dizinde sonuç çıktıları oluşturur. Dokümantasyonun devamında bundan detaylı bir şekilde bahsedeceğim.

Yeni bir tarama başlattığımız takdirde bize olup biten ile ilgili son durumu gösteren aşağıdaki gibi bir pencere açılacak.

zBang

Tarama tamamlandıktan sonra sonuçların harici bir zip dosyasına kaydedildiğinin bilgi mesajı gelecek karşımıza. Zip dosyamız çalıştığımız dizinde. Zip dosyası taramaların tarih ve saatlerine göre kaydediliyor. Sonuç sayfalarına da göz atalım. Taramamız bittikten sonra karşımıza aşağıdakine benzer bir ekran gelecektir.

zBang

Her sonuç ekranın sabit kalacak olan tarama türlerimiz, Relaunch, Export ve Soru İşareti imlecimiz, sağ alt köşedeki ölçeklendirme yardımcımız ve sol alt köşedeki versiyon bilgisi olacaktır.

CTRL + Scroll ile tarama sonuçlarını küçültüp büyültmemiz mümkün. Bu kapsamlı sonuç sayfalarında işimize yarayacak.

Relaunch diyerek taramayı tekrar başlatabilir, Export diyerek taramanın sonradan tekrar Import edilerek kullanılması adına bir çıktı alabiliriz.

Sağ alttaki ölçeklendirme yardımcısı ile Fill diyerek sonuç sayfasının ekrana tam sığacak şekilde ölçeklendirebilir, 1:1 diyerek 1.00x Zoom halini görebiliriz.

Labs.com domain’ine çift tıklayarak biraz daha detaylara inelim. Karşımıza aşağıdaki gibi bir ekran gelmeli.

zBang

Sol tarafda standart yetkili kullanıcılar görüntülenmekte. Sağ tarafta ise Shadow Admin’ler görüntülenmekte. Buradaki amacımız güvenliğinden emin olduğumuz tüm kullanıcıları tik ile işaretleyerek yeşil renkte görünmesini sağlamak. Güvenliğinden emin olduğumuz kullanıcıları Is secured ? ibaresinin yanındaki kutucuğu işaretleyerek güvenli olarak seçebiliriz.

Bir kullanıcının üzerine çift tıkladığınız takdirde o kullanıcının yetki ağacını görebilirsiniz. George kullanıcısının üzerine çift tıklayalım. Karşımıza aşağıdaki gibi bir ekran gelecek.

zBang

Sağ üst köşedeki geri okuna tıklayarak bir önceki sayfaya dönebiliriz. Bu noktada ACL izinleri ile ilgili küçük bir yardımcı sayfa da mevcut. Bunu görüntülemek için sağ üst köşedeki Soru İşareti (?) ikonuna tıklamamız yeterli olacaktır. Karşımıza aşağıdaki gibi bir ekran gelecek.

zBang

Hemen Skeleton Key Scan sekmesine geçelim. Bu sekmede karşımıza aşağıdakine benzer bir sayfa gelecek.

zBang

Taranan tüm Domain Controller’lar bu ekranda listelenecek. Virüs bulaşmış ve bulaşmamış olan Domain Controller’lar çok net bir şekilde ayırt edilebilmekte. Virüs bulaşmış olan DC kırmızı renkte gösterilmiş iken secure DC’ler yeşil renkte ifade edilmiş. Bu noktada eğer virüs bulaşmış bir DC var ise (yukarıda olduğu gibi) hemen müdahalede bulunulmalı.

SID History Scan sekmesinde ise SID History attribute’ü var olan hesapların bir listesini görüyor olacağız. Karşımıza aşağıdakine benzer bir ekran gelmeli.

zBang

Eğer tarama sonuçlarında yetkisi olan bir SID değerine rastlandıysa bu kırmızı renkte görünecektir. (Örneğimiz için [email protected]) Eğer yetkilendirilmiş bir SID History tespit edilmiş ise bu kırmızı maske ile gösterilecektir. (Örneğimiz için HK\[email protected]) Hemen üstünde ise hangi kullanıcıya ait olduğunu görebilmekteyiz.

Eğer 10 adetten fazla ayrıcalıklı SID veya SID History’e rastlanırsa ekrandan filtrelenecektir.

Risky SPNs Scan sekmesine geçelim. Bu sekmede karşımıza kullanıcı hesaplarına kayıtlı olan tüm SPN’lerin bir listesi çıkacak. Karşımıza aşağıdaki gibi bir ekran gelmeli.

zBang

İncelemek istediğimiz Domain’in üzerine çift tıklamamız sonuçları görüntülememiz için yeterli olacaktır. Ben bu dokümasyonda il.research.com Domain’ini inceledim. Il.research.com Domain’ine çift tıkladığımız takdirde karşımıza aşağıdaki gibi bir ekran gelmeli.

zBang

Kullanıcı hesabı ayrıcalıklı (yetkilendirilmiş) bir hesap ise kırmızı renkte gözükecektir. Gereksiz SPN kullanıcılarını en aza indirgemek oldukça önemlidir. Ayrıca bu örneğimizde riskli hesabımızın bir Shadow Admin olduğunu görmekteyiz. (Yanındaki Admin via ACLight ibaresinden bunu anlayabiliriz.)

Son arama türümüz olan Mystique Scan’in sonuç sayfasına geçelim. Bu sayfada delegasyon izinleri ile güvenilen tüm kullanıcılar listelenecektir. Bu noktada sonuç sayfamızı anlamlandırabilmek adına Kerberos Delegation’dan çok kısa bir şekilde biraz daha bahsetmekte fayda var.

Üç tip Kerberos Delegation mevcut. Bunlar;

  • Unconstrained
  • Constrained
  • Constrained with Protocol Transition

Güvenlik noktasında genelde Delegation’ın Unconstrained olması tavsiye edilmektedir. Mystique Scan sonuç sayfasını açtığımızda karşımıza aşağıdaki gibi bir sayfa gelmeli.

zBang

Bu ekranda gri renkli alanlar Constrained, turuncu renkli alanlar Protocol Transition. Eğer olsaydı kırmızı renkli alanlar ise Unconstrained olacaktı. Aşağıda Unconstrained alanın da bulunduğu bir örnek görebilirsiniz;

zBang

Yetkilendirme haklarına sahip olan eski ve kullanılmayan hesapları devre dışı bırakmak mantıklı olacaktır. Protocol Transition ve Unconstrained hesapları da gözden geçirmekte fayda var. Mümkünse Unconstrained hesaplar Constrained yapılmalı.

5 Sonuçları Manuel İncelemek

Tarama sonuçlarını manuel olarak incelemekte mümkün. Bunun için aracı çalıştırdığımız dizinde bir klasör oluşacak. Klasör içeriği aşağıdaki gibi olacaktır.

zBang

Hangi tarama sonucunu incelemek istiyorsak o klasöre gitmeliyiz. Örneğin; ACLight-master klasörünün altındaki Results klasöründe Privileged Accounts – Final Report.csv isminde bir dosya göreceksiniz. Bu dosyayı açıp incelemeniz yeterli olacaktır.

Son olarak zBang aracının geliştirici firması tarafından hazırlanan Özetlenmiş Veri Sayfasına buradan ulaşmak mümkün.

https://github.com/cyberark/zBang/blob/master/zBang Summarized Data Sheet.pdf

Blog postu ile ilgili bir sorunuz varsa bizimle iletişime geçebilirsiniz.

Mehmet Ayberk ANNADINÇ

Size nasıl yardımcı olalım?

İhtiyacınız olan her an Prisma danışmanları yanı başınızda. Bizimle 7/24 iletişime geçebilirsiniz.


Sızma testi hizmetlerimizi incelediniz mi?