Zararli Yazilim Analizine Giris
Zararli Yazilim Analizine Giris
Zararlı Yazılım Analizine Giriş: #1 Temel Kavramlar
Bu yazı serimizde zararlı yazılım analizi hakkında bilgiler vereceğim; virüsler, solucanlar vb. terimleri duymuşsunuzdur. Ama bu şeyler ne anlama geliyor? Virüs solucan mıdır? Kötü amaçlı yazılım tam olarak ne yapar? Hadi bunları öğrenelim…
Zararlı Yazılım (Malware)
Zararlı yazılım, zararlı(malicious) ve yazılım(software) kelimelerinin birleşiminden gelir. Hackerlar tarafından sistemlere bulaşmak ve zarar verecek eylemleri gerçekleştirmek için kullanılan bir yazılım parçasıdır.
Bu tür yazılımlar, veri kaybına veya süreçlerinin kesintiye uğramasına yol açabilir.
Zararlı yazılımın iki ana bileşeni vardır:
- Yayılma mekanizması: Bir zararlı yazılımın kendisini bir veya daha fazla sisteme nasıl yaydığıdır.
- Payload: Bir zararlı yazılımın virüs bulaşmış bir cihazda veya sistemde gerçekleştirdiği eylemdir.
Zararlı yazılımları, yayılış biçimine ve işlevine göre sınıflandırabiliriz. Ancak, bir zararlı yazılım bu türlerin pek çoğunun karışımından da oluşabilir. Bu nedenle sınıflandırmayı kesiınleştirmek zor olabilir.
Zararlı Yazılım Belirtileri
Bir sisteme bulaşmış olan kötü amaçlı yazılımın türü ne olursa olsun, dikkat edilmesi gereken bazı yaygın belirtiler vardır. Bunlar:
- Merkezi işlem birimi (CPU) kullanımında artış, buna bağlı olarak bilgisayarınızın yavaşlaması
- Bilgisayarınızın sık sık donması veya çökmesi
- Web tarama hızınızda azalma
- Ağ bağlantılarınızla ilgili açıklanamayan sorunlar
- Değiştirilmiş veya silinmiş dosyalar
- Bilinmeyen dosyaların, programların veya masaüstü simgelerinin varlığı
- Çalışan bilinmeyen işlemler (process)
- Kendini kapatan veya yeniden yapılandıran programlar
- Bilginiz veya onayınız olmadan gönderilen e-postalar.
Yayılma Mekanizmaları
Zararlı yazılımları yayılış biçimine yani propaganda mekanizmasına göre sınıflandırırsak genel olarak 3 türe ayırabiliriz.
Virüs
Virüsler, bir sisteme girmek için bazı giriş yollarına ve özellikle bir kullanıcı eylemine bağlıdır. Örneğin, bir kullanıcı virüs içeren ve sistemi kirleten bir dosya indirebilir veya bir USB cihazını takabilir. Spam mailleriyle veya güvensiz web sitelerinden indirilen dosyalarla virüsler sisteme bulaşabilir.
Bilgisayar Virüsü
Worm (Solucan)
Bir virüsün aksine, bir worm kendisini sistemlere yaymak için herhangi bir kullanıcı eylemine ihtiyaç duymaz. Bunun yerine yararlanabileceği savunmasız sistemleri bularak hasara neden olur. Worm içeri girdikten sonra ağdaki diğer bağlı sistemlere yayılabilir.
Bilgisayar Solucanı
Trojan (Truva Atı)
Trojan, gerçek bir yazılım parçası gibi davranan bir zararlı yazılım türüdür. Bir kullanıcı programı yüklediğinde, beklendiği gibi çalışır. Ancak program arka planda zararlı işlevler gerçekleştirir.
Bilgisayar Truva Atı
Payloadlar
Zararlı yazılımlar sistemlere bulaştığında pek çok zararlı işlev gerçekleştirebilir. Bunlardan kabaca bazıları şulardır:
Ransomware
Bulaştığı sistemleri veya verileri kilitleyen bir programdır. Saldırgan daha sonra dosyaların kilidini çözme karşılığında fidye talep eder. Fidye belirlenen son tarihe kadar ödenmezse, tüm dosyalar silinebilir.
Fidye Yazılımı
Spyware
Bir cihaz veya sistem üzerinde casusluk yapan bir program türüdür. Bu tür yazılımlar, kullanıcının bilgisi olmadan bir cihaza klavye tarama yazılımı yükleyebilir, parola ayrıntılarını toplayabilir ve bunları saldırgana iletebilir.
Casus Yazılım
Backdoor
Bir siber suçlunun mevcut güvenlik önlemlerini atlamak için bir sistem veya cihazdaki bir güvenlik açığından yararlanmasını sağlayan yani saldırganın hedef sisteme erişimini sağlayan bir yazılımdır.
Arka Kapı
Botnet
Bir bilgisayarı, sunucuyu veya başka bir cihazı, bazı illegal faaliyetleri gerçekleştirmek için uzaktan kontrol edebilen ve benzer şekilde enfekte edilmiş cihazlardan oluşan bir ağa bağlayan bir yazılımdır. Bu sistemde enfekte olan cihazlara zombi, enfekte olmuş cihazların tamamından oluşan ağa ise botnet denir.
Botnet Ağı
Zararlı Yazılım Analizi
Zararlı yazılım analizi, bir zararlı yazılımın nasıl çalıştığını, nasıl tanımlanacağını ve nasıl önleneceğini veya ortadan kaldırılacağını anlamak için yapılan analizler bütünüdür.
Zararlı yazılım analizine yönelik iki temel yaklaşım vardır:
- Statik analiz: zararlı yazılımı çalıştırmadan incelemeyi içerir.
- Dinamik analiz: zararlı yazılımın çalıştırılmasını içerir.
Bu analizler için geliştirilmiş pek çok araç ve dağıtım vardır. Bunlara sonraki yazılarımızda daha detaylı değineceğiz.
Zararlı Yazılım Analizinin Genel Kuralları
Öncelikle ayrıntılara fazla takılmayın. Çoğu zararlı yazılım programı büyük ve karmaşıktır ve muhtemelen her ayrıntıyı anlayamazsınız. Bunun yerine temel özelliklere odaklanın.
İkinci olarak, farklı işler için farklı araçlar ve yaklaşımlar olduğunu unutmayın. Tek bir yaklaşım yok. Her durum farklıdır ve öğreneceğiniz çeşitli araçlar ve teknikler benzer ve bazen örtüşen işlevlere sahip olacaktır. Bir araçta şansınız yoksa, başka birini deneyin. Sıkışırsanız, herhangi bir konuda fazla zaman harcamayın. Kötü amaçlı yazılımı farklı bir açıdan analiz etmeyi deneyin veya farklı bir yaklaşım deneyin.
Son olarak, zararlı yazılım analizinin bir kedi-fare oyunu gibi olduğunu unutmayın. Yeni zararlı yazılım analizi teknikleri geliştirildikçe, zararlı yazılım geliştiricileri, analizi engellemek için yeni tekniklerle yanıt verir. Bir zararlı yazılım analisti olarak başarılı olmak için, bu teknikleri tanımanız, anlamanız ve yenmeniz gerekir.
Zararlı Yazılımların Tespiti
Bir yazılımın zararlı olduğunu doğrulamak için birçok yöntem vardır. Bunlardan bazıları:
- Antivirüs araçlarını kullanma
- Yazılımın hash değerlerini kullanma
- Yazılımın stringlerini, fonksiyonlarını ve headerlarını inceleme
Her teknik farklı bilgiler sağlayabilir ve kullandığınız teknikler hedeflerinize bağlıdır.
Antivirüs Taraması
Muhtemel zararlı yazılımları ilk kez analiz ederken, onu zaten tanımlamış olabilecek bir antivirüs programı aracılığıyla çalıştırmak iyi bir ilk adımdır. Ancak antivirüs yazılımları kesinlikle mükemmel değildir.
Antivirüsler, şüpheli dosyaları belirlemek için bilinen zararlı kodların imzalarından oluşan bir veritabanına ve ayrıca davranışsal ve model eşleştirme analizine (buluşsal yöntemler) güvenirler. Buradaki sorun, zararlı yazılım geliştiricilerin kodlarını kolayca değiştirebilmeleri, böylece programlarının imzasını değişmesi ile virüs tarayıcılarından kaçabilmeleridir. Ayrıca, nadir görülen zararlı yazılımlar, veritabanında bulunmadığından genellikle antivirüsler tarafından algılanmaz. Son olarak danvranışsal yöntemler, genellikle bilinmeyen kötü amaçlı kodları tanımlamada başarılı olsa da, yeni ve benzersiz zararlı yazılımlar tarafından atlatılabilir.
Hash Değerleri
Hashing, zararlı yazılımları benzersiz bir şekilde tanımlamak için kullanılan yaygın bir yöntemdir. Zararlı yazılımı tanımlayan benzersiz bir karma (bir tür parmak izi) üreten bir karma program aracılığıyla benzersiz bir hash değeri elde edilir.
Message-Digest Algorithm 5 (MD5) hash fonksiyonu, kötü amaçlı yazılım analizi için en sık kullanılan algoritmadır, ancak Secure Hash Algorithm 1 (SHA-1) de popülerdir.
VirusTotal
VirusTotal, birçok zararlı yazılımdan koruma ürününü bir araya getiren çevrimiçi bir web platformudur. Buraya bir zaralı yazılım örneğini yükleyebilirsiniz. Burayayüklenen örnek birçok antivirüsürünü tarafından taranır ve size bir sonuç raporu döndürür. Bu raporda, örneğin hangi yazılımlar tarafından ne şekilde değerlendirildiği ve tür kategori aile olarak snıflandırmasını görebilirsiniz.
Zararlı Yazılım Analizi serimizin bu ilk yazısında temel kavramlardan bahsettim. Birdahaki yazımda analiz yöntemlerine ve kullanılacak araçlara daha detaylı değiniyor olacağım. Beğendiyseniz yorum yapmayı ve takip etmeyi unutmayın!
Zararlı Yazılım Analizine Giriş: #2 Sandbox Kurulum
Zararlı Yazılım Analizine Giriş: #2 Sandbox Kurulum
Bir önceki yazımda temel havramlardan bahsetmiştim. Bu yazımda ise zararlı yazılım analizinde kullacağımız ortam kurulumunu anlatacağım. Analiz ortamını hazırlarken nelere dikkat etmeliyiz? Hangi araçları kullanacağız? Hepsi bu yazıda….
Sandbox
Zararlı Yazılım Analizinde kullandığımız ortama sandbox ismini veriyoruz. Özellikle dinamik analiz ile inceleme yaparken, zararlı yazılımı izole bir ortamda çalıştırmak zorundayız. Bunun için en kullanışlı yöntem sanal makine(Virutal Machine) kullanmaktır. Tabi bunun için birçok sanallaştırma yazılımı mevcut; VirtualBox, VMWare Workstation ve QEMU/kvm bunlardan birkaçı. Bu yazımızda virutalbox üzerinden ilerleyeceğiz.
Bunun dışında bir de sanallaştırılmış ortamda kullanacağımız işletim sistemi ve sürümünü belirlememiz gerekiyor. Zararlı yazlımların çoğunluğu windows işletim sistemi üzerinde çalışacak şekilde geliştirilmiştir. Eğer bu yazılımları çalıştırmak istiyorsak , dinamik olarak analizini yapacaksak, bizim de windows işletim sistemini kullanmamız gerekir. Ancak, eğer zararlı yazılımı statik olarak incelemek istiyorsak bu noktada, bize sunduğu birçok tersine mühendislik aracıyla linux işletim sistemini de kullanabiliriz. Dahası, linux işletim sistemi kullanarak zararlı yazılım analizi yapmak için geliştirilmiş, gerekli araçlar kurulu olarak gelen, bir linux dağıtımı da mevcut. Sans Enstitüsü tarafından geliştirilmiş remnux ismindeki dağıtımı buradan inceleyebilirsiniz.
Biz bu yazımızda emektar windows7 32-bit işletim sistemini kullanacağız. Çünkü zararlı yazılımların büyük çoğunluğu windows7 üzerinde çalışır ve 32-bittir.
VirtualBox Kurulumu
VirtualBox, Oracle tarafından geliştirilmiş genel amaçlı bir sanallaştırma yazılımıdır. https://www.virtualbox.org/ adresinden downloads sekmesinden mevcut işletim sistemi ve sürümünüze uygun olan versiyonu indirebilirsiniz.

