Ana Sayfa Çözümler Neden Netsmart? Kariyer Keşif Kurumsal Materyal İletişim

Netsmart Bilişim Sistemleri A.Ş.

Esentepe Mh. Ecza Sk. No: 6 K: 1, 34394,
Şişli-İstanbul, Türkiye

+90212-274-31-61

info@netsmart.com.tr

Simülasyon

Splunk ile Active Directory saldırılarının simülasyonu

Günümüzde olası tehditleri öngörmek ya da herhangi bir anomali gerçekleştiğinde durumların nasıl loglandığını “know how” olarak cepte tutmak ne yazık ki uygulamada çok mümkün değil.

Splunk ile Active Directory Saldırılarının Simülasyonu

Bu nedenle farklı araçlardan faydalanarak, olası durumları simüle etme ve akabinde doğru reaksiyon gösterecek sistemler oluşturma konusunda bazı ekstra araçlara ihtiyaç duyuyor olmak normal kabul ediliyor. Güvenlik kapsamında baktığımızda örnek olarak  Active Directory saldırılarının SIEM ile tespit edilmesi konusunu ele alabiliriz. Her saldırının halihazırda toplanmakta olan log kümeleri arasında nasıl tespit edilebileceğini ilk etapta bilemiyor olabiliriz. Çünkü log formatı değişebilir, logu toplayan ürün değişebilir. Özetle karşılaşılan logun diziliminden, kapsamına birçok değişiklik olabilir.

Bu kapsamda, nasıl bir yol izleyebileceğimize dair yol göstermesi amacıyla Active Directory’e hangi durumlarda saldırı yapıldığını, bu saldırıların nasıl tespit edilip önüne geçileceğini anlatmaya çalışıyor olacağız. Detection Lab ile kurmuş olduğumuz ortam sayesinde AD’ye saldırıları simüle edip, Splunk ile tespit ve monitör edeceğiz. Saldırı ve güvenlikten bahsetmeden önce Active Directory hakkında ön bilgi edinmemiz gerektiğini düşünüyorum. Active Directory nedir?

Active Directory (AD), Microsoft Windows Server üzerinde çalışan bir dizin hizmetidir. Ana işlevi, yöneticilerin izinleri yönetmesini ve ağ kaynaklarına erişimi kontrol etmesini sağlamaktır. Kullanıcı yönetiminin en önemli bileşenlerinin başında Active Directory yapısı gelmektedir. Kısaca Active Directory; ağ nesnelerini ve kullanıcı bilgilerini depolayan, bu bilgilere ulaşımı ve yönetilmesini kolaylaştıran bir servistir.

Microsoft Active Directory, bir kuruluştaki kullanıcılara, erişime ve uygulamalara yetki vermek için merkezi olduğundan, saldırganlar için doğrudan hedeftir. Bir siber saldırgan Active Directory sistemine erişebiliyorsa, potansiyel olarak bağlı tüm kullanıcı hesaplarına, veri tabanlarına, uygulamalara ve her türlü bilgiye erişebilir. Bu nedenle, özellikle erkenden farkına varılamayan saldırılar, kurtarmanın zor olabileceği durumlara yol açabilmektedir.

Saldırganların verileri ve kullanıcıları hedef aldığı bir dünyada ağ güvenliği üzerine kurulu bir savunma modelinin ötesine geçmemiz gerekmektedir. Bunun için Active Directory güvenliği önemlidir ve kuruluşlar bu noktada SIEM çözümlerinden destek almaktadır. SIEM çözümleri, tüm AD eylemlerinin yanı sıra, standartları karşılamaya yönelik raporların oluşturulmasını kolaylaştırır. SIEM ile güvenlik ihlallerini analiz edebilir, potansiyel saldırıları belirleyebilir ve önleyebiliriz.

Detectıon Lab Nedir, Nasıl Kurulur?

Active Directory yönetim isteminin güvenliği ve sıkılaştırma işlemleri bilindiği gibi oldukça önemli ve kritiktir. Sistemin merkezine oturtulan bir yönetim sisteminde oluşacak bir zafiyetin veya yanlış yapılan bir konfigürasyonun istenmeyen sonuçlara neden olabilmesi oldukça mümkündür. Bu noktada 4 ana bileşenden oluşan (Client, DC, Forwarder ve Splunk) Detection Lab bizim için biçilmez bir kaftan durumundadır. Detection Lab, Windows Active Directory’yi hızlı bir şekilde çevrimiçi hale getirmenize olanak tanıyan, endpoint güvenlik araçları ve logger uygulamaları içeren bir Packer ve Vagrant komut dosyaları topluluğudur.

