Kasım 2020

20 Kasım 2020 Cuma

16 Kasım 2020 Pazartesi

Try Hack Me Volatility çözümü


  





Try Hack Me Volatility çözümü

 

Bu blog yazımda; Try Hack Me platformunda bulunan, Volatility ile RAM içerisinde incelemenin nasıl yapıldığını anlatan odanın çözümünü anlatacağım. 



Bu oda bizlere; Intro, Obtaining Memory Samples, Examining Our Patlent, Post Actions, Extra Credit olmak üzere 5 farklı görev vermektedir gelin birlikte bu görevleri gerçekleştirelim.

 

Görev-1:



Volatilite, Volatilite laboratuvarları tarafından geliştirilen ve sürdürülen ücretsiz bir bellek(Ram) inceleme aracıdır. Olay müdahalesinde forensics açısından için altın standart olarak kabul edilen Volatility, bir eklenti sistemi aracılığıyla genişletilebilir ve Mavi takım için paha biçilmez bir araçtır.

 

Bu oda için sanal makine https://darkstar7471.com adresinden de indirilebilir, makinenin kimlik bilgileri aşağıdaki gibidir: voluser: volatility

 

Volatility'yi istediğiniz iş istasyonunuza kurun veya sağlanan sanal makineyi kullanın. Kali gibi Debian tabanlı sistemlerde bu, "apt-get install volatility" aracılığıyla yapılabilir.

 

Burada bize volatilty hakkında genel bir bilgi vermektedir deploy butonuna tıklayarak hedef makinemizi aktifleştirdikten sonra görevi tamamlıyoruz.

 

 

Görev-2

    (RAM örneklerinin elde edilmesi) 