Kurulum dosyasını indirdikten sonra çalıştırın ve kurulumu tamamlayın.
Windows7 Kurulumu
Windows7 kurulumu için önce 32-bitlik ISO dosyası bulmanız gerekiyor. Microsoft windows7'ye desteği kestiği için kendi sitesinden ISO dosyasını indiremiyoruz. İnternette windows7 iso yazarak diğer sitelerden iso dosyasını bulabilirsiniz. Hangi siteye güveneceğiniz size kalmış.
Sanal Makine Kurulumu
ISO dosyamızı hazır ettikten sonra artık kuruluma başlayabiliriz. Öncellikle virtualbox üzerinde boş bir makine oluşturmamız gerekiyor. Bunun için;

1
new butonuna tıklıyoruz açılan pencerede bizden işletim sistemi bilgilerini istiyor.

Windows 7 (32-bit)'i seçiyoruz ve makinemize bir isim veriyoruz. Ben SANDBOX ismini verdim. Siz başka bir isim de verebilirsiniz. Ardından Next butonuna tıklıyoruz.

Burada makineye vereceğimiz RAM alanını ayarlıyoruz ben 4GB RAM verdim. Makine çalıştığında bilgisayarımın 4GB RAMi bu makineye tahsis edilecek. Siz isterseniz daha fazla da verebilirsiniz sisteminizin durumuna göre. Next butonuna tıklıyoruz.