Detection Lab’ın Windows ortamına kurulumu için https://www.detectionlab.network/deployment/windowsvm/ linkinden yararlanabilirsiniz. Yine kurulumda karşılaşacağınız tüm sorunlar içinde “Troubleshooting” bölümü de bulunmaktadır.

Detection Lab ortamında atakların simüle edilmesinin ardından Splunk’ta kuracağımız App ve Add-onlar ile logları daha iyi monitör edip atakları Mitre ID lere göre kategorize edebileceğiz. Peki nedir bu App ve Add-on?

Splunk, big data ile ilgilenen ve çok sayıda makine loglarını analiz etmek için kullanılan harika bir log management ve SIEM ürünüdür. Her SIEM ürününün logları normalize ve kategorize etme işlemleri farklılık göstermektedir. Splunk’ta bu işlemi add-onlar gerçekleştirmektedir. Gelen raw datayı anlamlandırabilmek ve normalizasyonunu sağlamak için add-onlar kullanılmaktadır. Appler ise; anlamlandırılan datanın görselleştirilmesi, zenginleştirilmesi için kullanılır. Splunk üzerinde birçok ücretsiz App ve Add-on bulunmaktadır. AD saldırılarını da tespit edebilmek için ücretsiz olarak Splunkbase sitesinde yayınlanan “ThreatHunting” ve “Sysmon App for Splunk” uygulamalarından yararlanabiliriz. Yapacağımız demoda da bu 2 App’ten faydalanacağız.

Detection Lab ve Splunk App özelliklerinden bahsettikten sonra demoya başlayabiliriz. Demoda Atomic Red Team, Mimikatz, PurpleSharp gibi atak vektörlerini kullanacağız.

Demo

Detection Lab kurulumunun ardından ihtiyacımız olan DC, Client ve Splunk makinelerini ayağa kaldırabiliriz. Yukarıdaki linkte de görebileceğiniz gibi Detection Lab’daki makinelerin servisini çalıştırabilmek için “vagrant up logger”, “vagrant up dc” komutlarını kullanabilirsiniz. Herhangi bir makineyi kaldırmak ya da yeniden konfigüre etmek isterseniz de “vagrant destroy <makineismi>” komutundan yararlanabilirsiniz.

Saldırı simülasyonuna başlamadan önce DC üzerindeki Sysmon, PowerShell ve Windows loglarını Splunk’a aktarmamız için ajanı yani Universal Forwarder’ı sunucuya kuralım.

Setup’ı Admin olarak çalıştırıp “Customize Options” seçeneğiyle ilerlememiz gerekmektedir.
Logları event viewer’dan toplayacağımız için yetkisi olan domain account ya da yine yetkili olduğu düşünülen “local system” kullanıcısı ile logları event viewer üzerinden toplayabiliriz.

Windows loglarını toplarken önemli noktalardan birisi de tam olarak burası. Herhangi bir kategoriyi seçmezsek bir problem yaratmayacaktır. Yukarıdaki alanlardan loglarını toplayacağımız örneğin Security checkbox ı işaretlediğimiz zaman “etc > apps > Splunk Universal Forwarder” dosyası içerisinde “local” klasörü içerisine inputs.conf oluşur ve içerisine konfigürasyon bilgileri yazılır. Splunk ajanı servisi çalıştığında ilk olarak “local” klasörünü kontrol eder. Bu nedenle local altındaki inputs.conf ayarları önemlidir. Yukarıda logların toplanacağı kategoriler seçildikten sonra kurulum tamamlanır. Konfigüre edebilmek için “$SPLUNKHOME > etc > apps > SplunkUniversalForwarder > local > inputs.conf” dosyası açılır.

Hali hazırda kurulumda “Security, Application, System ve ForwardedEvents” seçtiğimiz için inputs.conf bu şekilde oluşur. Splunk index mantığı ile logları search ve store ettiği için yalnızca inputs.conf içerisine “index” tanımı yapılmalıdır. Splunk’ta windows loglarını “wineventlog” indexi ile aratmak istediğimiz için tüm kategoriler altına “index=wineventlog” yazılmalıdır. Aksi takdirde loglar Splunk default indexi olan “main” indexine gidecektir.

