Windows Sistemlere Yönelik Saldırıların Wazuh Kullanılarak Tespit Edilmesi - 1


Windows Sistemlere Yönelik Saldırıların Wazuh Kullanılarak Tespit Edilmesi - 1


Bu yazımızda Windows sistemlere yönelik bir saldırı olan Pass the Hash saldırısının ne olduğunu, nasıl yapıldığını, Atomic Red Team ile nasıl otomatize olarak başlatıldığını, host tabanlı saldırı tespit sistemi olan Wazuh kullanılarak bu saldırının nasıl tespit edileceğinden ve bu saldırıya dair hangi önlemlerin alınması gerektiğinden bahsedeceğiz.

Wazuh Nedir?: Tehdit algılama, bütünlük izleme, olay müdahale ve uyumluluk için ücretsiz, açık kaynaklı bir host tabanlı saldırı tespit sistemidir. Wazuh agent’ları ağdaki endpointlere kurulduğunda bu endpointlerde (host) neler olup bittiğine dair görünürlük elde edilmektedir. Linux, Windows ve MacOS işletim sistemlerinde çalışabilmektedir.

1- Mimikatz: Pass The Hash Nedir❓


Windows işletim sistemlerinde, oturum açma isteği sırasında kullanıcı adı ve parola kontrolünü, System32 dizininde yer alan LSASS.exe adlı program üstlenir. Temel olarak LSASS.exe (Local Security Authority Subsystem Service) Windows sistemde yer alan kullanıcı işlemlerinden ve kimlik kontrolünden sorumludur. Windows sistemde oturum kontrolü girilen verilerin SAM tablosunda yer alan veriler ile karşılaştırılmasıyla sağlanır. Eğer karşılaştırma sonucunda veriler tutuyor (True) ise, kullanıcıyı sisteme dahil ederken aynı anda kullanıcıya ait parola bilgisini (NTLM hash) memory’de saklar.

Saldırganlar, normal sistem erişim kontrollerini atlayarak bir ortamda yanal olarak hareket etmek için çalınan parola hashlerini kullanabilir. Pass the Hash (PtH), kullanıcının clear text parolasına erişmeden bir kullanıcı olarak kimlik doğrulama yöntemidir. Bu yöntem, clear text parola gerektiren standart kimlik doğrulama adımlarını atlayarak, doğrudan kimlik doğrulamanın parola hashini kullanan kısmına geçer.

PtH gerçekleştirirken, kullanılan hesap için geçerli parola hashleri, bir “Credential Access” tekniği kullanılarak yakalanır. Yakalanan hashler, o kullanıcı olarak kimlik doğrulaması yapmak için PtH ile birlikte kullanılır. Kimliği doğrulandıktan sonra, yerel veya uzak sistemlerde eylemler gerçekleştirmek için PtH kullanılabilir.

Mimikatz gibi yazılımlar çalışma prensibi olarak verilerin saklandığı bellek alanındaki hash’i okuyup herhangi bir başka LSASS oturumuna enjekte ederek kontrol mekanizmasını bypass etmiş olurlar.
 

👩‍💻Mimikatz: Pass The Hash Saldırısının Gerçekleştirilmesi

Saldırının yapılması noktasında ise bize Atomic Red Team büyük kolaylık sağlamaktadır.. 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 taktiğ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 Nasıl Kullanılır? https://www.youtube.com/watch?v=iNl_rltYmoo )

İlgili tekniği ve Atomic Red Team’in sayfasında belirtilen saldırı test numarasını belirttikten sonra ilgili saldırı aşağıdaki şekildeki gibi yürütülmektedir.






Ayrıca, Atomic Red Team’in Github sayfasında ilgili saldırının manuel yolla, hangi araçla, hangi komut/komutlarla yapılacağı da belirtilmektedir. Bu ise SOC/MDR ekiplerine, gelen alarmlarda hangi komutları, processleri araması gerektiğine, hangi alarmın false positive, hangi alarmın gerçek bir saldırı alarmı olduğuna karar verme noktasında destek vermektedir.




🧑🏻‍💻Mimikatz: Pass The Hash Saldırısının Wazuh ve Sysmon Kullanılarak Tespiti

Bu yazıdaki amacımız, Wazuh’un izleme yetenekleriyle birlikte Sysmon'un nasıl kullanılacağını gösteren basit bir örnek göstermektir.

System Monitor (Sysmon), aktif olarak kullanılan bir sistemde oluşan hareketleri ve olayları kayıt altına alabilen araçtır. Sysmon, bu kayıtları Windows işletim sistemleri için Olay Görüntüleyicisi (Event Log) aracılığıyla yapan sistem servisi ve aygıt sürücüsüdür. İşlemler, ağ bağlantıları ve bir dosyanın oluşturulma detayıyla ilgili bilgileri sunar.

Sysmon’da görülebilecek eventler ise şunlardır:


Sysmon’u Windows’a yükledikten sonra Sysmon’un bulunduğu dizinde xml konfigürasyon dosyası oluşturulur.
 


Sonrasında ise Sysmon klasöründe CMD'yi yönetici ayrıcalıklarıyla başlatıp, dosya aşağıdaki komutla yüklenir:

Sysmon64.exe -accepteula -i sysconfig.xml