Burada sistem dosyalarının kurulacağı bir sanal harddisk oluşturuyoruz. Default olarak seçili olan kısım bizim işimizi görür. Create butonuna tıklyıoruz.

Create Virtual Hard Disk menüsü karşımıza çıkacak, VDI, VHDI, VMDK gibi seçenekler karşımıza çıkıyor. Ben VDI'ı tercih ediyorum. Next butonuna basıyoruz.

Gelen menüde, sabit boyut ve dinamik boyut seçenekleri var. Eğer sabit boyut seçerseniz sisteminiz daha stabi olur ancak sisteme ayırdığınız alanı tamamen kaybedersiniz. Dinamik boyutda ise sisteme ayırdığınız alan sanal makine içinde doldukça arttırılır. Yani sanal makineye 100GB alan verseniz bile, sanal makine kendi içinde 20GB'ı kullanılıyorsa 80GB'ı temel işletim sisteminizde boş olarak görünür, kllanılabilir. Ben sandbox makinesi olduğu için sabit boyutu tercih ederim. Fixed Size'ı seçtim. Next butonuyla devam.

Burada makine için ayıracağınız disk alanını belirliyorsunuz. Minimum 32GB olması gerekiyor. Ben 64GB verdim. Create butonu ile devam edebiliriz. Ve sonunda boş sanal makinemizi oluşturduk

Start butonu ile makineyi başlatırsanız karşınıza sadece siyah ekran çıkacaktır. Çünkü daha ISO dosyamızı yüklemedik.
Windows ISO Yükleme
Oluşturduğumuz boş sanal makineye Windows ISO'sunu yüklemek için sanal makinenin ayarlarını düzenlememiz lazım.

Åimdi soldaki menüde SANDBOX makinemiz seçili halde settings butonuna tıklıyoruz. Burada makine için ayarları yapacağız.

Açılan menüden sanal makinamız ile ilgili pek çok ayarı yapabiliriz. Soldaki menüden storage sekmesine geliyoruz. Burda cd üzerinde + olan simgeye tıklıyoruz. Burdan ISO dosyamızı yükleeceğiz.

Açılan menüden Add butonuna tıklıyoruz ve açılan pencereden Windows7 (32-bit) ISO dosyamızı bilgisayarımızda nereye kaydettiysek bulup seçiyoruz.

Ardından yüklediğimiz ISO'yu seçip choose butonuna basıyoruz. İşlememiz tamamlandı artık makineyi çalıştırabiliriz.
Windows Kurulıumu
Bundan sonrası klasik windows kurulumu. Start butonundan makineyi çalıştırabilirsiniz.

windows7 kurulum
Windows kurulumu oldukça basittir. Windowsun kurulum arayüzünden kolaylıkla yapabilirsiniz. Makine kurulumu bittikten sonra windows başlatılacaktır.

Bundan sonraki aşama Zararlı Yazılım Analizi için gerekli olan araçları kurmanızdır. Tabi bunların hepsini bir anda da kurabilirsiniz, peyder pey de kurabilirsiniz.
Makine Klonlama
Åimdi makinemize birşey olursa tekrar kurmak ile uğraşmamak için makineyi konlamayı görelim.

Bunun için makinemize sağ tıklayıp açılan pencerede clone'a tıklıyoruz.

karşımıza böyle bir pencere çıkıyor next butonuna basıp devam edebiliriz.

Burada klon tipini belirlememiz gerekiyor. İki çeşit klon tipimiz var.
Full clone: adından da anlaşılacağı gibi sanal makinenin aynısından bir tane daha oluşturur. Dolaysıyla klonlandığı makineye bir bağımlılığı yoktur.
Linked clone: klonlanan makine ana makineye bağımlıdır. Yani ana makine silinirse bağlantılı klonu da işlevsiz kalır.