Kurulum esnasında yalnızca belirli kategoriler bulunmaktadır. Fakat event viewer üzerinde okunabilecek bir sürü log dosyası bulunur. Event Viewar’daki logların okunacağı örneğin Sysmon için dosya yolu “Microsoft > Windows > Sysmon” dur. Bu dosyadaki logların okunması için “WinEventLog” etiketi içerisine o dosya yolu verilmelidir.

Inputs.conf taki konfigürasyonların tamamlanmasının ardından verilen index Splunk GUI’de oluşturulur. Universal Forwarder restart edilir.

Forwarder restart işleminin ardından “index=wineventlog” search ü ile windows loglarını görüntüleyebilirsiniz. Tabi bu işlemlerin hemen öncesinde logların normalizasyon ve kategorizasyonu için Windows Add-On indirilmelidir.

Hedef sunucudaki PowerShell, Sysmon ve Windows loglarını bu şekilde Splunk’a aktardıktan sonra AD ataklarını hızlıca görüntüleyip müdahale edebileceğimiz app’leri indirebiliriz.

ThreatHunting ve Sysmon applerini indirebilmek için “Apps > Find More Apps >” yolu izlenir.
Arama yerine ilgili app’in adı girilir ve Splunk üzerine indirilir. Sysmon içinde aynı işlemler gerçekleştirilir.

Tüm bu adımları gerçekleştirdikten sonra artık AD saldırılarını simüle etmeye başlayabiliriz. Splunk real-time olarak Active Directory ve kullanıcıları izlemektedir.

Atomic Red Team Saldırıları ve Tespit Edilmesi

Atomic Red Team, Mitre ATT&CK Framework’e uygun olarak geliştirilmiş saldırı testleri yapmanıza olanak sağlayan, açık kaynak geliştirilen bir yazılımdır. Her bir test belirli bir tekniği uygulamak için tasarlanmıştır. Atomic Red Team bu sayede mavi takım üyelerinin savunmalarını, geniş bir yelpazeye yayılan saldırılara karşı derhal test etmeye başlaması için oldukça uygun bir ortam sağlamaktadır.

Atomic Red Team içerisinde yüzlerce teknik bulunmaktadır. Bu tekniklerden T1033(System Owner/User Discovery), T1136(Create Account), T1074(Data Staged), T1086(PowerShell) taktiklerini kullanacağız.

Detection Lab içerisinde gelen “Tools” klasörü içerisinde Atomic Red Team teknikleri yer almaktadır. Bu dosya pathi üzerinde powershell uygulamasını çalıştırıp powershell modülü ve atomic pathi import etmemiz gerekmektedir.

“Import-Module “C:\Tools\AtomicRedTeam\invoke-atomicredteam\Invoke-AtomicRedTeam.psd1” -Force

$PSDefaultParameterValues = @{“Invoke-AtomicTest:PathToAtomicsFolder”=”C:\Tools\AtomicRedTeam\atomics”}”

Modülü bir kez import etmemiz yeterlidir. Import işleminin ardından tüm taktikleri aynı anda çalıştırabileceğimiz gibi taktik id si vererek de çalıştırabiliriz.

“Invoke-AtomicTest T1033 –TestNumbers 1,2(1,2 burada imzalı ikili proxy yürütme anlamına gelmektedir)” komutunu kullanarak T1033 taktik simülasyonunu gerçekleştirebiliriz. Komutun başarılı bir şekilde çalıştığını çıktılar üzerinden anlayabiliriz. Bu taktik ID Mitre Framework içerisinde “Discovery” kategorisiyle eşleşmektedir. Active Directory’deki kullanıcılar için aslında bir keşif gerçekleştirmiş olduk. Bu keşif çıktısında da domain üzerindeki tüm kullanıcıların ticketları dahil olmak üzere görebilmekteyiz. Bu taktiği bir de Splunk üzerinde analiz edelim.

Splunk ara yüzünde “ThreatHunting” App ini açtığımız zaman sol tarafta görüldüğü gibi taktiğini simüle ettiğimiz Mitre ID yi görebilmekteyiz. Splunk, gelen loglar içerisinde hızlıca analizini gerçekleştirip, saldırının T1033 Mitre ID si ile eşleştiğini göstermektedir. Logu detaylıca inceleyelim.

