Olay Müdahale Planı Nasıl Oluşturulur?
Olay tepkisi nedir?
Olay müdahalesi, bir güvenlik olayı sürecini yönetmeye yönelik bir yaklaşımdır. Güvenlik olaylarına sistematik bir şekilde yaklaşmak için bir olay müdahale planına ihtiyaç vardır. Başarılı bir olay müdahale planı aşağıdaki 6 aşamayı içerir:
1- Hazırlık
2- Tanımlama
3- Kapsam
4- Ortadan Kaldırma
5- İyileştirme
6- Öğrenilen Dersler
1- Hazırlık
Merkezi Kayıt Sistemi Oluşturma
Büyük dosyaları yönetebilen merkezi log toplama sistemi ile tüm verilerin tek noktadan incelenebilmesi zaman tasarrufu açısından önemlidir.
Zaman Senkronizasyonu
Ağdaki tüm cihazlarda NTP’nin etkinleştirilmesi, toplanan günlüklerin zaman bilgilerinin eşleştirilmesi açısından önemlidir.
Kullanıcı Hesap Yönetimi
Personele ait farklı hesapların kullanıcı adlarının aynı ve diğer personelden farklı olması, herhangi bir olay anında kullanıcı faaliyetlerinin takibini kolaylaştırmaktadır.
Sistem ve Hizmet Hesaplarının Yönetimi
Kullanılan hizmet ve sistemlerin yöneticileri atanmalı ve gerektiğinde bu yöneticilere nasıl ulaşılacağına dair bir doküman oluşturulmalıdır.
Varlık Yönetimi
Cihazlar, işletim sistemleri, yama versiyonları, kritik durum gibi bilgilere anında erişim mümkün olmalıdır.
Güvenli İletişim
Gerektiğinde ekibin iç ağdan bağımsız olarak iletişim kurması gerekebilir, bu tür durumlarda cep telefonu veya ikincil e-postalar kullanılabilir.
Hukuki İşlemler
Olay gerçekleşmeden önce yargı sürecini kimin, hangi durumlarda başlatacağının yöntemi belirlenmelidir.
2- Kimlik
İnceleme
Olası şüpheli bir olay için olayla ilgili ön bilgi toplanmalıdır. Daha sonra durumun şüpheli bir olay olup olmadığına karar verilmesi gerekir.
Görevlendirme
Olayı ilk inceleyecek kişinin belirlenmesi gerekmektedir. Kişi incelemeyle ilgili not almalıdır.
Kontrol Listesinin Kullanılması
Olaylara tutarlı müdahalelerin sağlanması amacıyla yapılacak analizlere yönelik kontrol listeleri bulunmalıdır.
3- Kapsam
Olayın karakterize edilmesi
Olayın belirlenmesi, yapılacak eylemleri belirleyeceğinden, gelen olayın türünün belirlenmesi önemlidir. ÖRNEK: DDoS, kötü amaçlı yazılım bulaşması, veri sızıntısı…
Harekete Geçmek
Saldırganın yöntemine hızlı bir şekilde müdahale etmek için kullanılan tekniğe göre aksiyon alınmalıdır. Ele geçirilen bir hesap varsa, hesabın devre dışı bırakılması, IP engelleme gibi basit önlemlerin hızlı bir şekilde yapılması gerekir.
Veri toplama
Araştırma için geçici belleğin görüntüsü ile güvenlik duvarı, ağ trafiği ve diğer günlükler gerekli olacaktır.
İzolasyon Güvenliği
ihlal edilmiş sistemin fişini çekmek bir çözüm olabilir, onu izole etmek ise daha geçerli bir çözümdür.Olaydan etkilenen sistemler belirlendikten, saldırganın ağda yayılma olasılığı kesildikten ve uçucu bilgiler toplandıktan sonra bir sonraki adıma geçilebilir.
4- Eradikasyon
Kök Nedenin Belirlenmesi
2. ve 3. aşamalarda elde edilen bilgilerle olayın kök nedeninin belirlenmesi gerekir. Saldırganın daha sonra tamamen ortadan kaldırılması gerekir.
Rootkit Potansiyelinin Belirlenmesi
Sistemde rootkit şüphesi varsa disk temizlenmeli ve temiz bir yedek kurulmalıdır. Kurulum sonrasında mevcut uygulama ve sistemlerin en son güncellemeleri kurulmalıdır.
Savunmanın İyileştirilmesi
İşletim sistemleri, kullanılan uygulamalar, ağ, DMZ vb. Savunmanın alanlardaki eksiklikleri belirlenerek nasıl iyileştirme yapılacağı konusunda çalışmalar yapılmalıdır.
Zafiyet Taraması
Zafiyet taramaları yapılarak ağ ve sistemlerdeki potansiyel saldırı noktaları belirlenmeli ve düzeltilmelidir. Olayın tekrarlanmaması için gerekli düzenlemeler hazırlandığında iyileşme aşamasına geçilebilir.
5- Kurtarma
Doğrulama
Log kaydının, sistemlerin, uygulamaların, veritabanlarının ve diğer işlemlerin düzgün çalıştığını doğrulayın.
Geri Yükleme
Bu aşamada geri yükleme işlemi koordine edilir.
İzleme
Sistemleri tekrarlanan olaylar açısından izlenmelidir. Tekrarlayan zararlı bir durum veya olağandışı bir aktivite olmadığında bir sonraki adıma geçilir.
6- Öğrenilen Dersler
Takip Raporu Yazılması
Raporda uzman ve yönetici ile yapılan incelemeler, müdahale planındaki iyi ve kötü çalışma aşamaları ve sürece ilişkin öneriler yer almaktadır. Rapor, yöneticinin etkinliğin kapatıldığından emin olmasını sağlayacak şekilde yazılmalıdır.
Olay Müdahale Prosedürü
İşlem Nasıl İlerliyor?
SOC (Güvenlik Operasyon Merkezi) ortamında, bir olaya karşı alınan aksiyon önemlidir. Herkesin kendi bulduğu yöntemi kullanmamalı, ancak çerçevesi önceden belirlenmiş yöntemler kullanılmalı ki kriz anında tutarlılık olsun ve her şey yolunda gitsin. Bu bölümde olaylar karşısında tutarlılık tabanını nasıl koruyabileceğimizi konuşacağız. Bu bölüm büyük resmi anlamak için önemlidir.
Uyarı
SOC içerisinde bulunan EDR, IDS, IPS, WAF ve benzeri güvenlik araçları aracılığıyla toplanan loglar sonrasında, şüpheli aktivitenin tespiti için SIEM üzerinden kural korelasyon setleri oluşturulmaktadır. Böylece istenmeyen bir durum oluştuğunda yeni bir uyarı oluşturulur.
Analiz et
İdeal bir SOC ortamında, güvenlik araçlarından gelen uyarılara ilişkin ön analizi yürütmek üzere 1. Kademe analistler bulunur. Bu analist, gelen uyarıyı analiz eder ve bunun yanlış pozitif olup olmadığını belirler. Örneğin, kötü amaçlı bir URL adresine istek gönderildikten sonra bir uyarı oluşturulabilir; ancak URL adresi aslında kötü amaçlı değildir. Kademe 1 analisti bu prosedürü kontrol eder ve gelen uyarıları ortadan kaldırır.
Araştırmak
Gelen uyarının hatalı pozitif olmadığı belirlendikten sonra soruşturma prosedürü başlatılır ve saldırının kaynağı araştırılır. Ayrıca saldırganın saldırının başlangıcından bu yana kaydettiği ilerleme miktarı araştırılır.
Etkiyi Değerlendirin
Saldırıdan etkilenen sistemler belirlenerek mevcut durumda mevcut hasar miktarı değerlendirilerek değerlendirilmektedir. Örneğin fidye yazılımından etkilenen bir sistemde tüm veriler şifrelenmemiş olabilir. Mevcut durumun değerlendirilmesi için buna benzer tespitlerin yapılması gerekmektedir.
İçermek
Saldırıdan etkilenen sistemlerin belirlenmesinin ardından durumun kontrollü bir şekilde ele alınması ve yayılmasının engellenmesi büyük önem taşıyor. Bu nedenle etkilenen cihazların derhal ağdan izole edilmesi gerekir. Fidye yazılımı örneğiyle devam edelim. Tehlikeli bir fidye yazılımı kendisini diğer cihazlara yaymak isteyecektir. Diğer cihazlarla etkileşimin engellenmesi için cihazın ağdan izole edilmesi gerekmektedir.
Yanıtlamak
Yukarıda belirtilen tüm adımlar tamamlandıktan sonra yanıt süreci başlatılır. Bu adımda durumun temel nedeni tespit edilir, mevcut tehlikeler ortadan kaldırılır, sistemler tekrar çalışır duruma getirilir ve meydana gelen durumdan ders çıkarılır. Bu eğitimin ana konusu bu başlık altında sıralanan detaylar olacaktır. İlerleyen konularda sizlere bunun nasıl yapılacağını detaylı bir şekilde gösterdik.
3 Önemli Şey
Hacklenen veya hacklendiğine inanılan bir sistemi analiz ederken, işleme sistemi ne olursa olsun cevaplanması gereken 3 soru vardır. Bu sorulara verilecek yanıtlar değişebilir veya analizin devamını sonlandırabilir.Sistemde aktif olarak bulunan bir kötü amaçlı yazılım var mı? Herhangi bir şüpheli iç veya dış iletişim var mı? Kalıcılık var mı?
Sistemde aktif olarak bulunan bir kötü amaçlı yazılım var mı?
Sistemde aktif olarak çalışan kötü amaçlı bir şey varsa geriye doğru analiz yaparak bunun oraya nasıl geldiğini araştırabilirsiniz. Bunu yapmanın en kolay yolu süreç analizi yapmaktır. İleride size süreç analizinin ayrıntılarını öğreteceğiz. Ancak kısa bir örnek vermek gerekirse; “excel.exe” işlemi altında yer alan “powershell.exe” alt işlemi şüphelidir ve araştırılması gerekir.
Herhangi bir şüpheli iç veya dış iletişim var mı?
Saldırganın sistemi kontrol etmek veya sistemden veri çıkarmak gibi prosedürleri tamamlayabilmesi için sunucuyla etkileşim kurması gerekir. Bu etkileşim ağ trafiğini oluşturacaktır. O sistemde halihazırda ve geçmişte yapılan bağlantılar analiz edilerek bir anormallik tespiti yapılabilir. Örneğin, kötü şöhrete sahip bir IP ile bağlantı kurulması, belirli bir IP arasında büyük GB hızlarında veri trafiği olması veya anormal portlar arasında bağlantı yapılması dikkatle araştırılması gereken durumlar olabilir.
Kalıcılık var mı?
Saldırganın bu güne kadar yaptığı eylemlere bakıldığında, saldırganın ele geçirilen sistemde kalıcı olarak var olmayı hedeflediği açıkça görülmektedir. Bunun nedeni, saldırganın belirli bir işlemi hızlı bir şekilde tamamlayamayıp daha sonra tamamlamak için geri dönmesi gerekebileceği ve ihtiyacı olabileceği için açık bir kapı bırakması gerektiği düşüncesi olabilir. gelecekte tekrar.Analiziniz sırasında aktif bir kötü amaçlı varlığı veya şüpheli trafiği tespit edemeyebilirsiniz. Belki saldırgan haftada bir kez kendini tetikleyebilecek bir arka kapı tutmuştur. Bu nedenle kalıcılık için kullanılan prosedürleri bilmeniz ve bunları sistem içerisinde incelemeniz gerekir.Bahsedilen 3 soruyu cevaplamak önemlidir. Bu sorulara verilecek yanıtlar analizin devamını değiştirebilir. Bu sorulara cevap verebilmek için teknik olarak analiz etmeniz gereken bazı yerler var. Gelecek bölümde bunları konuşmaya başlayacağız.
Kullanılabilecek Ücretsiz Araçlar
Olay müdahale sürecinde kullanılabilecek çok sayıda ücretsiz araç vardır. Bazı işlemler manuel olarak yapılabilse de süreci hızlandırmak için bu araçları kullanmanız önemlidir çünkü bazı durumlarda zamana karşı yarışıyor olabiliriz. Bu eğitim kapsamında bazı ücretsiz araçlardan faydalanacağız. Bunlardan bazıları:
Process Hacker
Sistemdeki aktif çalışma süreçlerini detaylı olarak analiz etmek için kullanılabilecek bir araçtır. İndirin: https://processhacker.sourceforge.io/downloads.php
FullEventLogView
Windows olay günlüklerini tek bir pencerede toplar. Özellikle saldırı zaman çerçevesi bilindiğinde uygulanacak doğru filtreler hakkında kanıt toplayabilir. İndirin: https://www.nirsoft.net/utils/full_event_log_view.html
Autoruns
Microsoft’un dahili aracıdır. Saldırganın kalıcılık eylemlerini belirlemeye yardımcı olur. İndirin: https://docs.microsoft.com/en-us/sysinternals/downloads/autoruns
LastActitivityView
Çeşitli kaynaklardan topladığı verilerle cihazlarda gerçekleşen etkinlikleri sıralar. Belirli bir zaman filtresi uygulandığında çok faydalı olabilir. İndirin: https://www.nirsoft.net/utils/computer_activity_view.html
BrowsingHistoryView
Cihazdaki web arama motorunun geçmişini okur ve tek ekranda gösterir. Kimlik avı ve web istismarı gibi saldırıları belirlemek için kullanılabilir. İndirin: https://www.nirsoft.net/utils/browsing_history_view.html
Not: Daha önce de belirttiğimiz gibi kullanılabilecek farklı eşdeğer araçlar bulunmaktadır. Önemli olan kullandığımız araç değil, bu araçlarla analiz ettiğimiz/kontrol ettiğimiz şeydir. Kendi aracınızı bile kodlayabilirsiniz.
Bellek / RAM Analizi – 1
Sistemde aktif olarak çalışan kötü amaçlı bir etkinliği tanımlamanın en iyi yolu bellek analizi yapmaktır. Saldırgan(lar) o anda sisteme uzaktan erişim sağlıyorsa, veri çalıyorsa veya herhangi bir şekilde etkileşimde bulunuyorsa buna izin veren bir süreç vardır. Buna izin veren süreci belirlemek için hafıza analizi yapılabilir.Bu konuyu anlatırken “Process Hacker” aracından faydalanacağız. Daha önce de açıkladığımız gibi bunun gibi farklı eşdeğer araçlar mevcut. Önemli olan hangi aracı kullandığımız değil, neyi kontrol edeceğimizi bilmektir.NOT: Tüm verilere erişebilmek için Yönetici olarak çalıştırmalısınız!
Process Hacker aracı sistemdeki süreçlere ilişkin oldukça detaylı veriler sunar. Yukarıda süreç ilişkilerini, PID numaralarını ve çalışan kullanıcı bilgilerini en temel haliyle görebilirsiniz.Analize geri dönelim. Bellek analizi yaparken dikkat etmemiz gereken 3 kritik nokta var: Süreç Ağacı, Ağ bağlantıları, İmza Durumu
Süreç Ağacı / Process Tree
Bellek analizi yaparken normal durumların ne olduğunu bilmek önemlidir. Örneğin “chrome.exe” işleminin altında “chrome.exe” adında bir childprocess olması normaldir çünkü farklı sekmeler için farklı alt işlemler oluşturabilir.Peki ya “chrome.exe” işlemi altında oluşturulmuş bir “powershell.exe” işlemi görsek? Chrome işlemi altında bir PowerShell oluşturmaya normal şekilde tepki veremeyiz. Bir istismar durumundan şüphelenmeli ve PowerShell’in ne yaptığını, hangi komutları davet ettiğini incelemeliyiz.
Örnek 1 – WebShell Tespiti
Aşağıdaki süreç ağacına bir göz atalım. Web sunucusunun sahip olduğu bir işlem altında bir “powershell.exe: alt işlemi oluşturuldu. PowerShell yerine “cmd.exe” olabilirdi. Ardından “whoami” ve “net user” komutu çalıştırıldı. Olağanüstü durumlar dışında bir PowerShell’in web sunucusu işlemi altında çalışmasını bekleyemeyiz. Ayrıca bunun üzerinde herhangi bir numaralandırma komutunun çalışmasını kesinlikle bekleyemeyiz.Bu durumda şu sonuca varabiliriz: Bir web sunucusu işlemi altında bir cmd veya PowerShell işlemi oluşturulmuşsa, bir webshell’den şüphelenmeli ve onu araştırmalıyız.
Örnek 2 – Kötü Amaçlı Makro Tespiti
“Winword.exe” işlemini düşünelim. Bir word belgesi açıldığında oluşturulduğunu biliyoruz. Winword.exe işlemi altında powershell.exe dosyasının oluşması normal midir? Peki ya bu PowerShell aslında base64 ile kodlanmış bir komutla çalıştırılıyorsa? Bu durum normal değildir ve büyük ihtimalle içinde kötü amaçlı makro bulunan bir dosyanın açılmasından kaynaklanmaktadır.
Process Hacker ile Kontrol Ediliş
Bir süreç ağacından kaynaklanan şüpheli aktiviteyi nasıl tespit edebileceğimizi teorik olarak çeşitli örneklerle anlattık. Bunları gerçek bir makinede nasıl kontrol edebiliriz?
Yukarıdaki duruma baktığımızda cmd.exe altında python.exe’nin oluştuğunu görebiliriz. Bu durum yasal olabilir ancak aynı zamanda kötü amaçlı bir python komutu çalıştırmış da olabilir. Bunu anlayabilmemiz için “python.exe” dosyasına çift tıklayıp hangi dosyanın/komutun hangi parametrelerle çalıştırıldığını kontrol etmemiz gerekiyor.
“Komut satırı” alanına baktığımızda, Manage.py dosyasının “runserver” parametreleri içerisinde çalıştırıldığını, “geçerli dizin”de ise işlemin nerede yapıldığını görebiliriz. Burada kesinlikle şüpheli bir durum olduğunu söyleyemeyiz. Durumun şüpheli mi yoksa kötü niyetli mi olduğunu anlayabilmek için “manage.py” dosyasını analiz etmemiz gerekiyor. Görüldüğü gibi bu dosya “C:\Users\gunal\Documents\Github\LetsDefend\letsdefend\” konumunda bulunmaktadır.Bellek analizi sırasında kontrol edilmesi gereken ağ bağlantıları ve imza durum noktaları bir sonraki bölümde anlatılacaktır.
Bellek / RAM Analizi – 2
Bellek analizinin ikinci bölümünde “Ağ bağlantıları” ve “İmza durumu” durumlarını inceleyeceğiz.
Ağ bağlantıları
Saldırgan(lar)ın cihaza uzaktan erişip verileri çalması için arka kapıdan çıkması gerekiyor. Bu arka kapıyı tespit edebilmek için analizimiz sırasında aktif ağ bağlantılarını kontrol etmemiz gerekmektedir. Burada dikkat etmemiz gereken konular proses adı, uzak IP adresi ve port numarasıdır.Başlangıçta Process Hacker’da “Network” sekmesini açarak aktif ağ bağlantısını oluşturan işlemleri görebiliriz.
“Remote Address” kısmında hangi prosesin hangi adresle iletişim kurduğunu ve “Remote Port” üzerinden hangi porta bağlandığını görebiliriz. Burada ilk kontrol etmemiz gereken şey bağlantı kurmayı beklediğimiz bir sürecimizin olup olmadığıdır. Yukarıdaki görsele baktığımızda Chrome, Discord ve Evernote uygulamalarının ağ bağlantısı kurduğunu görüyoruz. Port bilgilerine baktığımızda bağlantının 443 numaralı port üzerinden yapıldığını anlıyoruz. Yaptığımız ilk analizde herhangi bir doğal olmayan süreç ya da yaygın olarak kullanılmayan bir port tespit edemedik. Eğer şüphelerimiz devam ediyorsa VirusTotal, AbuseIPDB gibi saygın kaynaklarda IP adresi ile ilgili araştırma yapabiliriz.
İmza Durumu
Şüpheli olayları tanımlamanın bir diğer yolu da hizmeti çalıştıran dosyanın imzalı olup olmadığını kontrol etmektir. Bir dosyanın imzalanmış olması her zaman onun yasal olduğu anlamına gelmez. Bunun en belirgin örneği yakın zamanda yaşanan SolarWinds olayıdır. SolarWinds olayında saldırganlar, yazılım yayınlanmadan önce kaynak kodunu değiştirmiş ve ilgili birimler zararlı koda imza atmıştı. Böylece SolarWinds’e ait gibi görünen ama aslında kötü amaçlı yazılım olan bir yazılım kamuoyuna dağıtıldı.Process Hacker’da “İşlem” bölümünü açın ve hemen altındaki “Ad” bölümüne sağ tıklayın ve “Sütun seç” seçeneğine tıklayın. Açılan pencerede “Etkin Sütunlar” bölümüne “doğrulama durumu” ve “Doğrulanmış İmzalayan” seçeneklerini gönderin ve Tamam’a tıklayın. Böylece aktif olarak çalışan işlemlere ait dosyaların imza durumlarını ve kimler tarafından imzalandığını görebileceksiniz.
Ne Öğrendik?
Bellek analizi sırasında “İşlem Ağacı”, “Ağ Bağlantıları” ve “İmza Durumu” durumlarına dikkat etmeliyiz.Canlı Bellek Analizi için Process Hacker aracını nasıl kullanmalıyız?Normal ve şüpheli durumları nasıl ayırt edebiliriz?
Kullanıcılar
Kalıcılığı korumak için saldırganların yaygın olarak kullandığı bir yöntem, kullanıcı oluşturmaktır. Aslında bunun yapılmasının tek nedeni ısrarı sürdürmek değil. Saldırgan(lar)ın “Yönetici” hesabının kontrolünü ele geçirdiğinde yeni kullanıcılar oluşturduğunu gözlemliyoruz. Çünkü bu önemli bir kullanıcıdır ve etkinliği düzenli olarak takip edilebilir. Böylece çok fazla dikkat çekmeyecek yeni bir kullanıcı oluştururlar ve mümkünse o kullanıcının ayrıcalıklarını arttırırlar.Oluşturulan kullanıcılar genellikle “support”, “sysadmin”, “admin” gibi anahtar kelimeleri içerir. Çoğu firmada bu gibi isimlere sahip kullanıcılar pek ilgi görmeyecektir.Bir olaya müdahale prosedürü sırasında hızlı bir şekilde değerlendirmemiz gereken 2 şey vardır.Şu anda sistemde olmaması gereken bir kullanıcı var mı?Saldırı sırasında bir kullanıcı oluşturuldu ve sonrasında silindi mi?
Şüpheli Kullanıcı Tespiti
Sistemde o an aktif olan kullanıcıları listelemek için cmd üzerinden “net user” komutunu kullanabiliriz.
Sonuç olarak eğer orada olmaması gereken bir kullanıcı varsa ve bu kullanıcı hakkında daha detaylı bilgiye ihtiyacımız varsa “net user USERNAME” yazarak arama yapabiliriz.
Bu örnekte “Son oturum açma” ve “Şifre son set” değerleri saldırının yapıldığı zaman ile eşleştirilirse duruma şüpheyle yaklaşabiliriz.Diğer bir yöntem ise “lusrmgr” üzerinden kontrolü sağlamaktır. Bunun için “Windows + R” ile “run:”u aktif hale getirin ve “lusrmgr.msc” yazarak Tamam’a tıklayın.
Açılan pencerede “Kullanıcılar” grubunu seçip kullanıcıları listeleyebilirsiniz.
Bu kontrolden sonra bir kullanıcıdan şüpheleniyorsanız bir sonraki analiz döneminizde o kullanıcının aktivitesine odaklanabilirsiniz.
Geçmişte Oluşturulan Kullanıcılar
Saldırganlar, kullanıcı oluşturup gerekli işlemleri yaptıktan sonra, geride bıraktıkları izi en aza indirmek için işleri bittiğinde kullanıcıları silebilir. Bu durumda “net user” ya da “lusrmgr” ile yaptığımız komutlarda bu kullanıcıları göremeyeceğiz. Yapmamız gereken “Güvenlik” loglarını kontrol ederek geçmişte bir kullanıcı oluşturulup oluşturulmadığını gözlemlemek. Bunu yapmak için “Olay Kimliği 4720 – Bir kullanıcı hesabı oluşturuldu” günlüğünü kullanabiliriz.“Security” loglarını “Olay Görüntüleyici” ile açtıktan sonra Event ID “4720” ile logları filtreleyebiliriz.
Açılan pencerede Event ID olarak “4720” giriyoruz.
Ortaya çıkan sonuca baktığımızda “LetsDefend” kullanıcısının “10/10/2021 10:07” tarihinde “SupportUser” adında bir kullanıcı oluşturduğunu görmekteyiz. Buradan çıkarmamız gereken sonuç şudur; “LetsDefend” kullanıcısı devralınmış veya komutların çalıştırılmasına imkan verecek bir erişim yapılmış. Bu noktadan sonra hem “LetsDefend” hem de “SupportUser” kullanıcılarının aktivitelerinin takip edilmesi gerekmektedir.
EK OLARAK
Kullanıcılarla ilgili şüpheli durumları yakalamak için, saldırının gerçekleştiği dönemde “Yöneticiler” grubuna eklenen kullanıcıları sorgulayabilirsiniz. Böylece eklenmemesi gereken bir kullanıcıyı hemen yakalamış olacaksınız. Bunun için aşağıdaki etkinlik kimliğini kullanabilirsiniz.Olay Kimliği 4732 – Güvenliği etkin bir yerel gruba bir üye eklendi.
Ne Öğrendik?
Saldırganlar sistemin kontrolünü ele geçirdikten sonra “support” veya “admin” gibi genel isimler kullanabilirler.Yeni kullanıcının aktivitelerinin yanı sıra yeni kullanıcı oluşturan kullanıcının aktivitelerinin de takip edilmesi gerekmektedir.Önceki aktiviteleri takip ederken 4720 ve 4732 EventID loglarını kullanmak faydalı olacaktır.
Görev Zamanlayıcısı
En çok kullanılan kalıcılık yöntemlerinden biri zamanlanmış görevler oluşturmaktır. Virüslerden fidye yazılımlarına kadar çoğu kötü amaçlı şey, kalıcılığı korumak için zamanlanmış görevleri kullanır. Saldırgan, zamanlanmış görevleri kullanarak kötü amaçlı dosyanın düzenli aralıklarla çalışmasını sağlar. Böylece saldırgan çalıştırmak istediği komutların aktif ve düzenli çalışmasını sağlar. Sistemde aktif olarak mevcut şüpheli zamanlanmış görevleri tanımlamanın çeşitli yolları vardır. Öncelikle bunun bir sysinternals aracı olan “Autoruns” kullanılarak nasıl yapıldığını gösterelim.Otomatik Çalıştırmalar:
Otomatik çalıştırmalar
Otomatik çalıştırma aracıyla saldırganların kullandığı Kayıt Defteri, Başlangıç ve Görev Zamanlama gibi yaygın olarak kullanılan kalıcılık yöntemlerini tespit edebiliyoruz. Aracı yönetici olarak çalıştırıyoruz ve “Zamanlanmış Görev” sekmesine gidiyoruz.
Önümüzde çok fazla planlanmış görev yok. Gerektiğinde her birini ayrı ayrı inceleyip şüpheli olanı tespit edebiliyoruz. Ancak planlanmış görev sayımız fazlaysa ve zamana karşı yarışıyorsak ne yapabileceğimizi düşünelim. İlk elemeyi gerçekleştirmek için “Publisher” ı olmayan, zamanlanmış görevlerle başlayabiliriz. Yayıncının olması onu tamamen güvenilir kılmaz ancak şüpheli görevlerin yayıncısının olmaması daha yüksek bir ihtimaldir.
Artık sayı 3’e düştü. Şimdi yapmamız gereken, zamanı geldiğinde çalışacak olan “image Path” içerisinde yer alan dosyayı analiz etmek.“Update-Daily” görevi için “important.bat” dosyası incelendiğinde aşağıdaki komutların çalıştırıldığını görebiliriz.
Böylece saldırganın asıl amacının, RDP çalıştırabilmesi için “User123” adında bir kullanıcı oluşturup ilgili gruba eklemek olduğunu görüyoruz. Saldırgan bunu elle değil, zamanlanmış bir görevle yapmayı tercih etti.
Görev Zamanlayıcısı
Otomatik çalıştırma aracını indirmek istemeyenler, şüpheli görevleri tespit etmek için işletim sisteminde bulunan varsayılan “Görev Zamanlayıcı”yı kullanabilir.
Burada otomatik çalıştırmalara benzer herhangi bir ek bilgi sunulmasa da ilgili göreve tıkladığınızda hangi dosya veya komutun çalıştırıldığını görebilir ve analiz edebilirsiniz.
CMD
Her ne kadar çok tercih edilmese de arayüz kullanma şansınız yoksa komut satırı arayüzünde yer alan ‘schtasks’ komutu ile zamanlanmış görevleri görüntüleyebilirsiniz.
Silinen Görevler
Ya tüm araştırmalardan sonra şüpheli bir görev gözlemlemezsek? Saldırgan, çalıştırıldıktan sonra kendini silen bir görev oluşturmuş olabilir mi?Böyle bir durumun tespit edilebilmesi için daha önceki logların incelenmesi gerekmektedir. Bu gibi durumlarda olay günlükleri imdada yetişecektir. Görev Zamanlayıcı üzerinden ilgili loglara ulaşmak isterseniz Görev Zamanlayıcı içerisinde yer alan “Uygulamalar ve Hizmet Günlükleri-Microsoft-Windows-TaskScheduler Operational.evtx” bölümünden ulaşabilirsiniz.Veya aşağıdaki “Güvenlik” günlüklerini takip edebilirsiniz:
Olay Kimliği 4698: Zamanlanmış bir görev oluşturuldu
Olay Kimliği 4702: Zamanlanmış bir görev güncellendi.
Örneğin aşağıdaki günlükte, 10.23.2021 tarihinde zamanlanmış bir görevin oluşturulduğunu görebiliriz.
“Action” kısmına baktığımızda görevin çalıştırmaya çalıştığı dosyayı/komutu görebiliriz. Bu görev şu anda “Görev Zamanlayıcı”da aktif olmasa bile, bu görevin geçmişte oluşturulduğunu bir log analizi ile tespit ettik.
Ne Öğrendik?
Saldırganların sıklıkla kullandığı bir yöntem olan zamanlanmış görevlerde şüpheli aktiviteyi nasıl tespit edebileceğimizi konuştuk. Ayrıca şu anda aktif olmayan ve kendi kendine silinen görevleri nasıl tespit edebileceğimizi de öğrendik. Artık bu gibi durumlarda ne yapacağınızı ve nereye bakmanız gerektiğini biliyorsunuz. Aşağıdaki uygulamaları tamamlayıp teorik bilgilerinizi pekiştirebilirsiniz.
Hizmetler
Saldırganlar, kötü amaçlı komutları çalıştırmak için yeni bir hizmet oluşturabilir veya mevcut bir hizmeti değiştirebilir. Oluşturdukları veya değiştirdikleri hizmetin tespitini zorlaştırmak amacıyla “Chrome Güncellemesi” gibi yasal kod adlarını kullanabilirler. Event Log’lardan yeni oluşturulan bir servisin tespiti için “4697: Sisteme bir servis kuruldu” ID’li log kullanılabilir.Kalıcılığın yanı sıra, hackleme faaliyetlerinin kolayca gerçekleştirilebilmesi için güvenlik önlemi amacıyla çalıştırılan “Windows Defender”, “Firewall” vb. hizmetleri de sürekli olarak durdururlar.Bu sebeplerden dolayı Windows cihazı analiz ederken hangi servislerin oluşturulduğunu/değiştirildiğini, hangi sistemlerin durdurulduğunu incelemem gerekiyor.
Kayıt Defteri Çalıştırma Anahtarları / Başlangıç Klasörü
Kullanılan bir diğer önemli yöntem ise “Registry” değerleriyle oynamak veya “Startup” dosyasında bir dosya bırakmaktır. Böylece kullanıcı oturum açtığında istenen dosyanın çalıştırılması sağlanır.MITRE’nin yaptığı araştırmaya göre APT gruplarının kullandığı 100’den fazla kötü amaçlı yazılım bu tekniği kullanıyor.
Startup
Başlangıç dosyasına eklenen dosyaları görebilmek için aşağıdaki indekslerin kontrol edilmesi gerekmektedir.
C:\Users\[Username]\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp
Kayıt Defteri Çalıştırma Anahtarları
Aşağıdaki çalıştırma anahtarları Windows sistemlerinde varsayılan olarak oluşturulur:
● HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run
● HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOnce
● HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run
● HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnce
Aşağıdaki Kayıt Defteri anahtarları, başlangıç klasörü öğelerini kalıcılığa göre ayarlamak için kullanılabilir:
● HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\UserShellFolders
● HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\ShellFolders
● HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellFolders
● HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\UserShellFolders
Aşağıdaki Kayıt Defteri anahtarları, önyükleme sırasında hizmetlerin otomatik başlatılmasını denetleyebilir:
● HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServices Once
● HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunServices Once
● HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServices
● HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunServices
Başlatmayı belirtmek için ilke ayarlarını kullanma programlar iki Kayıt Defteri anahtarından birinde karşılık gelen değerler oluşturur:
● HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run
● HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run
Kaynak: mitre.org
Tespit etme
Kayıt defteri değerlerini tek tek kontrol etmek istemiyorsanız “Autoruns” aracına dönebilirsiniz.
Burada “Logon” ve “Explorer” sekmelerini açarak yukarıda bahsettiğimiz kayıt defteri değerlerini görüntüleyebiliriz. “Control Path” bölümlerini kontrol ederek şüpheli bir dosya olup olmadığını kontrol edebiliriz. Eğer önümüzde çok sayıda kayıt defteri değeri varsa, zamandan tasarruf etmek için “Description” ve “Publisher” bölümlerinde herhangi bir değeri olmayan kayıt defteri değerlerini inceleyerek başlayabiliriz.
Otomatik çalıştırmalarla istediğiniz bulguları bulamadıysanız “Olay Günlüğü”ne bakabilirsiniz, bir kayıt değeri değiştiğinde “EventID 4657” günlüğü oluşturulur. Güvenlik loglarını filtreleyerek analizinize devam edebilirsiniz.
Ne Öğrendik?
Kullanıcı, bir oturum açıldığında istenen dosyayı çalıştırmak için Başlangıç dosyasını veya Kayıt Defteri değerlerini değiştirebilir.EventID 4657 ile kayıt defteri değişikliklerini takip edebilirizOtomatik Çalıştırmalarla şüpheli Kayıt Defteri değerlerini tespit edebiliriz
Kayıt Defteri Çalıştırma Anahtarları / Başlangıç Klasörü
Kullanılan bir diğer önemli yöntem ise “Registry” değerleriyle oynamak veya “Startup” dosyasında bir dosya bırakmaktır. Böylece kullanıcı oturum açtığında istenen dosyanın çalıştırılması sağlanır.MITRE’nin yaptığı araştırmaya göre APT gruplarının kullandığı 100’den fazla kötü amaçlı yazılım bu tekniği kullanıyor.
Startup
Başlangıç dosyasına eklenen dosyaları görebilmek için aşağıdaki indekslerin kontrol edilmesi gerekmektedir.C:\Users\[Kullanıcı adı]\AppData\Roaming\Microsoft\Windows\Başlat Menüsü\Programlar\BaşlangıçC:\ProgramData\Microsoft\Windows\Başlat Menüsü\Programlar\StartUp
Kayıt Defteri Çalıştırma Anahtarları
Aşağıdaki çalıştırma anahtarları Windows sistemlerinde varsayılan olarak oluşturulur:
● HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run
● HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOnce
● HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run
● HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnce
Aşağıdaki Kayıt Defteri anahtarları, başlangıç klasörü öğelerini kalıcılığa göre ayarlamak için kullanılabilir:
● HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\UserShellFolders
● HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\ShellFolders
● HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellFolders
● HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\UserShellFolders
Aşağıdaki Kayıt Defteri anahtarları, önyükleme sırasında hizmetlerin otomatik başlatılmasını denetleyebilir:
● HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServices Once
● HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunServices Once
● HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServices
● HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunServices
Başlatmayı belirtmek için ilke ayarlarını kullanma programlar iki Kayıt Defteri anahtarından birinde karşılık gelen değerler oluşturur:
● HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run
● HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run
Kaynak: mitre.org
Tespit etme / Detection
Kayıt defteri değerlerini tek tek kontrol etmek istemiyorsanız “Autoruns” aracına dönebilirsiniz.
Burada “Logon” ve “Explorer” sekmelerini açarak yukarıda bahsettiğimiz kayıt defteri değerlerini görüntüleyebiliriz. “Kontrol Yolu” bölümlerini kontrol ederek şüpheli bir dosya olup olmadığını kontrol edebiliriz. Eğer önümüzde çok sayıda kayıt defteri değeri varsa, zamandan tasarruf etmek için “Açıklama” ve “Yayıncı” bölümlerinde herhangi bir değeri olmayan kayıt defteri değerlerini inceleyerek başlayabiliriz.
Otomatik çalıştırmalarla istediğiniz bulguları bulamadıysanız “Olay Günlüğü”ne bakabilirsiniz, bir kayıt değeri değiştiğinde “EventID 4657” günlüğü oluşturulur. Güvenlik loglarını filtreleyerek analizinize devam edebilirsiniz.
Ne Öğrendik?
Kullanıcı, bir oturum açıldığında istenen dosyayı çalıştırmak için Başlangıç dosyasını veya Kayıt Defteri değerlerini değiştirebilir.EventID 4657 ile kayıt defteri değişikliklerini takip edebilirizOtomatik Çalıştırmalarla şüpheli Kayıt Defteri değerlerini tespit edebiliriz
Dosyalar
Kalıcılığı korumanın en temel yöntemlerinden biri, sistemde kötü amaçlı bir dosya bırakmaktır. Sistemde bırakılan bu kötü amaçlı dosya, dosyadan veri çalmak, arka kapı açmak vb. amaçlara sahip olabilir. Sistem içerisinde çok fazla sayıda dosya bulunduğundan her birinin kontrol edilmesi mümkün değildir. Dolayısıyla kullanabileceğimiz iki yöntem var.
Manuel kontrol
Olayın meydana geldiği zaman dilimini biliyorsak, bu zaman diliminde oluşturulan/düzenlenen dosyaları listeleyebilir ve araştırılacak dosya sayısını azaltabiliriz.“Dosya Gezgini”nde “Arama” sekmesinde yer alan “Değiştirilme tarihi” kısmını kullanarak olayın zaman dilimini seçerek araştırılması gereken dosyaları listeleyebiliriz.Sonuçlara daha hızlı ilerlemek için öncelikle “.bat” ve “.exe” gibi yaygın uzantıları araştırarak başlayabiliriz.Bu aşamanın zorluğu, ilerlemenin manuel olarak yürütülmesidir. Ancak insan gözüyle inceleneceği için AV kaçınma teknikleri burada işe yaramayacaktır.
Otomatik Kontrol
Bu yöntemle AntiVirus gibi programları veya kötü amaçlı yazılım tarayıcılarını kullanarak diskin tamamında arama yapabiliriz. Böylece hem eski hem de yeni oluşturulan dosyalar otomatik olarak taranacaktır.AV’yi atlayan kötü amaçlı yazılımlarla ilgili herhangi bir uyarı olmayacağından, taramaya %100 oranında güvenemeyiz.
Ek Çözümler
Tüm incelemeler tamamlandıktan sonra yaşanan olaydan sonra her şeyin normal gittiğinden emin olmak istiyoruz. Bu nedenle olaya karışan her makineye, hatta mümkünse ağda bulunan tüm cihazlara bir EDR aracısı (ücretli veya açık kaynak) uygulanmalı ve tüm veriler tek bir sistem üzerinden takip edilmelidir. merkezi sunucu.Böylece tüm cihazlar tek noktadan kontrol edilebilecek. EDR’de uygulanan kural setleri sayesinde devam eden şüpheli bir aktivite olması durumunda alarm oluşacak ve durumdan haberdar olacaksınız.Burada kritik nokta EDR’deki kural setlerinin kalitesidir. Şüpheli etkinlikleri tespit edebilecek kural kümeleriniz yoksa yalnızca gerçekleşen temel etkinliklerden haberdar olursunuz.
Checklist
Kullanılabilecek Araçlar
Process Hacker
Autoruns
FullEventLogView
LastActivityView
BrowsingHistoryView
Bellek Analizi İçin Gerçekleştirilmesi Gereken İşlemler
Process Tree
Web Connections
Signature Status
Kullanıcılar
Net user
Lusrmgr.msc
Event ID 4720 – A user account was created
Event ID 4732 – A member was added to a security-enabled local group
Scheduled Tasks / Zamanlanmış Görevler
Autoruns, Event Viewer
Event ID 4698 – A scheduled task was created
Event ID 4702 – A scheduled task was updated
Applications and Services Logs-Microsoft-Windows-TaskScheduler Operational.evtx
Services
Registry Run Keys / Startup Folder
Event ID 4657: A registry value was modified
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOnce
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnce
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\UserShellFolders
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\ShellFolders
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellFolders
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\UserShellFolders
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServicesOnce
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunServices
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServices
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunServices
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run
Files
AV scan
Manual Search