full cloneu seçip devam edebilirsiniz. Ardından VM klonlanana kadar bekleyiniz ve klonunuz hazır.
Önerilen Araçlar
Zararlı yazılım analizi, çeşitli araçların yardımını gerektirir. Analiz VM'ine yüklenmesi gereken çeşitli araçların listesini inceleyeceğiz ve bu araçların kullanımını sonraki bölümlerde gerektiğinde ve gerektiğinde tanıtacağız. Bu araçlardan birkaçının GUI'si yoktur ve komut satırı istemi aracılığıyla çalıştırılmaları gerekir. Bazıları ise masaüstünden kısayol ile çalıştırılabilir.
QuickHash
QuickHash, hızlı ve güvenilir cross platform bir hashing aracıdır. Zararlı Yazılımın hashini almak için bu programı kullanabilirsiniz.
Bu linkten indirebilirsiniz: https://quickhash-gui.org
PEView
PEView popüler bir PE dosya ayrıştırıcısıdır.
Bu linkten indirebilirsiniz: http://wjradburn.com/software/
TrID
Dosya türünün belirlenmesi için kullanılan bir araçtır.
Bu linkten indirebilirsiniz: http://mark0.net/soft-trid-e.html
Process Hacker
Process Hacker, çalışan süreçleri bunların iş parçacıklarını, çalışan hizmetleri, yapılan ağ bağlantılarını, disk kullanımını, işlem başına yüklenmiş DLL'leri vb. görüntüleme dahil olmak üzere sistemin çeşitli durumlarını görselleştirmeye yardımcı olur. Ayrıca, uygun şekilde kullanılırsa kötü amaçlı yazılımın analiz edilmesine ve incelenmesine yardımcı olabilecek, süreçle ilgili çeşitli özellikleri de gösterir.
Bu linkten indirebilirsiniz: https://processhacker.sourceforge.io/
ProcMon
ProcMon, süreç ve iş parçacığı oluşturma, ağ etkinlikleri, dosya oluşturma ve silme gibi dosyayla ilgili etkinlikler, kayıt defteriyle ilgili etkinlikler vb. dahil olmak üzere sistemde çalışan işlemlerin çeşitli etkinliklerini yakalayan ve görüntüleyen, iyi bilinen bir işlem izleme aracıdır.
Bu linkten indirebilirsiniz:https://docs.microsoft.com/en-us/sysinternals/downloads/procmon
Autoruns
Kötü amaçlı yazılım, sistem yeniden başlatıldıktan veya kullanıcı yeniden oturum açtıktan sonra devam etmek ve otomatik olarak çalışmak için kalıcılık mekanizmalarını kullanır. Autoruns, kötü amaçlı yazılım tarafından kullanılan kalıcılık mekanizmalarını yakalar ve sistem açılışında veya oturum açma sırasında çalışacak şekilde yapılandırılmış tüm programların bir listesini sağlar.
Bu linkten indirebilirsiniz: https://docs.microsoft.com/en-us/sysinternals/downloads/autoruns
Regshot
Regshot, registry farkını görüntülemek için Windows registry anlık görüntüsünü almanıza ve ikinci bir anlık görüntüyle karşılaştırmanıza olanak tanıyan bir registry farkı/karşılaştırma aracıdır.
Bu linkten indirebilirsiniz: https://sourceforge.net/projects/regshot/
FakeNet
FakeNet, zararlı yazılımdan giden ağ bağlantılarını yakalayıp loglayan ve simüle edilmiş yanıtlar döndüren, böylece kötü amaçlı yazılıma harici ağ erişimini devre dışı bırakan, Windows için kullanılabilen dinamik bir zararlı yazılım analiz aracıdır.
Bu linkten indirebilirsiniz: https://sourceforge.net/projects/fakenet/
BinText
Bintext, dosyalardan ASCII ve Unicode metin dizelerini çıkarabilen bir statik analiz aracıdır.
Bu linkten indirebilirsiniz: http://b2b-download.mcafee.com/products/tools/foundstone/bintext303.zip
YARA
YARA, zararlı yazılım araştırmacıları için İsviçre çakısı olarak tanımlanıyor. Zararlı yazılımları tespit etmek ve sınıflandırmak için çok kullanışlıdır.
Bu linkten indirebilirsiniz: https://virustotal.github.io/yara/
Wireshark
Wireshark, canlı ağ trafiğini yakalayıp inceleyebilen veya statik paket yakalama (PCAP) dosyalarını analiz edebilen bir grafik paket analiz aracıdır. Wireshark, çeşitli protokollerin kodunu çözmeyi destekler ve herhangi bir ağ trafiğini hızlı bir şekilde incelememize izin veren dahili paket filtreleme özelliği sağlar.
Bu linkten indirebilirsiniz: http://www.wireshark.org
GMER
GMER, hem kullanıcı alanı API kancalarını hem de çekirdek modeli SSDT kancalarını tespit etmek için kullanabileceğimiz bir araçtır.
Bu linkten indirebilirsiniz: http://www.gmer.net
DriverView
DriverView, sisteminizdeki tüm yüklü sürücüleri görüntülemenize yardımcı olan bir GUI aracıdır ve sisteminizde herhangi bir kötü amaçlı çekirdek modülü/rootkit'in yüklü olup olmadığını kontrol etmek için harika bir araçtır.
Bu linkten indirebilirsiniz: http://www.nirsoft.net/utils/driverview.html
Strings
Sysinternals Strings, dosyalardan tüm stringleri bulmanıza yardımcı olan bir komut satırı aracıdır.
Bu linkten indirebilirsiniz: https://docs.microsoft.com/en-us/sysinternals/downloads/strings
Bulk Extractor
Bulk Extractor ağ paketi, dosyaları bellek dökümlerinden yakalayan bir komut satırı aracıdır.
Bu linkten indirebilirisiniz: http://downloads.digitalcorpora.org/downloads/bulk_extractor/
OllyDbg
OllyDbg, zararlı yazılım tersine mühendisliği için sahip olunması gereken bir araçtır. x86 yürütülebilir dosyalarını pencerelerde çalıştırabilen ve hatalarını ayıklayabilen grafiksel bir x86 hata ayıklayıcıdır.
Bu linkten indirebilirsiniz: http://www.ollydbg.de/version2.html
Bu yazımda, analiz ortamının hazırlanmasını ele aldım. Analiz için kullanacağımız windows7 sanal makine kurulumuna ve gerekli araçlara değindim. Bir sonraki yazımda analiz teknikleriyle devam edeceğiz. Yazıyı beğendiyseniz yorum yapmayı ve takip etmeyi unutmayın….
Zararlı Yazılım Analizine Giriş: #3 Statik Analiz
Zararlı Yazılım Analizine Giriş: #3 Statik Analiz
Bir önceki yazımda analiz ortamının hazırlanmasından bahsetmiştim. Bu yazımda ise kurduğumuz ortam ile bir zararlı yazılımın statik analizini yapmaya çalışacağız. Statik analiz yöntemlerine ve ilgili araçlar bu yazıda!
Statik Analiz Yöntemleri
Statik analiz, dinamik analiz olarak bilinen, yürütme ve davranışını analiz etmenin aksine, bir zararlı yazılımın yürütülmeden analizidir.
Statik analiz, analiz sürecinde iyi bir ilk adımdır. Bunu kullanarak, bir örneğin zararlı mı yoksa temiz mi olduğunu onu çalıştırmanıza bile gerek kalmadan anlayabilirsiniz. Hatta herhangi bir dinamik analiz yapmanıza gerek kalmadan zararlı yazılımın türünü, ailesini ve amacını bulmaya kadar gidebilirsiniz.
Statik analiz veya dinamik olsun, ilk adım her zaman başkalarının yazılım örneğiniz hakkında herhangi bir düşüncesi veya sonucu olup olmadığını kontrol etmeyi içerir. Çoğu zaman başkaları, örneğinizi veya aynı zararlı yazılım ailesine ait benzer bir örneği zaten analiz etmiş ve analizi hakkında bir blog yazısı yazmıştır. Diğer durumlarda, aynı örnek VirusTotal ve diğer kötü amaçlı yazılım analiz platformlarına girmiş olabilir. Bu konuda internette ararştırma yapabilirsiniz.
Bundan sonraki aşamalarda adım adım analiz tekniklerine değineceğiz.
Hash değeri
Bir zararlı yazılımın hash değeri daha önce kullanılmışsa o zararlı yazılım ile ilgili pek çok bilgi verebilir.

Zararlı yazılım öğrneğimizin hash değerini QuickHash aracı ile elde edebiliriz. Bunun dışında pek çok araçta mevcuttur. Bu değeri googleda aratırsak.

Karşımıza bu zararlı yazılım örneği ile ilgili pekçok bilgi çıkıyor. Ayrıca bu hash değerini virustotal üzerinde de aratabilirsiniz.
Dosya Formatını Tespit Etme
Zararlı yazılımlar farklı dosya biçimlerinde gelir: PE dosyaları, .NET dosyaları, Java dosyaları, Komut dosyaları, JavaScript yazılımı vb. Farklı işletim sistemleri için de yazılmış olabilirler: Linux, Windows, macOS veya Android. Belirli bir işlemci mimarisi için hedeflenmiş olabilirler: x86, x64, PowerPC, arm vb. Analiz ettiğiniz örnek dosyanın türüne ve hedefine bağlı olarak, örnek dosyayı analiz etmek için farklı araçlara ve hatta işletim sistemi kurulumuna veya işlemci türüne ihtiyacınız olabilir.
İyi bir ilk adım, dosyanın biçimini bulmaktır, çünkü bu, örneğin hedefinin neye benzediği hakkında çok şey gösterir. Bunun için trid aracını kulanabiliriz.
Uzantı sahteciliği, dosya adlarının bir parçası olarak sahte uzantılar kullanarak çalışır. Bu teknik, .pdf, .xlsx ve .doc gibi uzantılar olarak tanıyan ve bu nedenle güvenli olduklarını düşünen çoğu kullanıcı kurbanının cehaletinden yararlanır. Saldırganlar, bu uzantıları zararlı yazılım dosya adlarına ekleyerek, kurbanları onları .exe olmayan dosyalar olarak yanlış okumaları için kandırmayı başarır ve temelde onları indirip tıklamaları için kandırır.
Versiyon Bilgileri
Sistemimizdeki çoğu temiz yazılım ve dosya, Özellikler penceresinin altında, dosyaya sağ tıklayıp Özellikler'i seçerek erişilebilen bir Ayrıntılar sekmesine sahiptir. Ayrıntılar sekmesi, Dosya sürümü, Ürün adı, Ürün sürümü ve Telif Hakkı gibi dosyayla ilgili çeşitli ayrıntıları gösterir.