ThreatHunting’in keşfi yakalamasının ardından bu Mitre ID ile bir search gerçekleştirelim. Search sonucuna baktığımız zaman, simüle etmek için yazmış olduğumuz “Invoke-AtomicTest T1033 –TestNumbers 1,2” komutunu Splunk yakalamıştır. Bu logu da hızlıca analiz edip ThreatHunting app’i içerisinde kategorilendirip bizlere göstermektedir.

Bir başka taktik ile devam edelim.

T1074 taktiği Mitre Framework içerisinde Collection kategorisinde yer almaktadır. Data Staged olarak da bilinen taktik; toplanan verilerin exfiltrasyon işleminden önce merkezi bir konumda veya lokal sistemdeki dizinlerde hazırlanması anlamına gelmektedir. Taktiği yine aynı komutla çalıştırdıktan sonra data’ların “Discovery.bat” scripti içerisinde olduğu uyarısı ile karşılaşmaktayız. Splunk’ta bu durumu inceleyelim.

Yine ThreatHunting appine göz attığımız zaman, “T1074” Mitre tekniğini gözlemleyebilmekteyiz. Saldırı “Collection” olarak kategorilendirilmiştir. Tekniğin üzerine tıkladığımız zaman Splunk, yakaladığı logu detaylı olarak gösterebilmektedir.

ThreatHunting’in “Drilldowns” sekmesine yönlenip logu incelediğimizde komutu çalıştıran kişinin “vagrant” user’ı olduğu ve “Powershell” pathinde çalıştığı tespit edilmiştir. Bu tür saldırıları dashboard üzerinden görüntüleyebileceğimiz gibi hızlıca müdahale için alarmlarda oluşturulabilir.

PurpleSharp ile Atak Simülasyonları

PurpleSharp, Windows Active Directory ortamlarında saldırgan tekniklerini yürüten C# ile yazılmış açık kaynaklı bir saldırı aracıdır. PurpleSharp, Mitre ATT&CK framework’ünden yararlanır ve saldırı yaşam döngüsü boyunca farklı teknikler yürütür.

Atak simülasyonlarına PurpleSharp ile devam edelim.

PurpleSharp’ta saldırı simülasyonları için playbook’lar kullanılır. Playbook’lar içerisinde teknik id’ler bulunmaktadır. Bu teknikleri isteğinize göre düzenleyebilir, ekleyip, çıkarabilirsiniz. Ayrıca github üzerinden hazır playbook’lar indirebilirsiniz. Örneğin; https://github.com/mvelazc0/PurpleSharp/tree/master/PurpleSharp/Simulations

Bu link üzerinden indirdiğim “variations.pb” dosyasını purplesharp klasörüne ekledim. Bu playbook içerisinde T1136 teknik bulunmaktadır. Bu mitre id, saldırganların hedef sistemlere erişimi sürdürmek için hesap oluşturma adımlarını göstermektedir. Yeterli bir erişim düzeyiyle, bu tür hesapların oluşturulması, sistemde konuşlandırılacak kalıcı uzaktan erişim araçları gerektirmeyen ikincil kimlik bilgili erişim oluşturmak için kullanılır.

Saldırıyı PurpleSharp.exe içerisinde “/pb .\variations.pb” komutu ile başlatabiliriz. Atağın tamamlanmasının ardından Splunk’ta neler olmuş bir bakalım.

Playbook çalışmasının ardından ThreatHunting 37 Persistence logu yakalamıştır. T1136 Mitre Id’li tekniğin Persistence kategorisinde olduğunu görebilmekteyiz. Logun detayına bakacak olursak;

“process_command_line” field’ı içerisinde playbook çalıştıktan sonra kullanılan komutları görebiliriz. Burada birçok kullanıcı oluşturma işlemleri ve kullanıcıya şifre atama işlemleri tespit edilmiştir. Splunk bu noktada logu yakalamış ve doğru Mitre ID ye göre kategorilendirmiştir.

Mimikatz ile Atak Simülasyonu

Son olarak Mimikatz aracını kullanalım. Ele geçirilmiş bir windows sistem üzerinde mimikatz komutlarıyla sistem üzerindeki kullanıcı parolaları sistem hafızasından alınabilir.

Yukarıdaki komutlar kullanılarak açık bir şekilde kullanıcıların şifresi dump edilebilir. Mimikatz yalnızca ele geçirilmiş windows sistemlerde kullanılmaz. Başarılı bir şekilde şifreleri aldıktan sonra Splunk’ı inceleyebiliriz.