( Makinelerde bir RAM imajı almanın çeşitli yolları vardır, en kolay yöntem genellikle ne ile çalıştığınıza bağlı olarak değişir. Canlı makinelerde(açık olan) ram imajı aşağıdakiaraçlardan biriyle yakalanabilir;

·        FTK Imager –link

·        Redline -link

·        Dumpl.exe

·        Win32dd.exe / win64dd.ex

 

Bu yukardaki araçlar tipik olarak, sistem belleğinin bir görüntüsünü içeren bir .raw dosyası çıkarır. .raw biçimi, en yaygın bellek dosyası türlerindendir.

Çevirmdışı makineler, sürücüleri şifrelenmediği sürece belleklerini nispeten daha kolay çekebilir. Windows sistemleri için bu, aşağıdaki dosya çekilerek yapılabilir;

%SystemDrive%/hiberfil.sys

Windows hazırda bekletme dosyası olarak bilinen hiberfil.sys, önceki önyüklemeden sıkıştırılmış bir bellek görüntüsü içerir. Microsoft Windows sistemleri, daha hızlı başlatma süreleri sağlamak için bunu kullanır, ancak bu dosyayı bizim durumumuzda bazı uzmanlar kullanmaktadır.

Sanal makinelerde ram imajı almak biraz daha zorlaştırıyor. Farklı sanal makine hipervizörleri için bir bellek görüntüsü içeren bellek yakalama dosyaları aşağıda verilmiştir;

·        VMware- .vmem file

·        Hyper-V- .bin file

·        Paralles- .mem file

·        VirtualBox- .sav file

Bu dosyalar genellikle karşılık gelen hiper yöneticinin veri deposunda bulunabilir ve genellikle ilişkili sanal makine kapatılmadan basitçe kopyalanabilir. Bu sanal makinenin imaj bütünlüğünü koruyarak sanal makineye neredeyse sıfır müdahale sağlar.

Açıklamayı okuduktan sonra soruların çözümlerine geçebiliriz.

 (En yaygın bellek formatı nedir ?)


(ram incelenmsini yapmak istedğimiz Windows sistem yanlışlıkla kapatıldı. Hangi dosya sıkıştırılmış bir bellek görüntüsü içerir ?)

 


(VMware tabanlı bir sanal makinede ram incelenemsi yapmak , istersek dosya uzantısı ne olur ?)

 

 

 

 


Şimdi hafıza resmimizi topladığımıza göre, onu inceleyelim! Bu etkinlik için kendi iş istasyonunu kullananlar için, bu göreve ekli bellek örneğimize bir indirme bağlantısı sağladım. Bu aktivite için VM olarak sağladığım iş istasyonunu kullanıyorsanız, bellek görüntüsünü 'voluser' ana dizininde bulacaksınız.


Açıklamayı okuduktan sonra sorulara geçelim.

 



İlk önce hangi profili kullanmamız gerektiğini bulalım. Her Windows sürümü biraz farklı olduğundan, profiller Volatility'nin bellek imajımıza nasıl davrandığını belirler. Şimdi `volatility -f MEMORY_FILE.raw imageinfo` komutuyla seçeneklerimizi görelim.

Bu görevi yapmadan önce ilk olarak githubtan volatility makinemize klonluyoruz daha sonra indirmiş olduğumuz ram imajını volality klasörü içerisine atıyoruz.




Komutu yazdıktan sonra profilin WinXPSP2x86 olduğu gördük

 

 

 



Volatility'de imageinfo komutunu çalıştırmak bize test edebileceğimiz bir dizi profil sağlayacaktır, ancak yalnızca biri doğru olacaktır. Bu profilleri pslist komutunu kullanarak test edebilir, profil seçimimizi döndürülen sonuçların sayısıyla doğrulayabiliriz. Bunu şimdi `volatility -f MEMORY_FILE.raw --profile = PROFILE pslist` komutu ile yapın. Bu hafıza görüntüsü için hangi profil doğru?

Burada bizden daha önce imageinfo parametresiyle bulmuş olduğumuz WinXPSP2x86 ne olduğunu sormaktadır daha sonraki volatility komutlarında profile değerine WinXPSP2x86 girileceğinden çok önemlidir. 

 



Resmimizdeki süreçlere bir göz atın. Smss.exe işlemi için işlem kimliği nedir? Sonuçlar ekran dışına kayıyorsa, çıktınızı daha az







 

 

 

 

 



Aktif süreçleri görüntülemeye ek olarak, görüntü oluşturma sırasında aktif ağ bağlantılarını da görebiliriz! Şimdi bunu `volatility -f MEMORY_FILE.raw --profile = PROFILE netscan` komutu ile yapalım. Ne yazık ki, komut netscan onu desteklemediğinden, hedef işletim sisteminin çok eski olması nedeniyle burada harika olmayan bir şey olacak.

 



Kötü amaçlı yazılımların kendisini ve onunla ilişkili süreci gizlemeye çalışması oldukça yaygındır. Bununla birlikte, kasıtlı olarak gizlenmiş süreçleri `psxview` komutu ile görüntüleyebiliriz. Hangi süreçte yalnızca bir 'Yanlış' listelenmiştir?




 

 



Gizli işlemleri psxview aracılığıyla görüntülemeye ek olarak, bunu 'ldrmodules' komutuyla daha büyük bir odaklanarak kontrol edebiliriz. Burada ortada InLoad, InInit, InMem olmak üzere üç sütun görünecektir. Bunlardan herhangi biri yanlışsa, o modül muhtemelen enjekte edilmiştir ki bu gerçekten kötü bir şeydir. Normal bir sistemde yukarıdaki grep ifadesi hiçbir çıktı döndürmemelidir. Hangi işlemin üç sütunu da 'Yanlış' olarak listelenmiş (Sistem dışında)?





 

 



Bir makineyi incelerken ilgilendiğimiz tek alan süreçler değildir. 'Apihooks' komutunu kullanarak, standart sistem DLL'lerindeki beklenmedik yamaları görebiliriz. Hooking modülünün olduğu bir örnek görürsek: <unknown> bu gerçekten kötü. Bu komutun çalışması biraz zaman alacak, ancak size kötü amaçlı yazılımın getirdiği tüm yabancı kodları gösterecektir.

 


Enjekte edilen kod büyük bir sorun olabilir ve çok çok kötü şeylerin büyük ölçüde göstergesidir. Bunu "malfind" komutu ile kontrol edebiliriz. Tam `volatility -f MEMORY_FILE.raw --profile = PROFILE malfind -D <Destination Directory> 'komutunu kullanarak bu kodu sadece bulamayız, aynı zamanda belirttiğimiz dizine dökebiliriz. Bunu şimdi yapalım! Bu dökümü daha sonra daha fazla analiz için kullanacağız. Bu kaç dosya oluşturur?

Burada konumunu tmp olarak veriyoruz daha sonra tmp dizini içerisinde kaç tane dosya oluşturduğunu sayıp cevaplıyacağız.



















 



Son fakat kesinlikle en az değil, belleğe yüklenen tüm DLL'leri görebiliriz. DLL'ler, sistem işlemlerinde kullanılan paylaşılan sistem kitaplıklarıdır. Bunlar genellikle kaçırma ve diğer yandan yükleme saldırılarına maruz kalır ve bu da onları adli tıp için kilit bir hedef haline getirir. Şimdi hafızadaki tüm DLL'leri `dlllist` komutuyla listeleyelim.

 




 

 

 


Artık bellekte çalışan tüm DLL'leri gördüğümüze göre, bir adım daha ileri gidelim ve onları dışarı çekelim! Bunu şimdi `` volatility -f MEMORY_FILE.raw --profile = PROFILE --pid = PID dlldump -D <Destination Directory> '' komutuyla yapın; burada PID, daha önce tanımladığımız virüslü işlemin işlem kimliğidir (soru beş ve altı ). Bu kaç tane DLL çekiyor?

Zararlı yazılım olan csrss.exe nin pid sini bulmak için ;



Daha sonra bulduğumuz pid yi çalıştırdık 





  



 

Daha sonra dll leri listelemek için tmp maili içerisinde ls komutumuzu çalıştırdık ve dllleri listeledik toplamda 12 tane dll dosyasıyla karşılaştık.


 

 

 

 

Görev-4


 

Şimdi bazı temel adli tıp çalışmaları yaptığımıza göre, bir adım daha ileri gidelim ve topluluğun genel olarak keşfettiğimiz öğeler hakkında neler söyleyeceğini görelim. Aşağıdaki iki siteye göz atın ve önceki bölümümüzden çıkardığımız enjekte edilen kodu yükleyin. Bu kodu, yukarıdaki kutuyla birlikte SCP aracılığıyla, yerel değişkenlik iş istasyonunuz aracılığıyla veya bu göreve eklenmiş bir indirme bağlantısı aracılığıyla alabilirsiniz.



Örneğimize hangi kötü amaçlı yazılım bulaştı? Bunu VirusTotal ve Hybrid Anaylsis'in sonuçlarında bulabilirsiniz.



İlk olarak dll dosyamızın md5 hash bilgisini aldık daha sonra hybrid-analysis programı ile inceledik. 



 




13 Kasım 2020 Cuma

MITRE ATT&CK Framework Nedir ?


  

MITRE ATT&CK Framework Nedir ?

 

 


ATT&CK (Adversarial Tacticks, Techniques and Common Knowledge) Framework, 2013 yılından itibaren Mitre firması tarafından geliştirilmektedir. Mitre; güvenli bir dünya yaratmayı amaçlayan kar amacı gütmeyen bir kuruluştur.

Mitre ATTC&CK Framework; gerçekleştirilmiş tüm siber saldırıları, saldırgan davranışlarını modelleyerek bunlara karşı mevcut sistemlerde önleyici güvenlik tedbirlerini almaktır, bu saldırı tekniklerini analiz eder, gruplandırır ve belirli teknikleri uyguladıkları bilinen APT grupları ile ilişkilendirir. Çeşitli endüstriler için tehdit modelleri oluşturmayı basitleştirmeyi amaçlayan bu framework bu amaç doğrultusunda belirli bir çözümün veya kombinasyonun hangi bilinen tehditleri tespit edebileceğini belirlemek için kullanılmaktadır. Bu framework bu güne kadar  kurumlara yapılan tüm saldırıları tek çatı altında toplanarak kategorize edilmiş ve kullanımı ücretsiz bir şekilde sunulmuştur.

Mitre ATT&CK Framework'ün yararları;

·        Yapılacak saldırılara karşı mevcut sistemlerde önleyici güvenlik tedbirlerinin alınmasını sağlar.

·        Saldırılarda tespit süresini kısaltır ve daha kısa zamanda tepki vermesini kolaylaştırır.

·        Matris biçiminde sunulması. (Matris halinde sunulduğu için saldırganların kurumsal altyapıya nasıl nüfuz ettikleri ve kurumsal altyapıda nasıl bir dayanak kazandıkları, tespit edilmemek için kullanılan püf noktalar gibi bilgiler hakkında genel bir bakış sunmaktadır. )

·        Kuruma gelen saldırıyı ATT&CK framework matrisleri ile eşleştiriyor ve hangi tehditler ile karşı karşıya kalındığını görebilme imkanı veriyor.

·        Uzmanlar tarafından hem genel hem de özel uygulamalar için EDR çözümü sağlar.

·        Savunma tarafında bulunan uzmanlar tarafından sistem açıklıklarını tanımlamak ve risk önceliklendirilebilir.

·        Ağların ve sistemler test etmek amacıyla frameworkte gösterilen teknikler kullanabilir.

·        Saldırganların ne yapmak istediklerini daha kolay anlaşılır olmasını sağlar.

·        SIEM ürünleri içerisinde yerleştirilebilir.

 

 

 

Siber saldırganlar sisteme erişim sağlamalarından, sistemde hak ve yetki kazanmaları ile verilerin sızdırılmasına kadar tüm aşamaları göstermiştir. Bu aşamalarda hangi saldırı vektörlerinin kullanıldığı hakkında detaylı bilgi verilmiştir.

Mitre ATTC&CK Framework’ünEnterprise ATT&CK, Mobile ATT&CK, Pre-ATT&CK olmak üzere 3 çeşit matrisde bölünmüştü fakat son zamanlarda Pre-ATT&CK Enterprise içerisine alarak 2 kısma ayrılmıştır;

-         Enterprise ATT&CK

-         Mobile ATT&CK

 

Pre-ATT&CK ayrı bir matris olarak incelenmesinde dolayı ayrı bir başlık altında bakalım daha sonra Enterprise ATT&CK, Mobile ATT&CK matrislerini detaylı bir şekilde inceleyelim;

 

 

 

 

Pre-ATT&CK:

Pre-ATT&CK bir saldırı hazırlığının tekniklerini, taktiklerini ve prosedürlerini daha iyi açıklamak için oluşturulan ATT&CK ‘nin non-instruvie (Müdaheleci olmayan) ve intelligence-based (İstihbarat temelli) karşılığıdır. Amacı, diğer kuruluşları bir saldırgan için hedef olmaktan çıkarmak ve gelen bir saldırının erken zayıf sinyallerini tespit etmek için siber tehdit istihbaratı veri edinimlerine nasıl öncelik vereceğini anlamaktır. Artık Mitre ayrı bir matris olarak almamaktadır Enterprise içerisinde incelenmektedir.



 

 

 

 

Enterprise ATT&CK:

 Enterprise ATT&CK matrisi detaylı bir şekilde incelendiği zaman; sütun başlıklarında saldırganların kullandıkları taktikler yer almaktadır. Burada saldırganların o aşamada hangi amaçları yerine getirmeye çalıştıklarını göstermektedir. Hücreler de ise saldırganların taktiksel hedeflere ulaşma teknikleri gösterir.

Sütun içerisinde yer alan taktikler;

1-    Inital Access (İlk Erişim): Saldırganların ağ içinde ilk erişimi elde etmek için kullandıkları teknikleri içerir.

2-    Execution (Yürütme): Yerel veya uzak bir sistemde saldırganın zararlı kodunun yürütülmesini sağlayan teknikleri içerir.

3-    Persistence (Kalıcılık): Saldırganın sistem erişimlerinin kesintiye uğramaması için kalıcı hale gelmesini sağlayan teknikleri içerir.

4-    Privilege Escalation (Ayrıcalık Arttırma): Erişilen sistemde yetki yükseltmeyi sağlayan teknikleri içerir.

5-    Defense Evasion (Savunmadan Kaçınma): Savunma yöntemlerini atlamasını sağlayan teknikleri içerir.

6-    Credential Access (Kimlik Bilgisi Erişimi): Hedef sistemde kullanılan kimlik erişim bilgilerini kontrol etmeyi sağlayan teknikleri içerir.

7-    Discovery (Keşif): Saldırganın sistem ve iç ağ hakkında bilgi edinmesini sağlayan teknikleri içerir.

8-    Lateral Movemet (Yanal Hareket): Saldırganın ağ içindeki diğer uzak sistemlere erişmesini sağlayan teknikleri içerir.

9-    Execution (Yürütme): Hedef sistemdeki bilgilere, dosyalara erişmesini sağlayan teknikleri içerir.

10-    Collection (Toplamak): Hedef sistemdeki kritik bilgileri belirlemesi ve toplamasını sağlayan teknikleri içerir.

11-    Exfiltration (Sızdırma): Hedef sistemdeki bilgilere, dosyalara erişmesini sağlayan teknikleri içerir.

12-    Command and Control (Komuta ve Kontrol): Saldırganların hedef ağ içinde kontrolü ele geçirdikleri sistemlerle iletişim kurması ve kontrol etmesini sağlayan teknikleri içerir.



Mobile ATT&CK: 

    Mobil cihazlar üzerinde ele geçirilmesi ile ilgili taktik ve teknikleri ele alır. Mobile ATT&CK  framework daha detaylı anlamak için satırları inceleyelim. Yukarda Enterprise üzerinde; Initial Access, Execution, Persistence, Privilege Escalation, Defense Evasion, Credential Access, Discovery, Lateral Movement, Collection, Command and Control, Exifltrationi Impact   sütunlarının açıklamasını yapmıştık konun uzamaması için  sadece Network Effects ve Remote Service Effects anlatacağım.

     

     

    ·        Network Effects (Ağ Etkileri): Mobil cihaza giden gelen ağ trafiğini kesmek veya değiştirmek için kullanılan teknikleri içerir.

    ·        Remote Services Effects (Uzaktan Hizmet Etkileri): Bulut hizmetleri veya EMM/MDM hizmetleri gibi uzaktan hizmetleri içeren teknikleri içerir.



     


 

 

 

 

Bazı teknikler, birden fazla taktik altında saldırganlar tarafından kullanılmaktadır.

Matristeki sütunlar bir saldırı sırasındaki taktikleri gösterirken ,hücreler ise saldırganların taktiksel hedeflere ulaşma yollarını açıklayan teknikleri gösterir. Taktikler altında yer alana tekniklere tıklanıldığın da detaylı bilgi alınabilmektedir. Tekniğe tıkladığımızda meta data bilgisi, işletim sistemlerinde nasıl kullanıldığı, hangi, APT gruplarının kullandığı, zararlı yazılımın bu teknikte nasıl kullanıldığı, teknikte korunmak için alınabilecek tedbirler, saldırılarda bu tekniğin nasıl tespit edilebileceği ve atağı raporlayan kişilerin referans bilgileri yer almaktadır. Yani kısaca saldırı hakkında ayrıntılı bilgilere ulaşılabilmektedir.
MITRE ATT&CK matirisinde bulunan tatikler ve teknikleri detaylı olarak incelemek için https://attack.mitre.org/ adresi incelenebilir.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Kaynaklar:

https://www.picussecurity.com/resource/the-top-ten-mitre-attck-techniques

https://attack.mitre.org/

https://www.slideshare.net/bgasecurity/mitre-attck-kullanarak-etkin-saldr-tespiti

https://www.kaspersky.com.tr/blog/mitre-apt29-evaluation/8145/

https://digitalguardian.com/blog/what-mitre-attck-framework

https://www.youtube.com/watch?v=0cGwapiNdhI&ab_channel=InnoveraBT

https://blog.sweepatic.com/reconnaissance-and-preatt-ck/