Uygulamayı açıklayan iyi tanımlanmış alanlar ve özellikler görmüyorsanız, numuneyi daha fazla araştırmayı garanti edecek şekilde şüpheli olarak değerlendirebilirsiniz. Aynı şekilde, önemsiz görünen veya çok az anlamı olan veya hiçbir anlamı olmayan alan değerleri görürseniz, örneği şüpheli olarak değerlendirebilirsiniz. Özelliklerini ve sürüm bilgilerini açıklamak için gereksiz değerler kullanan temiz uygulamalar görmezsiniz.
Kod İmza Bilgileri
Belgeleri imzamızla imzaladığımız gibi, dosyaları imzalamak için kriptografik olarak oluşturulmuş, kod imzalama sertifikaları olarak da bilinen dijital anahtarlar kullanılır. Bu kod imzalama sertifikalarını kullanan dosyalar için oluşturulan benzersiz dijital imzalar, dosyanın orijinal yazarına kadar uzanır.

String Analizi
Zararlı yazılım örnekleri, yazılım programlarından başka bir şey değildir ve oluşturulan son çalıştırılabilir yazılımın bir parçası olarak birçok string içerir. Bu diziler genellikle yazılımın türünü, işlevselliğini ve amacını belirlemek için çok iyi göstergeler olarak hizmet edebilir.

BinText aracı ile dosya içindeki stringleri bulabiliriz ve burdan bilgi edinebiliriz. Bu GOAT dosyası Andreas Marx tarafından oluşturulmuştur. RR'den ROSEGOAT! (23.08.1998) Dosya: ROSE001.COM â€" 20.000 (4E20h) bayt uzunluk! gibi bilgilere burdan ulaştık.
YARA Kuralı Oluşturma
YARA, zararlı yazılım araştırmacıları için İsviçre Çakısı olarak tanımlanan bir araçtır. Dosyalara ve genel olarak her türlü arabelleğe karşı kural eşleştirme motorudur. YARA'yı kullanarak, insan tarafından okunabilen stringler ve hatta ikili kalıplar kullanarak kurallar oluşturabilir ve bu kalıpları, dosyalarda ve arabelleklerde eşleştirmek için boolean ifadeler kullanarak birleştirebilirsiniz.
rule YARA_example
{
meta:
description = "This is just an example"
strings:
$a = "ROSEGOAT"
condition:
$a
}
Bu kuralı sample.exe üzerinde çalıştırırsak eşleşme olduğunu görürüz.

YARA ile daha detaylı bilgite internet üzerinden ulaşabilirsiniz.
PE Dosya Başlıkları ve Bölümleri
PE dosya biçimi, bir dizi bölümün izlediği bir başlık içerir. Başlık, dosyanın kendisiyle ilgili meta verileri içerir. Başlığın ardından, dosyanın her biri yararlı bilgiler içeren gerçek bölümleri bulunur. PEview aracı ile bunları görüntüleyebiliriz.

Yaygın PE bölümleri:
- .text bölümü, CPU'nun yürüttüğü talimatları içerir. Diğer tüm bölümler verileri ve destekleyici bilgileri saklar. Yürütülebilen, kodların bulunduğu, tek bölümdür.
- .rdata bölümü tipik olarak içe ve dışa aktarma bilgilerini içerir. Bu bölüm, program tarafından kullanılan diğer salt okunur verileri de saklayabilir.
- .data bölümü, programın herhangi bir yerinden erişilebilen programın genel verilerini içerir.
- .rsrc bölümü, yürütülebilir dosya tarafından kullanılan ve yürütülebilir dosyanın parçası sayılmayan simgeler, resimler, menüler ve stringler gibi kaynakları içerir.
Disassembly
Makine kodunu assembly diline çevirebilen birçok program olsa da IDA Pro en iyi yazılım diyebiliriz.

IDA pro ücretli bir yazılım ancak IDA freeware isminde ücretsiz bir sürümüde mevcut bu sürümü ile analiz gerçekleştirebilirsiniz.
Bu yazımda, statik analiz yöntemlerine değinmeye çalıştım. Temel olarak statik analiz nasıl yapılır? hangi teknikler kullanılır? bunları anlattım. Sizin bildiğiniz benim değinmediğim başka teknikler var ise yorumlara yazabilirsinniz. Bir sonraki yazımda dinamik analiz yöntemlerinden bahsedeceğim.
Zararlı Yazılım Analizine Giriş: #4 Dinamik Analiz
Zararlı Yazılım Analizine Giriş: #4 Dinamik Analiz
Bir önceki yazımda statik analiz yöntemlerinden bahsetmiştim. Bu yazımda ise Zararlı Yazılım Analizinde, dinamik analiz yöntemlerinden bahsedeceğim. Ne tür dinamik analiz teknikleri var? hangi araçlar kullaılıyor? nasıl analiz yapılıyor? hepsi bu yazıda!
Dinamik Analiz Yöntemleri
Çeşitli araçların yardımıyla bir zararlı yazılım örneğini yürütmeyi ve yalnızca davranışı kaydetmeyi değil, aynı zamanda yürütülen zararlı yazılım tarafından üretilen çeşitli yapıtları da gözlemlemeyi içerir.
Dinamik analiz ve statik analiz, analiz sürecinde iki farklı aşama gibi görünse de öyle değildir. Çeşitli dinamik analiz adımlarını ve araçlarını gözden geçirirken, geri dönüp öğrendiğiniz çeşitli statik analiz adımlarını uygulamanız ve ardından tekrar dinamik analize geri dönmeniz gerekebilir. Bu döngü birkaç kez daha devam edebilir.
Dinamik analize başlamadan önce analiz ortamnızın izole ve yedeklenmiş olmasından emin olmalısınız. Bunun için sandbox kurulum yazısında değindiğimiz gibi win7 makinenizin bir klonunu oluşturabilirsiniz ve işlemleri bu klon üzerinde gerçekleştirebilirsiniz. Ayrıca, ağ adaptörünün devredışı veya host-only modda olduğundan emin olun. Base sisteminizi korumak için sanal makine içinde herhangi bir ağ bağlantısı olmaması gerekiyor.
Bundan sonraki aşamalarda adım adım analiz tekniklerine değineceğiz.
İlk Çalıştırma
Analiz sürecindeki en iyi ilk adım, örneği gelişigüzel bir şekilde çalıştırmak ve davranışını çok yüksek bir düzeyde fark etmektir.
Fidye yazılımı gibi pek çok örneğin açık davranışları vardır. Örneği çalıştırmak ve yazılımın sistem ve diskteki dosyalar üzerindeki etkilerini gözlemlemek, örneğin zararlı yazılım olduğu sonucuna varmak, zararlı yazılımın türünü ve amacını anlamak için yeterli olabilir.
Yürütülen zararlı yazılımın davranışını gelişigüzel bir şekilde gözlemlemek beklentilerimizi belirlememize ve derinlemesine analizine devam etmek için gereken bir sonraki araç setine kendimizi hazırlamamıza yardımcı olur.
Tek bir yürütme, davranışı hakkında yeterince gözlem yapmamıza yardımcı olmayacağından, bu işlemi tekrarlamamız ve aynı örneği gelişigüzel bir şekilde birden çok kez yeniden çalıştırmamız gerekebilir. Örneği gelişigüzel bir şekilde her yeniden çalıştırdığımızda, VM'i sıfırlamamız önerilir. Bunun için çalıştırmadan önce snapshot alabilirsiniz ve zararlı yazılımı çalıştırdıktan sonra restore edebilirsiniz.