Bu defa Sysmon App’i içerisinde mimikatz aracını tespit edebilmek için gerçekleştirdiğimiz search sonucunda çok detaylı bir şekilde mimikatz hareketlerini görebilmekteyiz. Bu şekilde yakalanan atak sonrasında hızlı şekilde kullanıcıya müdahale edilebilir, gerekli aksiyonlar alınabilir.

Sonuç olarak elimizdeki Splunk yapısında doğru aksiyonları alabilmek ya da hangi durum için hangi kuralları set etmemiz gerektiğini belirleyebilmek için bahsettiğimiz attack similasyon araçlarından yararlanabilir ve olası bir anomali gerçekleşmesi halinde bizi nasıl log türlerinin bekleyeceğini görebiliriz. Bu sayede oluşması beklenen logun röntgenini önden elde edebildiğimiz için nasıl tespit edeceğimiz ya da farklı event’lerle ilişkilendirip nasıl korelasyonlar konfigüre edebileceğimiz konusunda bir yol haritası oluşturmamız kolaylaşacaktır.

Tüm ürünlerde olduğu gibi her birinin kendine özgü kabiliyetleri ve işlevsellik düzeyleri olduğundan söz edebiliriz evet ama burada önemli olan ürünü daha işlevsel hale getirebilmek için başka araçlar kullanabiliyor muyuz? Ürün buna izin veriyor mu? Gibi bazı durumları sorgulamak. Splunk bu bağlamda kullanıcının yanında. Kendi kabiliyetlerini beyan edip, hangi konularda geliştirilebilir aksiyonlara paydaş olacağını da bu tarz app’ler eşliğinde bizlere sunuyor.

Bu blog boyunca bazı atakları simüle ederek, faydayı görünür hale getirmeye çalıştık. Çeşitlendirilebilir, geliştirilebilir ve özelleştirilebilir birçok özellik barındıran Threat Hunting ve Sysmon’ App’ini tecrübe etmenizi öneririz.

Sergen Yanmış
Türkiye'nin En Mutlu İş Yeri ve Mükemmel Çalışan Deneyimi

“Türkiye’nin En Mutlu İş Yeri” ve 3 yıldız ile “Mükemmel Çalışan Deneyimi” ödüllerini büyük bir gurur ve heyecan ile aldık

Ofis

Happy Place to Work tarafından gerçekleştirilen uluslararası standartlara uygun değerlendirme sonrası sektöründe “En Mutlu İşyeri” seçilmiş olmamız başarımızı taçlandıran bir ödül oldu. Ofisimizde düzenlediğimiz bir etkinlik ile ödülümüzü alırken, değerlendirmeye katılan ve bizi bu ödüle layık gören ekip arkadaşlarımızla kutlama yaptık.

Daha fazla
9 Adımda Veri Keşfi Neden Önemli

9 Adımda Veri Keşfi neden önemli ve Veri Keşfi ürünlerinde nelere dikkat edilmeli

Analiz

Veri keşfi konusu 7 Nisan 2016 tarihinde yürürlüğe giren 6698 sayılı Kişisel Verilerin Korunması Kanunu (KVKK) ile hayatımıza girdi. Bu kanunla beraber bu zamana kadar dağınık olan verilerimizin nerede tutulduğunun ve ne derece kritik olduğunun önemi giderek artmaktadır.

Daha fazla
ReFS ve NFTS Hakkında Karşılaştırma

ReFS vs. NTFS

Versus

Full Stabil yapılardan söz etmek mümkün mü? Dosya içeriği değişmiyor belki ama dosya sistemi, formatı ihtiyaçlarla paralel olarak değişebiliyor. Neden bu konuya girdim peki? Çünkü alışkın olduğumuz FAT32 ya da NTFS dosya sistemlerinin yanında artık sıklıkla duyulmaya başlanan ReFS dosya sistemi de yerini almaya başladı.

Daha fazla
ArcSight ESM MISP entegrasyonu nasıl yapılır?

ArcSight ESM MISP entegrasyonu nasıl yapılır?

Entegrasyon

SIEM ürünlerinin en önemli özelliği korelasyon yapabilmesidir. ESM de correlation engine sayesinde verileri işler ve korelasyon yapabilme yeteneği kazanır.

Daha fazla