Wazuh ajanı izlenen bilgisayarda yüklenip çalıştırıldığında, ajanı Sysmon olaylarını izleyecek şekilde ayarlamamız gerekir. Bunu yapmak için, aşağıdaki kodun ajanın yapılandırma dosyasına (Windows için ajan konfigürasyon dosyası, C:\Program Files (x86)\ossec-agent\ossec.conf ) eklenmesi gerekir:
 


Bu yapılandırmayı kullanarak, Sysmon olayları Wazuh tarafından kontrol edilir ve alınır. Wazuh manager, olayları topladıktan sonra onları JSON formatına çevirmek için dahili bir kod çözücü kullanır.

Oluşan olayları Wazuh tarafında görüntüleyebilmek için rules/local_rules.xml dosyasına aşağıdaki kural yazılır. Arayüzden bu işlem kolaylıkla yapılabilir. (Management > Rules > Manage Rules Files)
 


İlgili kuralı Save diyip kaydettikten sonra çıkan Restart uyarısı ile birlikte kural yeniden başlatılarak aktif edilir.
 


🔍Sonuçların Gözlemlenmesi

EventViewer’dan Sysmon’a dair detaylar gözlemlenebilmektedir. (Application and Services Logs > Microsoft > Windows > Sysmon)
 


Mimikatz’in çalıştırılmasına dair detaylar aşağıdaki gibi görülebilmektedir.
 




Wazuh tarafında ise sonuçlar aşağıdaki gibidir. Mimikatz’in hangi IP adresine sahip olan hostta çalıştırıldığı, hangi komutun kullanıldığı gibi birçok detay görülebilmektedir.













❗️Alınabilecek Önlemler


1. Microsoft ATA gibi bir analiz programı kullanılabilir.

2. Tier yapısı oluşturulabilir.

3. Domain Controller, Exchange Server gibi kritik sistemlere direkt olarak kendi istemci makinalarından bağlanmayıp PAW yapılandırılabilir. Bu tarz işlemleri yapmak için ayrı bir vlan da sıkılaştırması yapılmış sadece gerekli programların kurulu olduğu PAW(Priviledge Access Workstation) makinaları ile vpn üzerinden bağlanılmalıdır.

4. Domain admin gibi yüksek ayrıcalıklı haklara sahip kullanıcılar ile son kullanıcı bilgisayarlarına veya uygulama sunucularına bağlanılmamalıdır.

5. Scheduled Task'ların ayrıcalıklı haklara sahip kullanıcılar ile yapılandırılması engellenebilir.

6. Local Admin yetkisine sahip kullanıcıları GPO üzerinden bilinçli olarak yönetilmesi gerekir.

7. LM ve NTLM yerine NTLMv2 veya Kerberos tercih edilmelidir.

8. Domain Admin, Enterprise Admin gibi yüksek haklara sahip kullanıcılar için, Account is sensitive and cannot be delegated olarak işaretlenmelidir.

9. Şifre yönetimi için eğer mümkünse Single Connect, Cyberark veya bütçe yok ise Microsoft’ un ücretsiz sağlamış olduğu LAPS’ ı yapılandırmanız tavsiye edilmektedir.

10. Eğer mümkün ise uygulamalara veya sunuculara çift katmanlı oturum ile bağlanılması tavsiye edilmektedir.

11. Servis hesaplarına Domain Admin gibi yüksek ayrıcalıklı haklar verilmemelidir.

12. Sistemlere bağlanılan kullanıcı, normal kullanıcı hesabından ayrı olmalıdır ve mümkümse çift katmanlı olarak PAM (Priviledge Access Management) üzerinden erişilmelidir ve tüm aktiviteler kayıt edilmelidir.

13. LSA koruması aktif edilmelidir.

14. Interactive logon: Number of previous logons to cache politikası yapılandırılmalıdır. Yapılandırılmaması durumunda admin haklarına sahip kullanıcının oturum açtığı sisteme saldırı yapılması durumunda hash bilgisi kolayca ele geçirilebilir.

15. “Debug Programs” User Right kuralı yapılandırılmalı mümkünse tüm kullanıcılar kuraldan çıkarılmalıdır. İlgili hak malesef işletim sisteminin hassas ve önemli parçalarına erişim hakkı vermektedir. İlgili hak ile grup içerisine eklenen kullanıcı veya kullanıcıların bilgisi saldırganın eline geçmesi durumunda rootkit enjekte etmek için kullanılabilir.

16. Restricted Admin Mode for Remote Desktop Connection kuralı yapılandırılmalıdır.

17. Microsoft Security Baseline ve/veya CIS Baseline lar referans alınarak gerekli sıkılaştırmalar yapılmalıdır.

18. Windows Firewall üzerinde inbound kısıtlamalar yapılmalıdır. Kural kısmında Any Ip address kaldırılmalıdır ve sadece gerekli ip bloklarına izin verilmelidir.

KAYNAKÇA

https://atomicredteam.io/
https://attack.mitre.org/techniques/T1550/002/
https://wazuh.com/blog/using-wazuh-to-monitor-sysmon-events/
https://static1.squarespace.com/static/552092d5e4b0661088167e5c/t/5d5588b51fd81f0001471db4/1565886646582/Windows+Sysmon+Logging+Cheat+Sheet_Aug_2019.pdf
https://www.youtube.com/watch?v=iNl_rltYmoo
https://www.mshowto.org/pass-the-hash-ataklarindan-nasil-korunurum.html

Yorum Gönder

0 Yorumlar