Bu işlemi gerçekleştirirken, örneğin davranışını pasif olarak gözlemlememize yardımcı olan Process Hacker ve dosya tarayıcısı gibi birkaç basit araçtan da yardım alabiliriz.

örneğin burada sample.exe adında bir zararlı yazılımız var Bunu çalıştırdığımızda neler olacak gözlemleyelim.

sample.exe öğresi ortadan kayboldu ve yeni prosesler başladı. Artık bilgisayarımız enfekte olmuş durumda.

işlemimiz tamamlandıktan sonra makinemizi sıfırlamak için snapshotu restore etmemiz gerekli. Tekrar başlattığımızda makine snapshot aldığımız hali ile başlayacak.
API Log Davranışı
Zararlı yazılım, Win API çağrılarıyla faaliyetlerini gerçekleştirir. APIMiner veya Cuckoo Sandbox gibi bir API kaydedici aracı kullanarak bir örnek tarafından kullanılan API'leri elde edebilirsiniz. API'lere dayanarak, örneğin zararlı yazılım olup olmadığı sonucuna varabilir ve kategorisini öğrenebilirsiniz.

APIminer aracı bize bir log dosyası yaratır. Log dosyaları, zaman sırasına göre düzenlenir. Gördüğünüz ilk dosya oluşturulan ilk dosya olur. Oluşturulan log dosyasını alttaki şekilde görebilirsiniz.

Peki bu bilgilerden ne gibi çıkarımlar yapacağız.
CreateProcessInternalW([command_line]"svchost.exe",
[process_identifier]4080,
[thread_identifier]3248,
[creation_flags]4
[process_handle]0x00002A7C,
[thread_handle]0x00002A78)
NtReadVirtualMemory([process_handle]0x00002A7C)
NtMapViewOfSection([process_handle]0x00002A7C)
NtReadVirtualMemory([process_handle]0x00002A7C)
NtUnmapViewOfSection([process_handle]0x00002A7C)
NtResumeThread([thread_handle]0x00002A78,
[process_identifier]4080)
Bu kısmı ele alalım ve madde madde gidelim.
- CreateProcessInternalW API'sini kullanan örnek, bir sistem olan svchost.exe programı için yeni bir işlem oluşturur.
C:\Windows\System32\svchost.exe konumunda bulunan işlem - Oluşturulan işlem, [creation_flags]4 kullanılarak 4 bağımsız değişken değeri kullanılarak tanımlanan ASKIYA ALINMIÅ durumda. 4 değerinin ASKIYA ALINDI anlamına geldiğini nasıl bilebiliriz? CreateProcess API için MSDN'deki API açıklamasına bakın ve CREATE_SUSPENDED bayrağını kontrol edin.
- Bu yeni oluşturulan işlemin tanıtıcısı ve iş parçacığı 0x00002A7C ve 0x00002A78'dir.
- NtReadVirtualMemory API'sini kullanan örnek daha sonra, 0x00002A7C işlem tanıtıcısı kullanılarak tanımlanan uzak işlemden belleği okur
- NtMapViewOfSection API'sini kullanan örnek daha sonra bir bölüm oluşturur ve bunun bir görünümünü, 0x00002A7C tanıtıcısı kullanılarak tanımlanan uzak işleme eşler.
- 0x00002A78 iş parçacığı tanıtıcısı ve 4080 işlem tanımlayıcısı kullanılarak tanımlanan ResumeThread API'sini kullanarak ASKIYA ALINAN iş parçacığını/işlemini sürdürür.
Tüm bu API dizisi neye benziyor? Bu, örneğin yalnızca kullanılmasa bile çoğunlukla zararlı yazılım tarafından kullanılan bir özellik olan işlem boşluğunu kullandığı anlamına gelir. Böylece bunun kötü amaçlı bir yazılım olduğu sonucuna varmamızı sağlar.
Zararlı Yazılım Ailesinin Belirlenmesi
API loglarından zararlı yazılım olduğu sonucuna vardık, ancak zararlı yazılımın ailesini anlayabilir miyiz? Aynı aileye ait her zararlı yazılımın o aileye özgü özellikleri veya yapıları vardır. Özellikleri API logları aracılığıyla araştırılabilir. Örnek için, oluşturulan üç API log dosyası vardır. İlk log dosyasını alın ve bir muteks oluşturan CreateMutant API'sini arayın.
Zararlı yazılımlar tarafından yaygın olarak kullanılan bir senkronizasyon yöntemidir. Zararlı yazılımımız, API çağrısı aracılığıyla görebileceğiniz gibi, 2GVWNQJz1 adlı bir muteks oluşturur.

Örneğimiz tarafından oluşturulan Mutex, kuluoz ailesine ait olduğunu ve bir botnet virüsü olduğunu ortaya koyuyor
Dinamik String Analizi
String analizinde ilk adım, paketlenmiş olup olmadığını anlamaktır. Paketlenmemiş ise statik analiz yöntemleri ile stringler tespit edilebilir. Eğer paketlenmişse bu durumda dinamik analize ihtiyaç duyulur.
PEiD, örneğin paketlenip paketlenmediğini anlayabileceğiniz statik dosyanın entropisini sağlayabilen harika bir araçtır.

Paketlenen zararlı yazılımlarda stringler gizlenmiş olur. Bu, BinText kullanarak stringlerin statik analizini işe yaramaz hale getirir. Paketlenmiş zararlı yazılım çalıştırdığımızda, kendilerini bellekte açarlar. Kendi paketini açtıktan sonra, tüm gizlenmiş stringleri artık görünür hale gelir. Bu stringleri tespit etmeye çalışacağız.
Bu noktada yardımımıza yine process hacker koşuyor. process hacker ile başlatılan sürece tıklayıp bellek verilerini görüntüleyebiliriz.

Burada, birçok stringi görebiliyoruz.
Bu stringlerde ne çıkarabiliriz? SMTP ve POP gibi çeşitli protokoller ve Filezilla ve Internet Explorer gibi çeşitli araçlarla birlikte Kullanıcı Adı ve Parolaya atıfta bulunan çok sayıda string bulunuyor. Bu, örneğin kullanıcıların kullandığı çeşitli araçlardan kimlik bilgilerini çalmaya çalışan infoStealers sınıfınfa bir zararlı yazılım olduğunu gösterir.
Stringler içinde farklı görünen ama yine de bir anlamı olan garip isimler arayın (bunun için çok sabırlı olmanız gerekir). Tüm bu stringler arasında bir de YUIPWDFILE0YUIPKDFILE0YUICRYPTED0YUI1.0 stringi var ki bu string çok tuhaf görünüyor ama aynı zamanda CRYPTED ve FILE0 gibi kelimelerden oluşan bir yapıya sahip.

Google'da bu stringi aradığımızda, örneğimizle aynı aileye ait olan Pony Loader veya Fareit gibi diğer zararlı yazılım örnekleri için birçok analiz raporuna işaret eder.
Debuging
Örneği assembly kodıuna çevirip yürütmek, yaptığı çağrıları görmemiz açısından faydalı olabilir. OllyDbg bu noktada bize yardımcı olacak.
Öncelikle OllyDbg üzerinde birkaç küçük ayar yapamız lazım option menüsüne geliyoruz.

Burada sol taraftan start bölümüne gelip Entry point of main module seçeneğini işaretliyoruz.

Ardından SFX bölümüne gelip kutucuklardaki tikleri kaldırıyoruz. Artık hazırız. OllyDbg ile zararlı yazılım dosyamızı açıyoruz. Açılması biraz sürebilir.

Burada OllyDbg'ın ana ekranını görüyorsunuzç Görüntü gözünüzü biraz korkutabilir. Aslında bu kısım assembly bilginize bağlı.

OllyDbg üzerindeki hızlı erişim butonları şekildeki gibidir. OllyDbg ile yazılımı satır satır çalıştırabilir ve yaptığı işlemleri gözlemleyebilirsiniz.
Davranış Olayları Analizi
Örneğimizi analiz edip çalıştırdığımızda çeşitli olayları yakalayabilen çok önemli bir başka analiz aracı olan ProcMon'a değineceğiz. Yaptığımız analizi adım adım inceleyelim.
- Örneğiniz çalıştırdığınızda başlatılan süreç(ler) üzerinde bir gözünüz olması için Process Hacker'ı çalıştırın.
- ProcMon'u başlatın ve olayları yakalamayı durdurmak için Ctrl+E tuşlarına basın. Varsayılan olarak, ProcMon sistemdeki tüm olayları yakalar ve bazen çok fazla etkinliğiniz olur.
- Görüntülediği mevcut olayları temizleyebilmek için Ctrl+X tuşlarına basın.
- Olayları yakalamaya başlayabilmeniz için Ctrl+E tuşlarına basın.
- Process Hacker aracılığıyla çalıştığından veya en azından başka alt süreçler oluşturduğundan emin olarak Sample.exe'yi çalıştırın.
- Örneği bir süre çalıştırın ve ardından ProcMon'da Ctrl+E tuşlarına basın. Ancak çok uzun süre çalıştırmak istemezsiniz; aksi takdirde, analiz edilecek çok fazla olayla boğulursunuz.
Olayları gözden geçirelim ve örnek sürecimizle doğrudan veya dolaylı olarak ilgili olaylardan herhangi bir kötü niyetli olay/gösterge fark edip edemeyeceğimize bakalım.

Tüm olaylar zararlı bir aktiviteyi gösteriyor.
- SCOHOST.EXE adında bir dosya oluşturmaya çalışıyor ki bu isim sistem programı olcan svchost.exe'ye çok yakın.
- sample.exe kendi içeriğini okuyor.
- SVOHOST.EXE'ye okudupu içeriği yazıyor. Yani kendini kopyalıyor.
İçeriğini kopyalayıp bu yeni dosyaya yapıştırmak, yaygın olarak kullanılan bir zararlı yazılım tekniğidir, burada kötü amaçlı yazılım kendilerini sistemdeki başka bir klasördeki yeni bir dosyaya kopyalar ve bu yeni klasörde bulunan bu yeni dosyadan yeni bir işlem olarak çalışır.
Autoruns
Zararlı yazılım örneği bir RUN kalıcılık girişi oluşturduğundan, bu kalıcılık RUN girişinin hala var olup olmadığını AutoRuns aracıyla doğrulayalım.

Autoruns aracı ile oluşturulan kaydı görebilirsiniz.
Kod Enjeksiyonu Tespiti
Kod enjeksiyonu çeşitli teknikler kullanılarak yakalanır. Yöntemlerden biri, belirli Win32 API'lerinin kullanımını algılar. Bu API'leri göz önünde bulundurarak ve APIMiner gibi bir araç kullanarak kod enjeksiyonunu kolayca tespit edebilirsiniz.
GMER
Zararlı yazılım örneğinin kod enjeksiyonu gerçekleştirdiğini anladığınızı varsayalım. Her kod enjeksiyon tekniği, zararlı yazılımın API hooking yapmayı planladığını veya rootkit işlevini kullanmaya çalıştığını göstermez. Ancak bu noktada kötü amaçlı yazılımın amaçlarından birinin API hooking veya rootkit olma olasılığı yüksek. Bu aşamada, GMER aracını kullanmak iyi bir adımdır.

GMER Taraması
Memory Forensics (Adli Bilişim)
Zararlı yazılım yürütüldüğünde, belirli işlemler, dosyalar, log girdileri oluşturabilir, rootkit'ler yükleyebilir vb. Bu zararlı yazılım yapıları bazen kendisitarafından yok edilebilir, böylece bir analist bunları algılayamaz. Örneğin, zararlı bir işlem, meşru bir işleme kod enjekte edildikten sonra sona erebilir veya zararlı yazılım tarafından oluşturulan geçici bir dosya kullanıldıktan sonra silinir. Adli bilişim tekniklerini kullanarak, zararlı yazılım tarafından yok edilmiş olmasına rağmen bu tür bilgileri ve verileri geri alabilirsiniz, böylece zararlı etkinlikleri tespit edebilirsiniz.
Memory Forensiğin 2 temel adımı vardır:
- Memory acquisition (bellek edinimi)
- Memory analysis (bellek analizi)
Memory Acquisition
Adli bilişim veri toplama ile başlar. Hafızaya bakmak istediğimiz için hafıza edinim araçlarını kullanmamız gerekiyor. Bellekten bir imaj (RAM dökümü) alabilen araçlardan bazıları şunlardır:
- FTK Imager
- RAM Capture
- Dump It
- Memoryze
Bellek imajını almak için FTP Imager Lite'u kullanabiiriz. Bu araç son derece hafif ve kullanımı kolaydır.

Capture memory düğmesine tıklayarak bir hafıza dökümü oluşturabilirsiniz. Oluşturulan bellek dökümü dosyası, adli bellek araçları tarafından anlaşılabilecek özel bir dosya biçimine sahiptir.
Memory Analysis
Dökümlerimizi analiz etmek için, Volatility adlı iyi bilinen bir açık kaynaklı adli bellek aracını kullanabiliriz.

volality
Volality bir komut satırı aracıdır ve aracın çıktısı çok büyükse çıktıyı komut isteminden görüntülemek sakıncalıdır. Bunun yerine komutun çıktısını bir metin dosyasına yönlendirebilirsiniz.

Komuttan help.txt dosyasına yönlendirilen çıktı artık Notepad veya Notepad++ gibi bir metin düzenleyici kullanılarak görüntülenebilir.

Ekran görüntüsü, araç tarafından sağlanan komutların listesini görüntüler. Volality çok kapsamlı bir araçtır. Bütün özelliklerini bu yazıda anlatmayacağım.

imaj bilgileri
Bellek imajını analiz etmek için pek çok komut ve teknik vardır. Bunları araştırarak öğrenebilirsiniz.
Bu yazımda dinamik analiz tekniklerine değindim. Zararlı yazılımı yürüterek nasıl analiz edebiliriz? hangi araçları kullanabiliriz bunlardan bahsettim. Yazıyı beğendiyseniz yorum yapabilirsiniz.
Zararlı Yazılım Analizine Giriş: #5 Kaynak Araştırması
Bu yazımda zararlı yazılım analizi konusunda bulduğum kaynakları listeledim. Repolar, kitaplar, siteler ve videolar bu yazıda.
Repolar
Github üzerinde zararlı yazılım analizi ile ilgili birçok repository bulunmaktadır. Bunlardan bazılarını sizler için derledim.
awesome-malware-analysis
Zararlı yazılım analizi araçlarının ve kaynaklarının derlenmiş bir listesi ve araçlar hakkında ayrıntılı bilgileri bu repoda bulabilirsiniz.
Bu linkten erişebilirsiniz:
https://github.com/rshipp/awesome-malware-analysis
malware-samples
Zararlı yazılım örneklerini bulabileceğiniz repolardır.
Bu linklerden erişebilirsiniz:
- https://github.com/jstrosch/malware-samples
- https://github.com/fabrimagic72/malware-samples
- https://github.com/InQuest/malware-samples
- https://github.com/Da2dalus/The-MALWARE-Repo
- https://github.com/mstfknn/malware-sample-library
Malware-Sample-Sources
Zararlı yazılımları bulabileceğiniz kaynak siteleri listelemiş bir repodur.
Bu linkten erişebilirsiniz:
https://github.com/Virus-Samples/Malware-Sample-Sources
Kitaplar
Zararlı yazılım analizi üzerine yazılmış kaynak kitaplar mevcuttur. Bu kaynaklardan bazılarını sizler için derledim.
Practical Malware Analysis: The Hands-On Guide to Dissecting Malicious Software
Sektörde çok bilinen ve popüler olan bıu kitapta zararlı yazılım anallizi teknikleri ve araçları ayrıntılı şekilde anlatılmakta. Küçük bir google araştırmasıyla pdfini bulabilirsiniz.

Bu linkten erişebilirsiniz:
https://www.amazon.com/Practical-Malware-Analysis-Hands-Dissecting-ebook/dp/B007ED2XDS
Malware Analysis and Detection Engineering: A Comprehensive Approach to Detect and Analyze Modern Malware
Yazılarımı hazırlarken en çok yararlandığım kaynak bu kitaptı. Bir önceki kitaba göre daha yeni bir kitap olduğu için daha yeni teknikleri de içermekte. Ayrıca detection engineering konusunu da ayrıntılı ele almakta.

Bu linkten erişebilirsiniz:
https://www.amazon.com/Malware-Analysis-Detection-Engineering-Comprehensive/dp/1484261925
Mastering Malware Analysis: The complete malware analyst's guide to combating malicious software, APT, cybercrime, and IoT attacks
Zararlı yazılım analizi alanında uzmanlaşmak isteyenlere yöneil bir kitaptır. İçeriği biraz ileri seviyedir.

Bu linkten erişebilirsiniz:
https://www.amazon.com/Mastering-Malware-Analysis-combating-cybercrime/dp/1789610788?asin=1789610788&revisionId=&format=4&depth=1
Kaynak Siteler
Zararlı yazılım analizi alanında çalışırken kullanmanız gereken veya kullanabilecğiniz websitelerini bu kısımda derledim.
SANS
Zararlı Yazılım Analizi alanında pek çok çözümü bulunan ve bizlere bu teknolojilerin bir kısmını sunan bir şirkettir.
Blog sayfasından ayrıntıları öğrenebilirsiniz:
https://www.sans.org/blog/how-you-can-start-learning-malware-analysis/
ANY.RUN
Etkileşimli Online Zararlı Yazılım Analizi Sandbox platformudur. Bu site üzerinde zararlı yazılım alanında pek çok bilgi bulabilirsiniz. Dahası pek çok zararlı yazılımın hash bilgisini girerek o örneği indirebilirsiniz.
Bu linten ulaşabilirsiniz:
https://app.any.run/
Malware Bazaar
Bir zaararlı yazılım veritabanıdır diyebiliriz. Zararlı yazılım örneklerini indirip yükleyebilileceğimiz bir platform

Bu linkten ulaşabilirsiniz:
https://bazaar.abuse.ch/
VirusShare
VirusShare, Corvus Forensics tarafından barındırılan ve sürdürülen bir hizmettir.

Videolar
Youtube üzerinde zararlı yazılım analizi ile ilgili pek çok video, çalma listesi ve kanal bulunmaktadır. Bu kısımda bu içerikleri derledim.
SANS Digital Forensics and Incident Response
Zararlı yazılım ve çok daha geniş konularda video eğitimler barınıran bir kanal.
Bu linkten ulaşabilirsiniz:
https://www.youtube.com/@SANSForensics
Beyaz Åapkalı Hacker
Youtube üzerindeki nadir türkçe kanallardan biri. Zararlı yazılım analizi ile ilgili de küçük bir serisi var.
Bu linkten ulaşabilirsiniz:
https://youtube.com/playlist?list=PLF7uV-A3fhIBpCzOsnvA0r4BBHTH8p70G
HackerSploit
Youtube üzerinde hacking alanında bir çok video serisi bulunan bir kanaldır. Zararlı yazılım analizi alanında olan bir serisi de var.
Bu linkten ulaşabilirsiniz:
https://youtube.com/playlist?list=PLBf0hzazHTGMSlOI2HZGc08ePwut6A2Io
PBER ACADEMY
Youtube üzerinde siber güvenlik alanında eğitim videolarıni barındıran bir kanal. Zararlı yazılım analizi üzerine bir serisi de mevcut.
Bu linkten ulaşabilirsiniz:
https://youtu.be/vr1Bt38lwMg
Bu yazımda zararlı yazılım üzerine yaptığım araştırmalar sonucunda bulduğum kaynakları paylaştım. Bu kaynaklar ile zararlı yazılım analizi alanında kendinizi daha da geliştirebilirsiniz. Eklemeyi unuttuğum kaynak var ise yorumlara yazabilirsiniz.