Merhaba ben Mustafa73 Lojistik Tim adına paylaşım yapıyorum.
Zararlı Yazılım Analizi makalesinde sizi görmekten mutluyum.
Zararlı yazılım analizi, şüpheli dosyaların veya URL'lerin davranışlarını ve amaçlarını anlamak için yapılan bir süreçtir. Bu süreç, güvenli ve kontrol edilebilir bir laboratuvar ortamında gerçekleştirilmelidir. Analiz için kullanılan sanallaştırma uygulamaları, zararlı yazılımın izole edilmiş bir sanal makinede (VM) kalmasını sağlayacak güçlü izolasyon ve kumanda özelliklerine sahip olmalıdır. Ayrıca, zararlı yazılım tarafından yapılan değişiklikleri geri almak ve VM'yi her analiz oturumu için bilinen iyi bir duruma sıfırlamak için snapshot alma ve geri yükleme özelliği sunmalıdır.
Sanallaştırma uygulamalarının seçiminde dikkate alınması gereken bazı önemli noktalar şunlardır:
- İzolasyon ve Kumanda Yetenekleri: Host sistem ile sanal ortam arasında güçlü bir izolasyon sağlayan teknolojiler tercih edilmelidir.
- Snapshot ve Geri Yükleme: Zararlı yazılım tarafından yapılan değişiklikleri geri almak ve VM'yi hızlı bir şekilde temiz bir duruma getirebilmek için snapshot özelliği önemlidir.
- Ağ Yapılandırması: VM'nin ağ bağlantısını analiz sırasında kontrol etmek için ağ ayarlarını yapılandırma seçenekleri sunmalıdır.
- Performans: Malware analizi kaynak yoğun olabilir. İyi performans sunan ve önemli bir yük getirmeyen bir sanallaştırma çözümü seçilmelidir.
- Uyumluluk: Analiz için kullanmayı planladığınız işletim sistemlerini desteklediğinden emin olun.
- Snapshot Paylaşımı ve İşbirliği: Snapshot'ları başkalarıyla paylaşmayı veya işbirliği yapmayı planlıyorsanız, sanallaştırma teknolojisinin snapshot'ları dışa aktarma ve içe aktarma özelliğini desteklediğinden emin olun.
- Topluluk Desteği ve Dokümantasyon: Sanallaştırma teknolojisinin aktif bir topluluğu veya kullanıcı tabanı olup olmadığını kontrol edin.
- Lisanslama ve Maliyet: Sanallaştırma teknolojisinin lisans modelini ve ilişkili maliyetleri göz önünde bulundurun.
Güncel popüler sanallaştırma teknolojileri ve özellikleri şunlardır:
- VMware Workstation: Mükemmel performans ve kararlılık sunar. Snapshot, klonlama ve gelişmiş ağ seçenekleri gibi zengin özellik setine sahiptir.
- KVM: Linux üzerinde çalışır ve genellikle zararlı yazılımlar tarafından göz ardı edilir, bu da onu Anti-VM tekniklerini kullanan zararlı yazılımlar için faydalı kılar.
- ESXi: Sanallaştırma yapabilen bir işletim sistemidir ve birden fazla sanal işletim sisteminin aynı anda çalışmasına olanak tanır.
- VirtualBox: Ücretsizdir ve snapshot gibi özellikler sunar, bu da onu birçok kişi için tercih edilen bir seçenek yapar.
Zararlı yazılım analizi, güvenlik uzmanlarının tehditleri anlamaları ve mücadele etmeleri için kritik bir süreçtir. İşletim sistemi seçimi, bu sürecin önemli bir parçasıdır çünkü analiz edilecek zararlı yazılımın davranışlarını doğru bir şekilde gözlemlemek ve anlamak için uygun bir ortam sağlamalıdır.
Sanallaştırma ve İşletim Sistemi Seçimi:
Sanallaştırma, zararlı yazılımların analiz edildiği izole edilmiş bir ortam oluşturur. Bu ortamda, zararlı yazılımın çalıştırılacağı ve analiz edileceği işletim sistemi dikkatlice seçilmelidir. Ayrıca, ağ trafiğini izleyen ve sahte hizmetler sunan ikinci bir ortam da kurulmalıdır.
Analiz Edilecek Ortamın Özellikleri:
Zararlı yazılımlar genellikle iki bölümden oluşur: Birinci bölüm, yükleyici (loader) olarak bilinir ve sistemde ilk çalışan bölümdür. İkinci bölüm ise zararlı yazılımın asıl amacını gerçekleştiren 'stage' kısmıdır. Zararlı yazılımın çalıştırıldığı işletim sistemi mimarisi (32 bit veya 64 bit) göz önünde bulundurularak uygun bir işletim sistemi seçilmelidir.
Windows İşletim Sistemleri ve Tavsiyeler:
Windows 10, önceki sürümlere göre daha kompleks bir yapıya ve daha yüksek kaynak tüketimine sahiptir. Bu nedenle, düşük versiyonları hedefleyen zararlı yazılımlar Windows 10'da çalışmayabilir. Windows 10, arka planda interneti kullanan servisler nedeniyle zararlı analizi için önerilmemektedir. Bu servisler, zararlı olmayan verilerle dolu ağ trafiği üreterek analizi zorlaştırabilir.
Windows 7 ve Windows XP arasında seçim yaparken, kullanılacak donanımın gücü göz önünde bulundurulmalıdır. Windows 7, Windows XP'ye göre daha fazla kaynak tüketir. Windows XP kullanılıyorsa, Service Pack 3'ün yüklü olması önemlidir çünkü bu, sistemdeki eksiklikleri ve hataları giderir ve yeni zararlı yazılımların analizini mümkün kılar.
Güncel İşletim Sistemleri ve Sanallaştırma:
Microsoft'un Hyper-V teknolojisi, Windows Server 2025 (ön izleme) dahil olmak üzere çeşitli Windows Server ve Windows istemci işletim sistemlerini sanal makinelerde destekler. Windows 11, en son güncellemelerle birlikte sanal makineler için desteklenen bir işletim sistemidir. Oracle Linux KVM, Windows iş yükleri için performans iyileştirmeleri ve hata düzeltmeleri içeren güncellemeler sunar.
Service Pack 3 ve Malware Analizi:
Service Pack 3, Windows XP'nin güvenlik ve uyumluluk açısından güncel kalmasını sağlar. Malware analizi için, Service Pack 3'ün yüklü olması, sistemdeki güvenlik açıklarını kapatır ve analiz sürecini iyileştirir.
Sonuç olarak, zararlı yazılım analizi için işletim sistemi seçimi, analistin ihtiyaçlarına ve kullanılacak araçların gereksinimlerine göre yapılmalıdır. Güncel ve güvenli bir işletim sistemi, zararlı yazılımın doğru bir şekilde analiz edilmesi için kritik öneme sahiptir. Sanallaştırma ortamında, zararlı yazılımların ürün anahtarını ele geçirme riski göz önünde bulundurularak, işletim sistemi aktive edilmeden kullanılmalıdır. İşletim sistemi seçimi, zararlı yazılımın türüne ve analiz edilecek ortamın özelliklerine göre dikkatlice yapılmalıdır.
Ağı İzleyen Ortam
Ağ izleme ortamı, zararlı yazılım içeren bir işletim sistemiyle aynı sanal ağ içinde yer alarak, bu ağdaki trafiği analiz etmek ve zararlı yazılımın bulunduğu sisteme sahte hizmetler sunmak için kullanılan ikinci bir sanal işletim sistemidir. Bu tür bir ortamda, Inetsum ve Wireshark gibi ağ trafiğini izlemek ve analiz etmek için tasarlanmış programlar bulunur.
REMnux, zararlı yazılım analizi yapan uzmanlar için özel olarak hazırlanmış, önemli araçları içeren bir Linux dağıtımıdır. REMnux, zararlı yazılımların davranışlarını incelemek ve sistem düzeyindeki etkileşimlerini araştırmak için kullanılır. REMnux'un en güncel sürümü, Ubuntu 20.04 tabanlıdır ve OVA formatında sanal makine olarak indirilebilir. Sanal makineyi indirdikten sonra, kullanılan sanallaştırma yazılımına aktararak doğrudan kullanıma başlanabilir. REMnux sanal makinesini güncel tutmak için, sanal makineyi çalıştırdıktan sonra yükseltme komutunu çalıştırmak önemlidir.
REMnux'un varsayılan kullanıcı adı remnux ve parolası malware olarak ayarlanmıştır. Bu bilgiler, sanal makineye uzaktan erişim gerektiğinde veya yetkileri yükseltmek istediğinizde kullanılabilir. REMnux ve içerdiği araçlar hakkında daha fazla bilgi ve kullanım detayları için REMnux belgelerine başvurabilirsiniz.
Inetsum ve Wireshark, zararlı yazılım analizinde kullanılan önemli araçlardır. Inetsum, zararlı yazılımın ağ üzerinden iletişim kurmasını taklit ederek analiz yapılmasını sağlar, Wireshark ise ağ trafiğini yakalayıp detaylı bir şekilde inceleyerek zararlı yazılımın ağ üzerindeki etkileşimlerini gözlemlemek için kullanılır. Bu araçlar, zararlı yazılımın ağ üzerindeki davranışlarını anlamak ve güvenlik tehditlerini tespit etmek için kritik öneme sahiptir.
Sanal Ağ Oluşturma
1. Windows İşletim Sistemi: Zararlı yazılımın gerçek bir ağa erişimini engellemek için, sanal bir ağ oluşturulur. Bu ağda, zararlı yazılımı çalıştırmak üzere hazırlanan Windows işletim sistemi bulunur.
2. REMnux İşletim Sistemi: Gözlemci olarak kullanılan REMnux, zararlı yazılımın davranışlarını analiz etmek için kullanılır.
3. Host Only Ağ Yapılandırması: Sanal makinelerin internete çıkışını engellemek için, ağ yöneticisinde 'host only' seçeneği seçilir.
4. Özel Ağ Yapılandırması (Custom Network): Daha güvenli bir izolasyon için, VMware'de 'Edit > Virtual Network Editor' seçilerek yeni bir sanal ağ arayüzü oluşturulur. Örneğin, vmnet2 adında bir ağ arayüzü oluşturulup, 10.10.10.0 subnet maskesi atanabilir.
5. Ağ Bağdaştırıcısının Ayarlanması: Oluşturulan sanal ağ, her iki işletim sisteminde de 'VM-Settings-Network Adaptor' seçeneği üzerinden ayarlanır. Windows işletim sisteminde ipconfig komutu kullanılarak IP adresi kontrol edilir.
Snapshot Yönetimi
1. Snapshot Alma: VMware'de, işletim sistemi üzerindeki mevcut durumu kaydetmek için snapshot alınır. Bu, sistem zararlı yazılımla bulaştırılmadan önce yapılmalıdır.
2. Snapshot'a Geri Dönme: Daha önce alınan bir snapshot'a geri dönmek, sistemde yapılan değişiklikleri geri almak için kullanılır.
3. Snapshot Yönetimi: VMware'de bulunan yönetim araçları ile snapshot'lar yönetilir, silinir veya isimleri değiştirilebilir.
Bu süreçler, zararlı yazılım analizi yapılırken, sistemin güvenliğini sağlamak ve analiz sonrası sistemi orijinal durumuna hızlıca geri döndürebilmek için kritik öneme sahiptir. Güncel bilgilerle yapılandırma ve yönetim işlemleri, sanal ortamın güvenliğini ve analiz sürecinin doğruluğunu artırır.
Analiz Çeşitleri
Analiz türleri, kötü niyetli yazılımları anlamak ve onlarla mücadele etmek için kullanılan farklı teknikleri ifade eder. Bu analiz türlerinin detayları ve güncel bilgilerle açıklamaları şöyledir:
Statik Analiz:
Bu, kötü niyetli yazılımın çalıştırılmadan incelenmesidir. İki alt kategoriye ayrılır:
- Basit Statik Analiz: Bu, zararlı yazılımın dosya formatını belirleme, içerikte geçen kelimeleri inceleme, antivirüs programlarına karşı tepkisini ölçme, hash değerlerini karşılaştırma ve yazılımın paketlenip paketlenmediğini veya gizlenip gizlenmediğini (obfuscation) belirleme işlemlerini içerir.
- İleri Statik Analiz: Daha derin bir seviyede, IDA Pro, radare2 gibi araçlar kullanılarak, zararlı yazılımın düşük seviye kodları (disassembled code, binary code vb.) incelenir. Bağlantılı kütüphaneler, fonksiyonlar ve diğer önemli özellikler analiz edilerek yazılımın işleyişi anlaşılmaya çalışılır.
Dinamik Analiz:
Zararlı yazılımın bir laboratuvar ortamında çalıştırılarak, sistem üzerinde yaptığı değişikliklerin incelendiği analiz türüdür. İki alt kategoriye ayrılır:
- Basit Dinamik Analiz: Uygulamanın ağ üzerindeki davranışları, dosya ve kayıt defterinde yaptığı değişiklikler ve oluşturduğu süreçler gibi davranışsal özellikler incelenir.
- İleri Dinamik Analiz: Zararlı yazılım çalışırken, işlemci komutları, CPU, kayıt defterleri üzerindeki verilerin değişimi gibi daha teknik detaylar incelenir. Fonksiyon çağrılarının izlenmesi ve parametrelerinin gözlemlenmesi gibi teknikler kullanılır.
Bellek Analizi (Memory Dump Analysis):
Zararlı yazılımın hafızada kapladığı alanın kopyalanarak diske kaydedilmesi ve bu kaydedilmiş hafıza alanının analiz edilmesi işlemidir. Bu, yazılımın hafızadaki davranışlarını ve etkileşimlerini anlamak için kullanılır.
Bu analiz türleri, siber güvenlik uzmanlarının kötü niyetli yazılımları daha iyi anlamalarını ve onlara karşı daha etkili stratejiler geliştirmelerini sağlar. Her bir analiz türü, zararlı yazılımların farklı yönlerini ortaya çıkarmak için özel teknikler ve araçlar kullanır.
Örnek Zararlı Yazılım Bulma
Zararlı yazılım bulma ve analiz etme, siber güvenlik alanında önemli bir beceridir. Bu süreç, genellikle zararlı yazılımları incelemek ve onların nasıl çalıştığını anlamak için kullanılır. Bu konuda bazı kaynaklar ve güncel bilgiler şöyledir:
- CTF (Capture The Flag) Yarışmaları: CTF yarışmaları, siber güvenlik becerilerini geliştirmek için mükemmel bir yoldur. Bu yarışmalarda yer alan reverse engineering soruları, gerçek dünya senaryolarına dayalı zorluklar sunar ve katılımcıların zararlı yazılımları analiz etme yeteneklerini test eder.
- Practical Malware Analysis Kitabı: Bu kitap, zararlı yazılım analizi konusunda kapsamlı bir rehber sunar ve analistlere zararlı yazılımları güvenli bir şekilde analiz etme, hata ayıklama ve parçalama teknikleri öğretir.
- Zararlı Yazılım Örnekleri Paylaşan Siteler:
- MalwareBazaar: Zararlı yazılım örneklerini bilgi güvenliği topluluğu, antivirüs sağlayıcıları ve tehdit istihbaratı sağlayıcıları ile paylaşmayı amaçlayan bir projedir.
- VirusShare: Araştırmacıların zararlı yazılım örneklerini paylaşabileceği ve indirebileceği bir platformdur.
- The Zoo: Açık kaynaklı bir zararlı yazılım veritabanıdır ve tek bir indirme ile birçok zararlı yazılım örneğine erişim sağlar.
- Malshare: Günlük olarak binlerce zararlı yazılım örneği sunan ücretsiz bir hizmettir.
- Das Malwerk: Güncel zararlı yazılım örneklerini içeren bir site olup, araştırmacıların analiz için örnekleri indirmesine olanak tanır.
- Hybrid Analysis: Dinamik ve statik analiz için çeşitli araçlar sunan ve en son gönderilen dosyaları filtreleyebilen bir platformdur.
Bu kaynaklar, zararlı yazılım analiziyle ilgilenen kişilere pratik yapma ve becerilerini geliştirme fırsatı sunar. Ancak, bu tür sitelerden indirilen herhangi bir dosyanın potansiyel olarak zararlı olduğunu ve dikkatli bir şekilde ele alınması gerektiğini unutmamak önemlidir. Analiz için sanal makineler veya izole edilmiş sistemler kullanmak en iyisidir.
Otomatik Analiz Araçları ve Sandbox’lar
Malware sandbox'lar ve otomatik analiz araçları, zararlı yazılımların analiz edilmesi ve tehditlerin tespit edilmesi için kullanılan güçlü araçlardır. İşte bu araçların güncel bilgilerle açıklamaları:
Malware Sandbox'lar:
Malware sandbox'lar, şüpheli dosyaların güvenli bir sanal ortamda çalıştırılmasını sağlayarak, bu dosyaların sisteme, ağa ve diğer kaynaklara nasıl etki ettiğini gözlemlemek için kullanılır. Bu analizler sonucunda, zararlı yazılımların davranışları hakkında detaylı raporlar elde edilir.
Online Analiz Araçları:
Bu araçlar, internet üzerinden erişilebilen servislerdir ve kullanıcıların zararlı yazılım örneklerini yükleyerek analiz ettirmesine olanak tanır. En bilinen online analiz araçlarından bazıları şunlardır:
- Virustotal: Virustotal, dosya ve URL'lerin hash değerlerini kullanarak, çok sayıda antivirüs programıyla karşılaştırma yapar ve bu dosyaların zararlı olup olmadığına dair bilgi sunar.
- ANY.RUN: ANY.RUN, kullanıcıların şüpheli dosyaları gerçek zamanlı olarak analiz etmesine ve bu dosyaların ağ aktivitelerini, dosya değişikliklerini ve süreç ağacındaki değişiklikleri gözlemlemesine imkan tanır.
- Hybrid-Analysis: Hybrid-Analysis, yüklenen dosyaların farklı işletim sistemlerinde (Windows, Linux, Android) çalıştırılarak analiz edilmesini sağlar ve antivirüs taramalarından elde edilen sonuçları sunar.
- Threat Expert: Threat Expert, uygulamaların davranışsal analizini otomatize edilmiş programlarla inceleyen bir online zararlı yazılım analizi servisidir.
Açık Kaynak Sandbox Araçları:
Açık kaynak sandbox araçları, kullanıcıların kendi sistemlerine kurarak daha ayrıntılı analiz yapmalarına olanak tanır. Popüler açık kaynak sandbox araçlarından bazıları şunlardır:
- Cuckoo Sandbox: Cuckoo Sandbox, otomatik dinamik malware analizi için lider açık kaynak sistemidir. En son sürümü olan 2.0.7, küçük kod değişiklikleri ve sistem stabilitesini artıran iyileştirmeler içerir.
- Buster Sandbox Analyzer: Buster Sandbox Analyzer, kullanıcıların zararlı yazılımların davranışlarını analiz etmelerine yardımcı olan bir araçtır ve en son sürümü 1.92'dir.
Bu araçlar, siber güvenlik uzmanlarının zararlı yazılımları tespit etmelerine ve tehditlere karşı korunmalarına yardımcı olur.
Basit Statik Analiz
Statik analiz, bir uygulamanın çalıştırılmasına gerek kalmadan yapılan bir inceleme sürecidir. Bu süreçte, analiz için gerekli araçlar indirilir ve bir sanal ağ adaptörü olan vmnet2 üzerinden NAT ayarları yapılır. İndirilen araçlar, C sürücüsünde "AnalizProgramlari" adında bir klasörde toplanır ve bu klasör yolu, sistem ortam değişkenlerine eklenir. Böylece, "cmd" komut satırı aracılığıyla bu araçlar doğrudan çalıştırılabilir.
Aşağıda, statik analiz sürecinde kullanılan bazı araçların işlevleri hakkında bilgi verilmiştir:
- Hashcalculator: Bu araç, incelenen uygulamanın hash değerlerini hesaplar. Analistler, bu hash değerlerini kullanarak yazılımın daha önce incelenip incelenmediğini ve zararlı olup olmadığını belirleyebilir. Güncel sürümü HashCalc 2.02'dir.
- Md5sum: Linux'ta yerleşik olarak bulunan ve terminal üzerinden çalıştırılan bu araç, Windows için hazır olarak gelmez. Windows'ta md5 hash değerleri almak için md5sum-win 1.22 sürümü kullanılabilir.
- PE Viewer: PE dosya formatındaki bölümlerin bilgilerini ve bu bölümlerdeki verileri hexadecimal formatında gösteren bir araçtır. Güncel sürümü PE Tools v1.9'dur.
- Bintext: Bir program içerisinde geçen stringleri ve konumlarını bulmamızı sağlayan bir araçtır. Güncel sürümü Bintext 3.03'tür.
- Strings: Çalıştırılabilir dosyalar içerisindeki stringleri ekrana basan bir programdır. Windows için güncel bir sürümü bulunmamaktadır, ancak Sysinternals tarafından sunulan Strings aracı kullanılabilir.
- Dependency Walker: Bir PE dosyasının içerisinde yer alan dinamik olarak import edilmiş .dll ve fonksiyonları gösterir. Güncel sürümü Dependency Walker 2.2.10011'dir.
Bu araçlar, bir yazılımın güvenliğini ve işleyişini anlamak için kullanılır. Örneğin, Dependency Walker ile KERNEL32.DLL ve ADVAPI32.DLL gibi kütüphanelerin import edildiği ve bu kütüphaneler aracılığıyla sistem üzerinde dosya oluşturma gibi işlemlerin yapıldığı tespit edilebilir. Bu bilgiler, yazılımın potansiyel olarak zararlı olup olmadığını anlamada önemli ipuçları sağlar.
Detect It Easy (DIE)
Bu araç, bir programın paketlenip paketlenmediğini, hangi programlama diliyle yazıldığını, hangi derleyici ile derlendiğini, boyutunu, giriş noktasını ve içe aktarılan kütüphaneleri analiz eder. Kullanıcı dostu bir arayüze sahip olan DIE, çeşitli dosya türlerini tanımlama yeteneğine sahiptir ve açık mimarisi sayesinde kullanıcıların kendi algoritmalarını eklemelerine veya mevcut olanları değiştirmelerine olanak tanır.
Resource Hacker
Windows uygulamalarındaki kaynakları görüntülemek, değiştirmek ve yönetmek için kullanılır. PE dosyalarının .rsrc bölümünde bulunan resimler, simgeler, menüler ve dizeler gibi kaynakları düzenleyebilirsiniz. Yeni sürümleri, 32-bit kaynak dosyalarını da düzenleyebilme ve diyalog genişletme stil bayraklarını destekleme gibi özellikler eklemiştir.
PE Insider
PE dosyalarını incelemek için kullanılan bir araçtır ve PE dosyalarının bölümleri hakkında detaylı bilgi sunar.
PEiD
Bu araç, PE dosyalarında kullanılan packer ve compiler'ları tespit etmek için yaygın olarak kullanılır. Ayrıca, uygulamalarda kullanılan şifreleme algoritmalarını belirlemek için de kullanılabilir.
PEstudio
Kullanıcı dostu bir PE analiz aracıdır ve şüpheli görünen yerlerde uyarı vererek analizciye yardımcı olur. Ayrıca, analiz edilen programın Virustotal'da herhangi bir uyarı verip vermediğini kontrol edebilir.
ILSPY
.NET uygulamalarını decompile etmek için kullanılan açık kaynaklı bir araçtır. En son sürümü, .NET 8.0'a dayanır ve çeşitli performans iyileştirmeleri ve yeni dil özellikleri içerir.
CFF Explorer
PE dosyaları üzerinde düzenleme yapmak için kullanılan bir araçtır. Kaynak bölümünü değiştirme, içe aktarma ekleme ve imza tarama gibi işlevleri vardır. Ayrıca, UPX ile paketlenmiş programları kolayca açabilme özelliğine sahiptir. Güncel sürümü, ENCLog ve ENCMap .NET tablolarını eklemiş ve çeşitli hata düzeltmeleri içermektedir.
Basit Dinamik Analiz
Dinamik analiz, zararlı yazılımların çalıştırıldıktan sonra sistem üzerindeki etkilerini inceleyen bir süreçtir. Bu süreçte, zararlı yazılımın ağ trafiği, dosya ve kayıt günlüklerinde yaptığı değişiklikler, ve oluşturduğu ya da sonlandırdığı işlemler gözlemlenir. Ayrıca, zararlı yazılımın kodunun nasıl çalıştığını ve hangi değişiklikleri yaptığını adım adım takip etmek de bu sürecin önemli bir parçasıdır.
Ağ Trafiği Analiz Araçları:
Gerçek ağ ortamından izole edilmiş bir sistemde, zararlı yazılımın davranışlarını analiz etmek için kullanılan araçlar vardır. Bu araçlar, zararlı yazılımın ağ trafiğini taklit edilen servisler üzerinden yönlendirilmesini ve trafiğin dinlenmesini sağlar.
apateDNS:
apateDNS, DNS spoofing amacıyla geliştirilmiş bir araçtır. Zararlı yazılımın DNS sorgularını yakalar ve kullanıcının belirlediği bir IP adresine yönlendirilmiş yanıtlar verir. Bu sayede, zararlı yazılımın ağ üzerindeki etkileşimleri kontrol altına alınabilir.
Netstat:
Netstat, ağ bağlantıları, yönlendirme tablosu, arabirim istatistikleri gibi ağ bilgilerini gösteren bir komut satırı aracıdır. Linux ve Windows işletim sistemlerinde kullanılabilir ve çeşitli parametreler içerir. Örneğin, -a parametresi tüm aktif bağlantıları, -n parametresi IP adresleri gibi sayısal değerleri gösterir.
Tcpview:
Tcpview, Microsoft tarafından geliştirilmiş, netstat'ın daha kullanıcı dostu bir alternatifi olan bir araçtır. Ağ üzerindeki TCP ve UDP bağlantı noktalarını ve bu bağlantılara ait detayları gösterir.
Netcat:
Netcat, ağ üzerinde port dinlemek veya bağlantı başlatmak için kullanılan popüler bir araçtır. Zararlı yazılım analizinde, zararlı yazılımın gönderdiği ağ isteklerini yakalayıp gösterir. `-l` parametresi ile dinleme modunda çalışır ve `-p` ile dinlenecek port numarası belirlenir.
Ayrıca, Kali Linux gibi işletim sistemleri içerisinde yer alan güncel siber güvenlik araçları da bu tür analizler için tercih edilebilir.
INetSim
INetSim, zararlı yazılımların ağ üzerindeki davranışlarını analiz etmek için kullanılan bir simülasyon aracıdır. Bu araç, zararlı yazılımların genellikle kullandığı standart HTTP, HTTPS, FTP, IRC, DNS, SMTP gibi çeşitli internet servislerini taklit eder. INetSim, zararlı yazılımların bu servislere olan bağlantılarını yakalayıp, analiz etmek için kullanılır ve bu sayede güvenlik uzmanları, zararlı yazılımların ağ trafiğini detaylı bir şekilde inceleyebilir.
INetSim, Remnux adlı özel bir Linux dağıtımında önceden yüklenmiş olarak gelir. Remnux, zararlı yazılım analizi için özelleştirilmiş araçlar içeren bir işletim sistemidir ve INetSim'in yanı sıra birçok farklı güvenlik aracını da içerir.
Ağ simülasyonu kurulumunda, Windows işletim sistemi üzerinde DNS sunucusu olarak 127.0.0.1 IP adresi atanır. ApateDNS adlı bir araç kullanılarak, DNS isteklerine Remnux işletim sisteminin IP adresi ile yanıt verilmesi sağlanır. Bu, zararlı yazılımın tüm ağ trafiğinin Remnux sistemine yönlendirilmesine olanak tanır. Remnux üzerinde, INetSim'in yapılandırma dosyası olan /etc/inetsim/inetsim.conf üzerinde gerekli ayarlamalar yapılır ve inetsim komutu ile servisler aktif hale getirilir.
Wireshark
Wireshark, ağ üzerindeki paketleri canlı olarak yakalayan ve derinlemesine analiz etmeye yarayan popüler bir açık kaynaklı paket analiz aracıdır. Wireshark, zararlı yazılımın bulaştığı makinede veya trafiğin yönlendirildiği makinede çalıştırılarak, ağ trafiğini yakalar ve analiz eder. Kullanıcılar, Wireshark'ın "Follow TCP Stream" özelliğini kullanarak, bir TCP bağlantısı üzerinden geçen verileri bir akış olarak görüntüleyebilir ve bu veriler üzerinde analiz yapabilir.
Dosya Ve Kayıt Defteri Analizi Araçları
Zararlı yazılım analizi, bilgisayar sistemlerindeki güvenlik tehditlerini tespit etmek için kullanılan önemli bir süreçtir. Bu süreçte, zararlı yazılımların sistemde yarattığı değişiklikleri izlemek için çeşitli araçlar kullanılır. İki temel araç Regshot ve CaptureBat'tır.
Regshot, Windows kayıt defterindeki değişiklikleri tespit etmek için kullanılan bir araçtır. Kullanımı oldukça basittir; ilk olarak zararlı yazılım çalıştırılmadan önce bir kayıt defteri anlık görüntüsü (snapshot) alınır. Bu, '1.Shot' olarak adlandırılır. Zararlı yazılım çalıştırıldıktan sonra, ikinci bir anlık görüntü alınır ve bu '2.Shot' olarak adlandırılır. Daha sonra, bu iki anlık görüntü 'compare' (karşılaştırma) işlemiyle karşılaştırılır ve sistemde yapılan değişiklikler bir rapor halinde sunulur. Bu rapor, zararlı yazılımın kayıt defterinde hangi değişiklikleri yaptığını gösterir.
CaptureBat, ise hem dosya sistemini hem de kayıt defterini izleyen ve değişiklikleri kaydeden bir terminal uygulamasıdır. Bu araç, -c parametresi ile silinen veya değiştirilen dosyaları, -n parametresi ile ağ üzerindeki aktiviteleri ve -l parametresi ile de bu bilgileri bir metin dosyasına kaydetme yeteneğine sahiptir. CaptureBat, zararlı yazılımların dosya ve kayıt defteri üzerinde yaptığı değişiklikleri ve ağ trafiğini detaylı bir şekilde analiz edebilir. Bu araçlar, zararlı yazılımların bıraktığı izleri takip ederek, güvenlik uzmanlarının tehditleri daha iyi anlamasına ve müdahale etmesine olanak tanır. Güncel sürümleri ve kullanım detayları için, Regshot ve CaptureBat'ın resmi web sitelerini veya güvenilir yazılım depolarını ziyaret etmek faydalı olacaktır.
Process Analiz Araçları
Process analizi, bir bilgisayar sisteminin performansını, güvenliğini ve işleyişini anlamak için kritik bir süreçtir. Bu analiz, sistemdeki processlerin (uygulamaların ve hizmetlerin) nasıl çalıştığını, kaynak kullanımını ve sistem üzerindeki etkilerini detaylı bir şekilde incelemeyi içerir. Microsoft'un System Internal Suite araçları, bu tür analizler için güçlü ve kapsamlı çözümler sunar. Bu araçların bazıları ve güncel özellikleri şöyledir:
- Procmon (Process Monitor): Bu araç, sistem çağrılarını, kayıt defteri, dosya, ağ ve process/thread etkinliklerini gerçek zamanlı olarak izler. Kullanıcılar, belirli olayları filtreleyerek ve izlemeyi sadeleştirerek, aradıkları bilgilere hızlıca ulaşabilirler. Procmon, sistemde meydana gelen değişiklikleri ve etkinlikleri derinlemesine analiz etme yeteneğine sahiptir.
- Process Explorer: Bu araç, Windows Görev Yöneticisi'nden daha detaylı bilgi sunar. Çalışan processlerin listesini, hangi dosyalardan ve klasörlerden çalıştıklarını gösterir. Processlerin hiyerarşik yapısını ve ilişkili DLL'leri görselleştirir. Ayrıca, bir processin bellek dökümünü almak için de kullanılabilir.
- Autoruns: Sistem başladığında otomatik olarak çalışan programları, servisleri ve DLL'leri listeler. Kullanıcılar, zararlı yazılımları tespit etmek ve kaldırmak için bu aracı kullanabilirler. Autoruns, sistemdeki otomatik başlatma konumlarının en kapsamlı bilgisine sahip olan bir araçtır.
Bu araçlar, sistem yöneticilerine ve güvenlik uzmanlarına, potansiyel sorunları tespit etme ve çözme konusunda büyük yardımcı olur. Güncel sürümleri, daha fazla uyumluluk ve yeni özelliklerle donatılmıştır, böylece kullanıcılar sistemlerini daha iyi koruyabilir ve optimize edebilirler.
İleri Analiz Araçları
İleri analiz araçları, yazılımın nasıl çalıştığını anlamak ve güvenlik açıklarını bulmak için kullanılan güçlü araçlardır. Bu araçlar, yazılımın makine kodunu anlaşılır assembly diline çevirerek (disassembly) veya yazılımı çalıştırarak ve davranışını izleyerek (dinamik analiz) analiz eder. Bu araçların bazıları ve güncel bilgileri şöyledir:
- IDA (Interactive Disassembler): Tersine mühendislik ve zararlı yazılım analizi için en popüler araçlardan biridir. Disassembler ve debugger olarak iki ana işlevi vardır. Çeşitli dosya formatlarını destekler ve kod akışını grafiksel olarak gösterir. Kullanıcılar, analiz süreçlerini kaydedebilir, fonksiyon isimleri verebilir ve yorum satırları ekleyebilir. IDA'nın en güncel sürümü IDA 8.4.240320 (SP1) ve ücretsiz sürümü IDA Free olarak mevcuttur.
- BinDiff: İki binary dosya arasında karşılaştırma yaparak benzerlikleri ve farklılıkları bulan bir eklentidir. Güncellemeleri ve yeni sürümleri GitHub üzerinden takip edilebilir.
- IDAPython: Python scriptleri yazarak IDA'nın işlevselliğini genişletmeye yarayan bir eklentidir. IDAPython şu anda Python 3 ile uyumlu çalışmaktadır ve bu geçiş, IDA 7.4 sürümünden itibaren başlamıştır.
- Radare2: IDA'ya alternatif olarak geliştirilen, terminal tabanlı bir disassembly aracıdır. Çeşitli dosya formatlarını ve işletim sistemlerini destekler. En güncel sürümü 5.9.0 olarak GitHub üzerinden erişilebilir durumdadır.
- Hopper: Özellikle macOS ve Linux için tasarlanmış bir disassembler ve debugger'dır. Kullanıcı arayüzü ve işlevselliği ile dikkat çeker. En son güncelleme 14 Mart 2024 tarihinde yapılmıştır.
- Immunity Debugger: Özellikle exploit geliştirme ve zararlı yazılım analizi için kullanılan bir debugger'dır. Son sürümü 1.85 olarak mevcuttur.
- Ollydbg: Windows için geliştirilmiş bir 32-bit debugger'dır. Geliştirilmesi durdurulmuş olup, son sürümü v1.10 olarak bulunabilir.
- x64dbg: Windows için açık kaynaklı bir debugger'dır ve özellikle tersine mühendislik ve zararlı yazılım analizi için optimize edilmiştir. En güncel snapshot 11 Nisan 2024 tarihinde yayınlanmıştır.
Bu araçlar, yazılımın nasıl çalıştığını anlamak, güvenlik açıklarını bulmak ve hatta zararlı yazılımları analiz etmek için kullanılır. Her biri, belirli ihtiyaçlara göre farklı özellikler sunar ve güvenlik araştırmacıları tarafından sıklıkla tercih edilir.
IDA
IDA, zararlı yazılım analizi, tersine mühendislik ve güvenlik açığı araştırmaları için tercih edilen bir disassembler ve debugger aracıdır. Çeşitli dosya formatlarını destekler, kod akışını grafiksel olarak gösterir, çalışmaları kaydetme, fonksiyon isimlendirme, modifikasyon yapma, stack analizi ve yerel değişken tanımlama gibi özelliklere sahiptir. Ayrıca, çeşitli eklentilerle genişletilebilir bir yapıya sahiptir.
IDA'nın Güncel Özellikleri:
- En son sürümü IDA 8.4.240320 (SP1)'dir ve 20 Mart 2024 tarihinde güncellenmiştir.
- IDA Free, kısıtlı kullanım için ücretsiz bir versiyondur ve hem 32-bit hem de 64-bit uygulamaları analiz edebilir.
- IDA Pro, daha gelişmiş özellikler sunar ve çeşitli işlemcileri, dosya formatlarını destekler ve yerel ve uzaktan hata ayıklama özellikleri içerir.
BinDiff Eklentisi:
- BinDiff, iki ikili dosya arasındaki benzerlikleri ve farklılıkları karşılaştırmak için kullanılır.
- En son sürümü BinDiff 8'dir ve IDA Pro 8.3 ile uyumludur.
IDAPython Eklentisi:
- IDAPython, IDA içinde Python scriptleri yazmanıza olanak tanır.
- IDAPython'un en son sürümleri GitHub üzerinden https://github.com/idapython/src erişilebilir durumdadır.
Radare2:
- Radare2, IDA'ya bir alternatif olarak geliştirilmiş, terminal tabanlı bir disassembler'dır.
- En son sürümü 5.9.0 ve kod adı "Hyperborean" olarak belirlenmiştir.
- Çeşitli dosya formatlarını ve işletim sistemlerini destekler, betik, komut satırı, görsel ve paneller aracılığıyla interaktif modlarda çalışabilir.
Hopper
- Linux ve Mac OS için tasarlanmış bir disassembly aracıdır.
- Uygulamaları decompile edebilir ve debug işlemleri yapabilir.
- Cocoa framework (Mac OS için) ve Qt 5 (Linux için) kullanarak yerel bir deneyim sunar.
- Prosedür analizi, kontrol akışı grafiği ve pseudo-code sunumu gibi özellikleri vardır.
- Python scriptleri ile özelleştirilebilir ve LLDB veya GDB ile dinamik analiz yapılabilir.
Ollydbg:
- Microsoft Windows için 32-bit assembler seviyesinde bir analiz ve debug aracıdır.
- Kaynak kodu olmayan durumlarda binary kod analizi için kullanışlıdır.
- Plugin desteği ile genişletilebilir ve MASM veya IDEAL formatlarını destekler.
- OllyDump eklentisi ile bellek dökümü alabilir.
Immunity Debugger:
- Ollydbg benzeri bir arayüz ve işlevsellik sunar.
- Python scriptleri ve API kullanımına izin vererek ek özellikler ekler.
- Ollydbg için yazılmış eklentileri Immunity Debugger ile kullanılabilir hale getirir.
x64dbg:
- Açık kaynaklı, Windows için x64/x32 debugger aracıdır.
- Malware analizi ve reverse engineering için optimize edilmiştir.
- Güçlü bir plugin sistemi ve scripting language içerir.
API Monitor:
- Uygulamaların ve servislerin yaptığı API çağrılarını izlemeye ve kontrol etmeye yarayan bir araçtır.
- Breakpoint özelliği ile API çağrılarına müdahale edilebilir ve programın işleyişinde değişiklikler yapılabilir.
- API filtreleme özelliği ile belirli API çağrılarını listeleyebilir ve parametreleri inceleyebilirsiniz.
Bellek Dökümü Analizi
Bellek dökümü analizi, bir bilgisayar sisteminin çalışan uygulamalarının ve işletim sisteminin anlık durumunu kaydetmek için kullanılan bir yöntemdir. Bu işlem, özellikle zararlı yazılım analizi ve hata ayıklama gibi durumlarda önemlidir. Bellek dökümü, sistemde çalışan tüm süreçlerin, modüllerin, ağ bağlantılarının ve diğer önemli bilgilerin bir kopyasını oluşturur.
Bellek dökümü analizi için kullanılan bazı popüler araçlar şunlardır:
- Memoryze: Canlı sistemlerde bellek analizi yapmak için kullanılan ücretsiz bir araçtır. Bellek görüntüleri oluşturabilir ve analiz edebilir.
- DumpIt: Kullanıcı dostu bir arayüzle fiziksel bellek dökümü yapmayı sağlayan bir araçtır.
- Process Explorer: Microsoft tarafından geliştirilen bir araç olup, sistemde çalışan süreçler hakkında detaylı bilgi sağlar ve bellek dökümü yapılmasına olanak tanır.
- Process Hacker: Sistem kaynaklarını izlemek, yazılım hatalarını ayıklamak ve zararlı yazılımları tespit etmek için kullanılan çok amaçlı bir araçtır.
- LordPE: PE dosyalarını düzenlemek, analiz etmek ve onarmak için kullanılan gelişmiş bir araçtır.
- OllyDump: OllyDbg için geliştirilmiş bir eklenti olup, hedeflenen sürecin bellek dökümünü almayı sağlar.
Bu araçlar, sistem üzerinde derinlemesine analiz yapmak ve potansiyel tehditleri tespit etmek için kullanılır. Özellikle, zararlı yazılımların tespiti ve unpack işlemleri için kritik öneme sahiptirler. Gelişmiş kullanıcılar ve sistem yöneticileri tarafından sıkça tercih edilirler.
Bellek Dökümü Analiz Araçları
Bellek dökümü analiz araçları, bilgisayar sistemlerindeki bellek dökümlerini incelemek için kullanılan özel programlardır. Bu araçlar, özellikle siber güvenlik ve olay müdahale durumlarında, zararlı yazılımların tespiti ve sistem hatalarının analizi gibi amaçlarla kullanılır. İki popüler bellek dökümü analiz aracı Volatility ve Mandiant Redline'dır.
Volatility, Linux, Windows, Mac ve Android işletim sistemleri için bellek analizi yapabilen açık kaynaklı bir araçtır. Python ile yazılmıştır ve çeşitli bellek dökümü formatlarını destekler. Volatility, zararlı yazılımların bulaştığı sistemler yerine, temiz bir sistem üzerinde çalıştırılarak güvenli bir analiz ortamı sağlar. Örneğin, Remnux işletim sistemi üzerinde Volatility önceden yüklenmiş olarak gelir ve analiz için hazır bir ortam sunar.
Volatility'nin kullanımı, komut satırı aracılığıyla gerçekleştirilir ve çeşitli parametrelerle farklı analizler yapılabilir. Örneğin, -f parametresi ile analiz edilecek bellek dökümü dosyası belirtilir ve imageinfo komutu ile dökümün hangi işletim sistemine ait olduğu bilgisi elde edilir. Diğer parametreler arasında pslist, connection, connscan, sockets, memdump, malfind, cmdscan ve iehistory gibi komutlar bulunur. Bu komutlar, çalışan işlemleri, ağ bağlantılarını, bellekteki zararlı kodları ve daha birçok önemli bilgiyi listelemek için kullanılır.
Mandiant Redline, özellikle Windows sistemleri için tasarlanmış kullanıcı dostu bir grafik arayüz sunar. Redline, şüpheli metadata, kayıt defteri girdileri, olay günlükleri, servisler, görevler ve internet geçmişi gibi bilgileri analiz ederek kullanıcılara sunar. Bu araç, bellek dökümünde bulunan şüpheli aktiviteleri tespit etmek ve bir tehdit değerlendirme profili oluşturmak için kullanılır.
Güncel bellek analizi araçları arasında Eclipse Memory Analyzer, RAMMap ve SANS SIFT gibi araçlar da bulunmaktadır. Eclipse Memory Analyzer, Java yığın belleği analizi için kullanılır ve bellek sızıntılarını bulmaya ve bellek tüketimini azaltmaya yardımcı olur. RAMMap, Windows Vista ve daha yeni sürümler için fiziksel bellek kullanımını analiz eden bir araçtır. SANS SIFT ise, dijital adli analiz ve olay müdahalesi için kullanılan bir araç setidir.
Bu araçlar, siber güvenlik profesyonellerine, sistem yöneticilerine ve adli analiz uzmanlarına, sistemlerdeki olayları daha iyi anlamaları ve yanıtlamaları için güçlü yetenekler sunar.
Anti Analiz Tekniklerini Engellemek İçin Kullanılan Programlar
Zararlı yazılım analizini zorlaştırmak için kullanılan teknikler ve bu tekniklere karşı kullanılan programlar şunlardır:
1. Anti Debugging: Yazılımın hata ayıklama sürecini engellemek için çeşitli yöntemler kullanılır. Bunlar arasında API çağrıları, işlem ortam bloğu (PEB) üzerinden bayrak kontrolü, kesme noktası tespiti, hata ayıklayıcıya müdahale ve zamanlama farklılıkları sayılabilir. Bu tekniklere karşı önlemler:
- Dinamik kod analizi yaparken, kontrol mekanizmalarını tespit edip sorunu çözmek.
- OllyAdvanced, HideDebugger, Phantom gibi hata ayıklayıcı eklentileri ve IDA için idastealth eklentisi kullanmak.
2. Anti-VM: Sanal makine kullanımını tespit etmek için işlem, kayıt defteri, bellek, dosya ve donanım bilgilerinde sanallaştırma izleri aranır. Bu tekniklere karşı önlemler:
- Dinamik kod analizi sırasında kontrol mekanizmalarını bulup sorunu çözmek.
- ScoopyNG aracı kullanmak.
- Sanal makine yardımcı uygulamalarını (VMWare Tools, VirtualBox Guest Additions vb.) kaldırmak.
3. Anti Disassembly: Bu teknik, programın kaynak kodunun statik analiz sürecinde anlaşılmasını zorlaştırır.
4. Obfuscation: Programın kaynak kodunu karmaşıklaştırarak gizler ve analizini engeller. .NET uygulamaları için De4dot gibi araçlar kullanılabilir.
5. Packed: Dosya boyutunu küçültmek ve statik analiz sürecinde içeriğin incelenmesini zorlaştırmak için paketleme işlemi yapılır. Paketleme yöntemlerini tespit etmek için Peid, Detect It Easy gibi programlar kullanılır. Unpack işlemi için ise UPX, PECompact, ASPack, Petite, WinUpack, Themida gibi popüler paketleme programlarından biri kullanılır. Packed edilmiş bir uygulamayı manuel olarak unpack etmek için:
- Uygulama bir debugger ile çalıştırılır ve orijinal giriş noktası (OEP) tespit edilir.
- Çalışan uygulama dump edilir (Lord PE, ollydump, process explorer vb. kullanılarak).
- IAT değerini düzeltmek için ImpREC programı kullanılır, OEP değeri girilir, importlar elde edilir ve dump edilmiş programın üzerine FixDump seçeneği ile kaydedilir.
Bu teknikler ve programlar, zararlı yazılım geliştiricilerinin analiz süreçlerini zorlaştırma amacıyla kullandıkları yöntemlerdir ve güvenlik uzmanları tarafından bu tekniklere karşı önlemler alınmaktadır. Güncel bilgiler ışığında, bu tekniklerin ve programların sürekli olarak geliştirildiği ve güncellendiği unutulmamalıdır.
LOJİSTİK TİM SUNDU
Zararlı Yazılım Analizi makalesinde sizi görmekten mutluyum.
Zararlı yazılım analizi, şüpheli dosyaların veya URL'lerin davranışlarını ve amaçlarını anlamak için yapılan bir süreçtir. Bu süreç, güvenli ve kontrol edilebilir bir laboratuvar ortamında gerçekleştirilmelidir. Analiz için kullanılan sanallaştırma uygulamaları, zararlı yazılımın izole edilmiş bir sanal makinede (VM) kalmasını sağlayacak güçlü izolasyon ve kumanda özelliklerine sahip olmalıdır. Ayrıca, zararlı yazılım tarafından yapılan değişiklikleri geri almak ve VM'yi her analiz oturumu için bilinen iyi bir duruma sıfırlamak için snapshot alma ve geri yükleme özelliği sunmalıdır.
Sanallaştırma uygulamalarının seçiminde dikkate alınması gereken bazı önemli noktalar şunlardır:
- İzolasyon ve Kumanda Yetenekleri: Host sistem ile sanal ortam arasında güçlü bir izolasyon sağlayan teknolojiler tercih edilmelidir.
- Snapshot ve Geri Yükleme: Zararlı yazılım tarafından yapılan değişiklikleri geri almak ve VM'yi hızlı bir şekilde temiz bir duruma getirebilmek için snapshot özelliği önemlidir.
- Ağ Yapılandırması: VM'nin ağ bağlantısını analiz sırasında kontrol etmek için ağ ayarlarını yapılandırma seçenekleri sunmalıdır.
- Performans: Malware analizi kaynak yoğun olabilir. İyi performans sunan ve önemli bir yük getirmeyen bir sanallaştırma çözümü seçilmelidir.
- Uyumluluk: Analiz için kullanmayı planladığınız işletim sistemlerini desteklediğinden emin olun.
- Snapshot Paylaşımı ve İşbirliği: Snapshot'ları başkalarıyla paylaşmayı veya işbirliği yapmayı planlıyorsanız, sanallaştırma teknolojisinin snapshot'ları dışa aktarma ve içe aktarma özelliğini desteklediğinden emin olun.
- Topluluk Desteği ve Dokümantasyon: Sanallaştırma teknolojisinin aktif bir topluluğu veya kullanıcı tabanı olup olmadığını kontrol edin.
- Lisanslama ve Maliyet: Sanallaştırma teknolojisinin lisans modelini ve ilişkili maliyetleri göz önünde bulundurun.
Güncel popüler sanallaştırma teknolojileri ve özellikleri şunlardır:
- VMware Workstation: Mükemmel performans ve kararlılık sunar. Snapshot, klonlama ve gelişmiş ağ seçenekleri gibi zengin özellik setine sahiptir.
- KVM: Linux üzerinde çalışır ve genellikle zararlı yazılımlar tarafından göz ardı edilir, bu da onu Anti-VM tekniklerini kullanan zararlı yazılımlar için faydalı kılar.
- ESXi: Sanallaştırma yapabilen bir işletim sistemidir ve birden fazla sanal işletim sisteminin aynı anda çalışmasına olanak tanır.
- VirtualBox: Ücretsizdir ve snapshot gibi özellikler sunar, bu da onu birçok kişi için tercih edilen bir seçenek yapar.
Zararlı yazılım analizi, güvenlik uzmanlarının tehditleri anlamaları ve mücadele etmeleri için kritik bir süreçtir. İşletim sistemi seçimi, bu sürecin önemli bir parçasıdır çünkü analiz edilecek zararlı yazılımın davranışlarını doğru bir şekilde gözlemlemek ve anlamak için uygun bir ortam sağlamalıdır.
Sanallaştırma ve İşletim Sistemi Seçimi:
Sanallaştırma, zararlı yazılımların analiz edildiği izole edilmiş bir ortam oluşturur. Bu ortamda, zararlı yazılımın çalıştırılacağı ve analiz edileceği işletim sistemi dikkatlice seçilmelidir. Ayrıca, ağ trafiğini izleyen ve sahte hizmetler sunan ikinci bir ortam da kurulmalıdır.
Analiz Edilecek Ortamın Özellikleri:
Zararlı yazılımlar genellikle iki bölümden oluşur: Birinci bölüm, yükleyici (loader) olarak bilinir ve sistemde ilk çalışan bölümdür. İkinci bölüm ise zararlı yazılımın asıl amacını gerçekleştiren 'stage' kısmıdır. Zararlı yazılımın çalıştırıldığı işletim sistemi mimarisi (32 bit veya 64 bit) göz önünde bulundurularak uygun bir işletim sistemi seçilmelidir.
Windows İşletim Sistemleri ve Tavsiyeler:
Windows 10, önceki sürümlere göre daha kompleks bir yapıya ve daha yüksek kaynak tüketimine sahiptir. Bu nedenle, düşük versiyonları hedefleyen zararlı yazılımlar Windows 10'da çalışmayabilir. Windows 10, arka planda interneti kullanan servisler nedeniyle zararlı analizi için önerilmemektedir. Bu servisler, zararlı olmayan verilerle dolu ağ trafiği üreterek analizi zorlaştırabilir.
Windows 7 ve Windows XP arasında seçim yaparken, kullanılacak donanımın gücü göz önünde bulundurulmalıdır. Windows 7, Windows XP'ye göre daha fazla kaynak tüketir. Windows XP kullanılıyorsa, Service Pack 3'ün yüklü olması önemlidir çünkü bu, sistemdeki eksiklikleri ve hataları giderir ve yeni zararlı yazılımların analizini mümkün kılar.
Güncel İşletim Sistemleri ve Sanallaştırma:
Microsoft'un Hyper-V teknolojisi, Windows Server 2025 (ön izleme) dahil olmak üzere çeşitli Windows Server ve Windows istemci işletim sistemlerini sanal makinelerde destekler. Windows 11, en son güncellemelerle birlikte sanal makineler için desteklenen bir işletim sistemidir. Oracle Linux KVM, Windows iş yükleri için performans iyileştirmeleri ve hata düzeltmeleri içeren güncellemeler sunar.
Service Pack 3 ve Malware Analizi:
Service Pack 3, Windows XP'nin güvenlik ve uyumluluk açısından güncel kalmasını sağlar. Malware analizi için, Service Pack 3'ün yüklü olması, sistemdeki güvenlik açıklarını kapatır ve analiz sürecini iyileştirir.
Sonuç olarak, zararlı yazılım analizi için işletim sistemi seçimi, analistin ihtiyaçlarına ve kullanılacak araçların gereksinimlerine göre yapılmalıdır. Güncel ve güvenli bir işletim sistemi, zararlı yazılımın doğru bir şekilde analiz edilmesi için kritik öneme sahiptir. Sanallaştırma ortamında, zararlı yazılımların ürün anahtarını ele geçirme riski göz önünde bulundurularak, işletim sistemi aktive edilmeden kullanılmalıdır. İşletim sistemi seçimi, zararlı yazılımın türüne ve analiz edilecek ortamın özelliklerine göre dikkatlice yapılmalıdır.
Ağı İzleyen Ortam
Ağ izleme ortamı, zararlı yazılım içeren bir işletim sistemiyle aynı sanal ağ içinde yer alarak, bu ağdaki trafiği analiz etmek ve zararlı yazılımın bulunduğu sisteme sahte hizmetler sunmak için kullanılan ikinci bir sanal işletim sistemidir. Bu tür bir ortamda, Inetsum ve Wireshark gibi ağ trafiğini izlemek ve analiz etmek için tasarlanmış programlar bulunur.
REMnux, zararlı yazılım analizi yapan uzmanlar için özel olarak hazırlanmış, önemli araçları içeren bir Linux dağıtımıdır. REMnux, zararlı yazılımların davranışlarını incelemek ve sistem düzeyindeki etkileşimlerini araştırmak için kullanılır. REMnux'un en güncel sürümü, Ubuntu 20.04 tabanlıdır ve OVA formatında sanal makine olarak indirilebilir. Sanal makineyi indirdikten sonra, kullanılan sanallaştırma yazılımına aktararak doğrudan kullanıma başlanabilir. REMnux sanal makinesini güncel tutmak için, sanal makineyi çalıştırdıktan sonra yükseltme komutunu çalıştırmak önemlidir.
REMnux'un varsayılan kullanıcı adı remnux ve parolası malware olarak ayarlanmıştır. Bu bilgiler, sanal makineye uzaktan erişim gerektiğinde veya yetkileri yükseltmek istediğinizde kullanılabilir. REMnux ve içerdiği araçlar hakkında daha fazla bilgi ve kullanım detayları için REMnux belgelerine başvurabilirsiniz.
Inetsum ve Wireshark, zararlı yazılım analizinde kullanılan önemli araçlardır. Inetsum, zararlı yazılımın ağ üzerinden iletişim kurmasını taklit ederek analiz yapılmasını sağlar, Wireshark ise ağ trafiğini yakalayıp detaylı bir şekilde inceleyerek zararlı yazılımın ağ üzerindeki etkileşimlerini gözlemlemek için kullanılır. Bu araçlar, zararlı yazılımın ağ üzerindeki davranışlarını anlamak ve güvenlik tehditlerini tespit etmek için kritik öneme sahiptir.
Sanal Ağ Oluşturma
1. Windows İşletim Sistemi: Zararlı yazılımın gerçek bir ağa erişimini engellemek için, sanal bir ağ oluşturulur. Bu ağda, zararlı yazılımı çalıştırmak üzere hazırlanan Windows işletim sistemi bulunur.
2. REMnux İşletim Sistemi: Gözlemci olarak kullanılan REMnux, zararlı yazılımın davranışlarını analiz etmek için kullanılır.
3. Host Only Ağ Yapılandırması: Sanal makinelerin internete çıkışını engellemek için, ağ yöneticisinde 'host only' seçeneği seçilir.
4. Özel Ağ Yapılandırması (Custom Network): Daha güvenli bir izolasyon için, VMware'de 'Edit > Virtual Network Editor' seçilerek yeni bir sanal ağ arayüzü oluşturulur. Örneğin, vmnet2 adında bir ağ arayüzü oluşturulup, 10.10.10.0 subnet maskesi atanabilir.
5. Ağ Bağdaştırıcısının Ayarlanması: Oluşturulan sanal ağ, her iki işletim sisteminde de 'VM-Settings-Network Adaptor' seçeneği üzerinden ayarlanır. Windows işletim sisteminde ipconfig komutu kullanılarak IP adresi kontrol edilir.
Snapshot Yönetimi
1. Snapshot Alma: VMware'de, işletim sistemi üzerindeki mevcut durumu kaydetmek için snapshot alınır. Bu, sistem zararlı yazılımla bulaştırılmadan önce yapılmalıdır.
2. Snapshot'a Geri Dönme: Daha önce alınan bir snapshot'a geri dönmek, sistemde yapılan değişiklikleri geri almak için kullanılır.
3. Snapshot Yönetimi: VMware'de bulunan yönetim araçları ile snapshot'lar yönetilir, silinir veya isimleri değiştirilebilir.
Bu süreçler, zararlı yazılım analizi yapılırken, sistemin güvenliğini sağlamak ve analiz sonrası sistemi orijinal durumuna hızlıca geri döndürebilmek için kritik öneme sahiptir. Güncel bilgilerle yapılandırma ve yönetim işlemleri, sanal ortamın güvenliğini ve analiz sürecinin doğruluğunu artırır.
Analiz Çeşitleri
Analiz türleri, kötü niyetli yazılımları anlamak ve onlarla mücadele etmek için kullanılan farklı teknikleri ifade eder. Bu analiz türlerinin detayları ve güncel bilgilerle açıklamaları şöyledir:
Statik Analiz:
Bu, kötü niyetli yazılımın çalıştırılmadan incelenmesidir. İki alt kategoriye ayrılır:
- Basit Statik Analiz: Bu, zararlı yazılımın dosya formatını belirleme, içerikte geçen kelimeleri inceleme, antivirüs programlarına karşı tepkisini ölçme, hash değerlerini karşılaştırma ve yazılımın paketlenip paketlenmediğini veya gizlenip gizlenmediğini (obfuscation) belirleme işlemlerini içerir.
- İleri Statik Analiz: Daha derin bir seviyede, IDA Pro, radare2 gibi araçlar kullanılarak, zararlı yazılımın düşük seviye kodları (disassembled code, binary code vb.) incelenir. Bağlantılı kütüphaneler, fonksiyonlar ve diğer önemli özellikler analiz edilerek yazılımın işleyişi anlaşılmaya çalışılır.
Dinamik Analiz:
Zararlı yazılımın bir laboratuvar ortamında çalıştırılarak, sistem üzerinde yaptığı değişikliklerin incelendiği analiz türüdür. İki alt kategoriye ayrılır:
- Basit Dinamik Analiz: Uygulamanın ağ üzerindeki davranışları, dosya ve kayıt defterinde yaptığı değişiklikler ve oluşturduğu süreçler gibi davranışsal özellikler incelenir.
- İleri Dinamik Analiz: Zararlı yazılım çalışırken, işlemci komutları, CPU, kayıt defterleri üzerindeki verilerin değişimi gibi daha teknik detaylar incelenir. Fonksiyon çağrılarının izlenmesi ve parametrelerinin gözlemlenmesi gibi teknikler kullanılır.
Bellek Analizi (Memory Dump Analysis):
Zararlı yazılımın hafızada kapladığı alanın kopyalanarak diske kaydedilmesi ve bu kaydedilmiş hafıza alanının analiz edilmesi işlemidir. Bu, yazılımın hafızadaki davranışlarını ve etkileşimlerini anlamak için kullanılır.
Bu analiz türleri, siber güvenlik uzmanlarının kötü niyetli yazılımları daha iyi anlamalarını ve onlara karşı daha etkili stratejiler geliştirmelerini sağlar. Her bir analiz türü, zararlı yazılımların farklı yönlerini ortaya çıkarmak için özel teknikler ve araçlar kullanır.
Örnek Zararlı Yazılım Bulma
Zararlı yazılım bulma ve analiz etme, siber güvenlik alanında önemli bir beceridir. Bu süreç, genellikle zararlı yazılımları incelemek ve onların nasıl çalıştığını anlamak için kullanılır. Bu konuda bazı kaynaklar ve güncel bilgiler şöyledir:
- CTF (Capture The Flag) Yarışmaları: CTF yarışmaları, siber güvenlik becerilerini geliştirmek için mükemmel bir yoldur. Bu yarışmalarda yer alan reverse engineering soruları, gerçek dünya senaryolarına dayalı zorluklar sunar ve katılımcıların zararlı yazılımları analiz etme yeteneklerini test eder.
- Practical Malware Analysis Kitabı: Bu kitap, zararlı yazılım analizi konusunda kapsamlı bir rehber sunar ve analistlere zararlı yazılımları güvenli bir şekilde analiz etme, hata ayıklama ve parçalama teknikleri öğretir.
- Zararlı Yazılım Örnekleri Paylaşan Siteler:
- MalwareBazaar: Zararlı yazılım örneklerini bilgi güvenliği topluluğu, antivirüs sağlayıcıları ve tehdit istihbaratı sağlayıcıları ile paylaşmayı amaçlayan bir projedir.
- VirusShare: Araştırmacıların zararlı yazılım örneklerini paylaşabileceği ve indirebileceği bir platformdur.
- The Zoo: Açık kaynaklı bir zararlı yazılım veritabanıdır ve tek bir indirme ile birçok zararlı yazılım örneğine erişim sağlar.
- Malshare: Günlük olarak binlerce zararlı yazılım örneği sunan ücretsiz bir hizmettir.
- Das Malwerk: Güncel zararlı yazılım örneklerini içeren bir site olup, araştırmacıların analiz için örnekleri indirmesine olanak tanır.
- Hybrid Analysis: Dinamik ve statik analiz için çeşitli araçlar sunan ve en son gönderilen dosyaları filtreleyebilen bir platformdur.
Bu kaynaklar, zararlı yazılım analiziyle ilgilenen kişilere pratik yapma ve becerilerini geliştirme fırsatı sunar. Ancak, bu tür sitelerden indirilen herhangi bir dosyanın potansiyel olarak zararlı olduğunu ve dikkatli bir şekilde ele alınması gerektiğini unutmamak önemlidir. Analiz için sanal makineler veya izole edilmiş sistemler kullanmak en iyisidir.
Otomatik Analiz Araçları ve Sandbox’lar
Malware sandbox'lar ve otomatik analiz araçları, zararlı yazılımların analiz edilmesi ve tehditlerin tespit edilmesi için kullanılan güçlü araçlardır. İşte bu araçların güncel bilgilerle açıklamaları:
Malware Sandbox'lar:
Malware sandbox'lar, şüpheli dosyaların güvenli bir sanal ortamda çalıştırılmasını sağlayarak, bu dosyaların sisteme, ağa ve diğer kaynaklara nasıl etki ettiğini gözlemlemek için kullanılır. Bu analizler sonucunda, zararlı yazılımların davranışları hakkında detaylı raporlar elde edilir.
Online Analiz Araçları:
Bu araçlar, internet üzerinden erişilebilen servislerdir ve kullanıcıların zararlı yazılım örneklerini yükleyerek analiz ettirmesine olanak tanır. En bilinen online analiz araçlarından bazıları şunlardır:
- Virustotal: Virustotal, dosya ve URL'lerin hash değerlerini kullanarak, çok sayıda antivirüs programıyla karşılaştırma yapar ve bu dosyaların zararlı olup olmadığına dair bilgi sunar.
- ANY.RUN: ANY.RUN, kullanıcıların şüpheli dosyaları gerçek zamanlı olarak analiz etmesine ve bu dosyaların ağ aktivitelerini, dosya değişikliklerini ve süreç ağacındaki değişiklikleri gözlemlemesine imkan tanır.
- Hybrid-Analysis: Hybrid-Analysis, yüklenen dosyaların farklı işletim sistemlerinde (Windows, Linux, Android) çalıştırılarak analiz edilmesini sağlar ve antivirüs taramalarından elde edilen sonuçları sunar.
- Threat Expert: Threat Expert, uygulamaların davranışsal analizini otomatize edilmiş programlarla inceleyen bir online zararlı yazılım analizi servisidir.
Açık Kaynak Sandbox Araçları:
Açık kaynak sandbox araçları, kullanıcıların kendi sistemlerine kurarak daha ayrıntılı analiz yapmalarına olanak tanır. Popüler açık kaynak sandbox araçlarından bazıları şunlardır:
- Cuckoo Sandbox: Cuckoo Sandbox, otomatik dinamik malware analizi için lider açık kaynak sistemidir. En son sürümü olan 2.0.7, küçük kod değişiklikleri ve sistem stabilitesini artıran iyileştirmeler içerir.
- Buster Sandbox Analyzer: Buster Sandbox Analyzer, kullanıcıların zararlı yazılımların davranışlarını analiz etmelerine yardımcı olan bir araçtır ve en son sürümü 1.92'dir.
Bu araçlar, siber güvenlik uzmanlarının zararlı yazılımları tespit etmelerine ve tehditlere karşı korunmalarına yardımcı olur.
Basit Statik Analiz
Statik analiz, bir uygulamanın çalıştırılmasına gerek kalmadan yapılan bir inceleme sürecidir. Bu süreçte, analiz için gerekli araçlar indirilir ve bir sanal ağ adaptörü olan vmnet2 üzerinden NAT ayarları yapılır. İndirilen araçlar, C sürücüsünde "AnalizProgramlari" adında bir klasörde toplanır ve bu klasör yolu, sistem ortam değişkenlerine eklenir. Böylece, "cmd" komut satırı aracılığıyla bu araçlar doğrudan çalıştırılabilir.
Aşağıda, statik analiz sürecinde kullanılan bazı araçların işlevleri hakkında bilgi verilmiştir:
- Hashcalculator: Bu araç, incelenen uygulamanın hash değerlerini hesaplar. Analistler, bu hash değerlerini kullanarak yazılımın daha önce incelenip incelenmediğini ve zararlı olup olmadığını belirleyebilir. Güncel sürümü HashCalc 2.02'dir.
- Md5sum: Linux'ta yerleşik olarak bulunan ve terminal üzerinden çalıştırılan bu araç, Windows için hazır olarak gelmez. Windows'ta md5 hash değerleri almak için md5sum-win 1.22 sürümü kullanılabilir.
- PE Viewer: PE dosya formatındaki bölümlerin bilgilerini ve bu bölümlerdeki verileri hexadecimal formatında gösteren bir araçtır. Güncel sürümü PE Tools v1.9'dur.
- Bintext: Bir program içerisinde geçen stringleri ve konumlarını bulmamızı sağlayan bir araçtır. Güncel sürümü Bintext 3.03'tür.
- Strings: Çalıştırılabilir dosyalar içerisindeki stringleri ekrana basan bir programdır. Windows için güncel bir sürümü bulunmamaktadır, ancak Sysinternals tarafından sunulan Strings aracı kullanılabilir.
- Dependency Walker: Bir PE dosyasının içerisinde yer alan dinamik olarak import edilmiş .dll ve fonksiyonları gösterir. Güncel sürümü Dependency Walker 2.2.10011'dir.
Bu araçlar, bir yazılımın güvenliğini ve işleyişini anlamak için kullanılır. Örneğin, Dependency Walker ile KERNEL32.DLL ve ADVAPI32.DLL gibi kütüphanelerin import edildiği ve bu kütüphaneler aracılığıyla sistem üzerinde dosya oluşturma gibi işlemlerin yapıldığı tespit edilebilir. Bu bilgiler, yazılımın potansiyel olarak zararlı olup olmadığını anlamada önemli ipuçları sağlar.
Detect It Easy (DIE)
Bu araç, bir programın paketlenip paketlenmediğini, hangi programlama diliyle yazıldığını, hangi derleyici ile derlendiğini, boyutunu, giriş noktasını ve içe aktarılan kütüphaneleri analiz eder. Kullanıcı dostu bir arayüze sahip olan DIE, çeşitli dosya türlerini tanımlama yeteneğine sahiptir ve açık mimarisi sayesinde kullanıcıların kendi algoritmalarını eklemelerine veya mevcut olanları değiştirmelerine olanak tanır.
Resource Hacker
Windows uygulamalarındaki kaynakları görüntülemek, değiştirmek ve yönetmek için kullanılır. PE dosyalarının .rsrc bölümünde bulunan resimler, simgeler, menüler ve dizeler gibi kaynakları düzenleyebilirsiniz. Yeni sürümleri, 32-bit kaynak dosyalarını da düzenleyebilme ve diyalog genişletme stil bayraklarını destekleme gibi özellikler eklemiştir.
PE Insider
PE dosyalarını incelemek için kullanılan bir araçtır ve PE dosyalarının bölümleri hakkında detaylı bilgi sunar.
PEiD
Bu araç, PE dosyalarında kullanılan packer ve compiler'ları tespit etmek için yaygın olarak kullanılır. Ayrıca, uygulamalarda kullanılan şifreleme algoritmalarını belirlemek için de kullanılabilir.
PEstudio
Kullanıcı dostu bir PE analiz aracıdır ve şüpheli görünen yerlerde uyarı vererek analizciye yardımcı olur. Ayrıca, analiz edilen programın Virustotal'da herhangi bir uyarı verip vermediğini kontrol edebilir.
ILSPY
.NET uygulamalarını decompile etmek için kullanılan açık kaynaklı bir araçtır. En son sürümü, .NET 8.0'a dayanır ve çeşitli performans iyileştirmeleri ve yeni dil özellikleri içerir.
CFF Explorer
PE dosyaları üzerinde düzenleme yapmak için kullanılan bir araçtır. Kaynak bölümünü değiştirme, içe aktarma ekleme ve imza tarama gibi işlevleri vardır. Ayrıca, UPX ile paketlenmiş programları kolayca açabilme özelliğine sahiptir. Güncel sürümü, ENCLog ve ENCMap .NET tablolarını eklemiş ve çeşitli hata düzeltmeleri içermektedir.
Basit Dinamik Analiz
Dinamik analiz, zararlı yazılımların çalıştırıldıktan sonra sistem üzerindeki etkilerini inceleyen bir süreçtir. Bu süreçte, zararlı yazılımın ağ trafiği, dosya ve kayıt günlüklerinde yaptığı değişiklikler, ve oluşturduğu ya da sonlandırdığı işlemler gözlemlenir. Ayrıca, zararlı yazılımın kodunun nasıl çalıştığını ve hangi değişiklikleri yaptığını adım adım takip etmek de bu sürecin önemli bir parçasıdır.
Ağ Trafiği Analiz Araçları:
Gerçek ağ ortamından izole edilmiş bir sistemde, zararlı yazılımın davranışlarını analiz etmek için kullanılan araçlar vardır. Bu araçlar, zararlı yazılımın ağ trafiğini taklit edilen servisler üzerinden yönlendirilmesini ve trafiğin dinlenmesini sağlar.
apateDNS:
apateDNS, DNS spoofing amacıyla geliştirilmiş bir araçtır. Zararlı yazılımın DNS sorgularını yakalar ve kullanıcının belirlediği bir IP adresine yönlendirilmiş yanıtlar verir. Bu sayede, zararlı yazılımın ağ üzerindeki etkileşimleri kontrol altına alınabilir.
Netstat:
Netstat, ağ bağlantıları, yönlendirme tablosu, arabirim istatistikleri gibi ağ bilgilerini gösteren bir komut satırı aracıdır. Linux ve Windows işletim sistemlerinde kullanılabilir ve çeşitli parametreler içerir. Örneğin, -a parametresi tüm aktif bağlantıları, -n parametresi IP adresleri gibi sayısal değerleri gösterir.
Tcpview:
Tcpview, Microsoft tarafından geliştirilmiş, netstat'ın daha kullanıcı dostu bir alternatifi olan bir araçtır. Ağ üzerindeki TCP ve UDP bağlantı noktalarını ve bu bağlantılara ait detayları gösterir.
Netcat:
Netcat, ağ üzerinde port dinlemek veya bağlantı başlatmak için kullanılan popüler bir araçtır. Zararlı yazılım analizinde, zararlı yazılımın gönderdiği ağ isteklerini yakalayıp gösterir. `-l` parametresi ile dinleme modunda çalışır ve `-p` ile dinlenecek port numarası belirlenir.
Ayrıca, Kali Linux gibi işletim sistemleri içerisinde yer alan güncel siber güvenlik araçları da bu tür analizler için tercih edilebilir.
INetSim
INetSim, zararlı yazılımların ağ üzerindeki davranışlarını analiz etmek için kullanılan bir simülasyon aracıdır. Bu araç, zararlı yazılımların genellikle kullandığı standart HTTP, HTTPS, FTP, IRC, DNS, SMTP gibi çeşitli internet servislerini taklit eder. INetSim, zararlı yazılımların bu servislere olan bağlantılarını yakalayıp, analiz etmek için kullanılır ve bu sayede güvenlik uzmanları, zararlı yazılımların ağ trafiğini detaylı bir şekilde inceleyebilir.
INetSim, Remnux adlı özel bir Linux dağıtımında önceden yüklenmiş olarak gelir. Remnux, zararlı yazılım analizi için özelleştirilmiş araçlar içeren bir işletim sistemidir ve INetSim'in yanı sıra birçok farklı güvenlik aracını da içerir.
Ağ simülasyonu kurulumunda, Windows işletim sistemi üzerinde DNS sunucusu olarak 127.0.0.1 IP adresi atanır. ApateDNS adlı bir araç kullanılarak, DNS isteklerine Remnux işletim sisteminin IP adresi ile yanıt verilmesi sağlanır. Bu, zararlı yazılımın tüm ağ trafiğinin Remnux sistemine yönlendirilmesine olanak tanır. Remnux üzerinde, INetSim'in yapılandırma dosyası olan /etc/inetsim/inetsim.conf üzerinde gerekli ayarlamalar yapılır ve inetsim komutu ile servisler aktif hale getirilir.
Wireshark
Wireshark, ağ üzerindeki paketleri canlı olarak yakalayan ve derinlemesine analiz etmeye yarayan popüler bir açık kaynaklı paket analiz aracıdır. Wireshark, zararlı yazılımın bulaştığı makinede veya trafiğin yönlendirildiği makinede çalıştırılarak, ağ trafiğini yakalar ve analiz eder. Kullanıcılar, Wireshark'ın "Follow TCP Stream" özelliğini kullanarak, bir TCP bağlantısı üzerinden geçen verileri bir akış olarak görüntüleyebilir ve bu veriler üzerinde analiz yapabilir.
Dosya Ve Kayıt Defteri Analizi Araçları
Zararlı yazılım analizi, bilgisayar sistemlerindeki güvenlik tehditlerini tespit etmek için kullanılan önemli bir süreçtir. Bu süreçte, zararlı yazılımların sistemde yarattığı değişiklikleri izlemek için çeşitli araçlar kullanılır. İki temel araç Regshot ve CaptureBat'tır.
Regshot, Windows kayıt defterindeki değişiklikleri tespit etmek için kullanılan bir araçtır. Kullanımı oldukça basittir; ilk olarak zararlı yazılım çalıştırılmadan önce bir kayıt defteri anlık görüntüsü (snapshot) alınır. Bu, '1.Shot' olarak adlandırılır. Zararlı yazılım çalıştırıldıktan sonra, ikinci bir anlık görüntü alınır ve bu '2.Shot' olarak adlandırılır. Daha sonra, bu iki anlık görüntü 'compare' (karşılaştırma) işlemiyle karşılaştırılır ve sistemde yapılan değişiklikler bir rapor halinde sunulur. Bu rapor, zararlı yazılımın kayıt defterinde hangi değişiklikleri yaptığını gösterir.
CaptureBat, ise hem dosya sistemini hem de kayıt defterini izleyen ve değişiklikleri kaydeden bir terminal uygulamasıdır. Bu araç, -c parametresi ile silinen veya değiştirilen dosyaları, -n parametresi ile ağ üzerindeki aktiviteleri ve -l parametresi ile de bu bilgileri bir metin dosyasına kaydetme yeteneğine sahiptir. CaptureBat, zararlı yazılımların dosya ve kayıt defteri üzerinde yaptığı değişiklikleri ve ağ trafiğini detaylı bir şekilde analiz edebilir. Bu araçlar, zararlı yazılımların bıraktığı izleri takip ederek, güvenlik uzmanlarının tehditleri daha iyi anlamasına ve müdahale etmesine olanak tanır. Güncel sürümleri ve kullanım detayları için, Regshot ve CaptureBat'ın resmi web sitelerini veya güvenilir yazılım depolarını ziyaret etmek faydalı olacaktır.
Process Analiz Araçları
Process analizi, bir bilgisayar sisteminin performansını, güvenliğini ve işleyişini anlamak için kritik bir süreçtir. Bu analiz, sistemdeki processlerin (uygulamaların ve hizmetlerin) nasıl çalıştığını, kaynak kullanımını ve sistem üzerindeki etkilerini detaylı bir şekilde incelemeyi içerir. Microsoft'un System Internal Suite araçları, bu tür analizler için güçlü ve kapsamlı çözümler sunar. Bu araçların bazıları ve güncel özellikleri şöyledir:
- Procmon (Process Monitor): Bu araç, sistem çağrılarını, kayıt defteri, dosya, ağ ve process/thread etkinliklerini gerçek zamanlı olarak izler. Kullanıcılar, belirli olayları filtreleyerek ve izlemeyi sadeleştirerek, aradıkları bilgilere hızlıca ulaşabilirler. Procmon, sistemde meydana gelen değişiklikleri ve etkinlikleri derinlemesine analiz etme yeteneğine sahiptir.
- Process Explorer: Bu araç, Windows Görev Yöneticisi'nden daha detaylı bilgi sunar. Çalışan processlerin listesini, hangi dosyalardan ve klasörlerden çalıştıklarını gösterir. Processlerin hiyerarşik yapısını ve ilişkili DLL'leri görselleştirir. Ayrıca, bir processin bellek dökümünü almak için de kullanılabilir.
- Autoruns: Sistem başladığında otomatik olarak çalışan programları, servisleri ve DLL'leri listeler. Kullanıcılar, zararlı yazılımları tespit etmek ve kaldırmak için bu aracı kullanabilirler. Autoruns, sistemdeki otomatik başlatma konumlarının en kapsamlı bilgisine sahip olan bir araçtır.
Bu araçlar, sistem yöneticilerine ve güvenlik uzmanlarına, potansiyel sorunları tespit etme ve çözme konusunda büyük yardımcı olur. Güncel sürümleri, daha fazla uyumluluk ve yeni özelliklerle donatılmıştır, böylece kullanıcılar sistemlerini daha iyi koruyabilir ve optimize edebilirler.
İleri Analiz Araçları
İleri analiz araçları, yazılımın nasıl çalıştığını anlamak ve güvenlik açıklarını bulmak için kullanılan güçlü araçlardır. Bu araçlar, yazılımın makine kodunu anlaşılır assembly diline çevirerek (disassembly) veya yazılımı çalıştırarak ve davranışını izleyerek (dinamik analiz) analiz eder. Bu araçların bazıları ve güncel bilgileri şöyledir:
- IDA (Interactive Disassembler): Tersine mühendislik ve zararlı yazılım analizi için en popüler araçlardan biridir. Disassembler ve debugger olarak iki ana işlevi vardır. Çeşitli dosya formatlarını destekler ve kod akışını grafiksel olarak gösterir. Kullanıcılar, analiz süreçlerini kaydedebilir, fonksiyon isimleri verebilir ve yorum satırları ekleyebilir. IDA'nın en güncel sürümü IDA 8.4.240320 (SP1) ve ücretsiz sürümü IDA Free olarak mevcuttur.
- BinDiff: İki binary dosya arasında karşılaştırma yaparak benzerlikleri ve farklılıkları bulan bir eklentidir. Güncellemeleri ve yeni sürümleri GitHub üzerinden takip edilebilir.
- IDAPython: Python scriptleri yazarak IDA'nın işlevselliğini genişletmeye yarayan bir eklentidir. IDAPython şu anda Python 3 ile uyumlu çalışmaktadır ve bu geçiş, IDA 7.4 sürümünden itibaren başlamıştır.
- Radare2: IDA'ya alternatif olarak geliştirilen, terminal tabanlı bir disassembly aracıdır. Çeşitli dosya formatlarını ve işletim sistemlerini destekler. En güncel sürümü 5.9.0 olarak GitHub üzerinden erişilebilir durumdadır.
- Hopper: Özellikle macOS ve Linux için tasarlanmış bir disassembler ve debugger'dır. Kullanıcı arayüzü ve işlevselliği ile dikkat çeker. En son güncelleme 14 Mart 2024 tarihinde yapılmıştır.
- Immunity Debugger: Özellikle exploit geliştirme ve zararlı yazılım analizi için kullanılan bir debugger'dır. Son sürümü 1.85 olarak mevcuttur.
- Ollydbg: Windows için geliştirilmiş bir 32-bit debugger'dır. Geliştirilmesi durdurulmuş olup, son sürümü v1.10 olarak bulunabilir.
- x64dbg: Windows için açık kaynaklı bir debugger'dır ve özellikle tersine mühendislik ve zararlı yazılım analizi için optimize edilmiştir. En güncel snapshot 11 Nisan 2024 tarihinde yayınlanmıştır.
Bu araçlar, yazılımın nasıl çalıştığını anlamak, güvenlik açıklarını bulmak ve hatta zararlı yazılımları analiz etmek için kullanılır. Her biri, belirli ihtiyaçlara göre farklı özellikler sunar ve güvenlik araştırmacıları tarafından sıklıkla tercih edilir.
IDA
IDA, zararlı yazılım analizi, tersine mühendislik ve güvenlik açığı araştırmaları için tercih edilen bir disassembler ve debugger aracıdır. Çeşitli dosya formatlarını destekler, kod akışını grafiksel olarak gösterir, çalışmaları kaydetme, fonksiyon isimlendirme, modifikasyon yapma, stack analizi ve yerel değişken tanımlama gibi özelliklere sahiptir. Ayrıca, çeşitli eklentilerle genişletilebilir bir yapıya sahiptir.
IDA'nın Güncel Özellikleri:
- En son sürümü IDA 8.4.240320 (SP1)'dir ve 20 Mart 2024 tarihinde güncellenmiştir.
- IDA Free, kısıtlı kullanım için ücretsiz bir versiyondur ve hem 32-bit hem de 64-bit uygulamaları analiz edebilir.
- IDA Pro, daha gelişmiş özellikler sunar ve çeşitli işlemcileri, dosya formatlarını destekler ve yerel ve uzaktan hata ayıklama özellikleri içerir.
BinDiff Eklentisi:
- BinDiff, iki ikili dosya arasındaki benzerlikleri ve farklılıkları karşılaştırmak için kullanılır.
- En son sürümü BinDiff 8'dir ve IDA Pro 8.3 ile uyumludur.
IDAPython Eklentisi:
- IDAPython, IDA içinde Python scriptleri yazmanıza olanak tanır.
- IDAPython'un en son sürümleri GitHub üzerinden https://github.com/idapython/src erişilebilir durumdadır.
Radare2:
- Radare2, IDA'ya bir alternatif olarak geliştirilmiş, terminal tabanlı bir disassembler'dır.
- En son sürümü 5.9.0 ve kod adı "Hyperborean" olarak belirlenmiştir.
- Çeşitli dosya formatlarını ve işletim sistemlerini destekler, betik, komut satırı, görsel ve paneller aracılığıyla interaktif modlarda çalışabilir.
Hopper
- Linux ve Mac OS için tasarlanmış bir disassembly aracıdır.
- Uygulamaları decompile edebilir ve debug işlemleri yapabilir.
- Cocoa framework (Mac OS için) ve Qt 5 (Linux için) kullanarak yerel bir deneyim sunar.
- Prosedür analizi, kontrol akışı grafiği ve pseudo-code sunumu gibi özellikleri vardır.
- Python scriptleri ile özelleştirilebilir ve LLDB veya GDB ile dinamik analiz yapılabilir.
Ollydbg:
- Microsoft Windows için 32-bit assembler seviyesinde bir analiz ve debug aracıdır.
- Kaynak kodu olmayan durumlarda binary kod analizi için kullanışlıdır.
- Plugin desteği ile genişletilebilir ve MASM veya IDEAL formatlarını destekler.
- OllyDump eklentisi ile bellek dökümü alabilir.
Immunity Debugger:
- Ollydbg benzeri bir arayüz ve işlevsellik sunar.
- Python scriptleri ve API kullanımına izin vererek ek özellikler ekler.
- Ollydbg için yazılmış eklentileri Immunity Debugger ile kullanılabilir hale getirir.
x64dbg:
- Açık kaynaklı, Windows için x64/x32 debugger aracıdır.
- Malware analizi ve reverse engineering için optimize edilmiştir.
- Güçlü bir plugin sistemi ve scripting language içerir.
API Monitor:
- Uygulamaların ve servislerin yaptığı API çağrılarını izlemeye ve kontrol etmeye yarayan bir araçtır.
- Breakpoint özelliği ile API çağrılarına müdahale edilebilir ve programın işleyişinde değişiklikler yapılabilir.
- API filtreleme özelliği ile belirli API çağrılarını listeleyebilir ve parametreleri inceleyebilirsiniz.
Bellek Dökümü Analizi
Bellek dökümü analizi, bir bilgisayar sisteminin çalışan uygulamalarının ve işletim sisteminin anlık durumunu kaydetmek için kullanılan bir yöntemdir. Bu işlem, özellikle zararlı yazılım analizi ve hata ayıklama gibi durumlarda önemlidir. Bellek dökümü, sistemde çalışan tüm süreçlerin, modüllerin, ağ bağlantılarının ve diğer önemli bilgilerin bir kopyasını oluşturur.
Bellek dökümü analizi için kullanılan bazı popüler araçlar şunlardır:
- Memoryze: Canlı sistemlerde bellek analizi yapmak için kullanılan ücretsiz bir araçtır. Bellek görüntüleri oluşturabilir ve analiz edebilir.
- DumpIt: Kullanıcı dostu bir arayüzle fiziksel bellek dökümü yapmayı sağlayan bir araçtır.
- Process Explorer: Microsoft tarafından geliştirilen bir araç olup, sistemde çalışan süreçler hakkında detaylı bilgi sağlar ve bellek dökümü yapılmasına olanak tanır.
- Process Hacker: Sistem kaynaklarını izlemek, yazılım hatalarını ayıklamak ve zararlı yazılımları tespit etmek için kullanılan çok amaçlı bir araçtır.
- LordPE: PE dosyalarını düzenlemek, analiz etmek ve onarmak için kullanılan gelişmiş bir araçtır.
- OllyDump: OllyDbg için geliştirilmiş bir eklenti olup, hedeflenen sürecin bellek dökümünü almayı sağlar.
Bu araçlar, sistem üzerinde derinlemesine analiz yapmak ve potansiyel tehditleri tespit etmek için kullanılır. Özellikle, zararlı yazılımların tespiti ve unpack işlemleri için kritik öneme sahiptirler. Gelişmiş kullanıcılar ve sistem yöneticileri tarafından sıkça tercih edilirler.
Bellek Dökümü Analiz Araçları
Bellek dökümü analiz araçları, bilgisayar sistemlerindeki bellek dökümlerini incelemek için kullanılan özel programlardır. Bu araçlar, özellikle siber güvenlik ve olay müdahale durumlarında, zararlı yazılımların tespiti ve sistem hatalarının analizi gibi amaçlarla kullanılır. İki popüler bellek dökümü analiz aracı Volatility ve Mandiant Redline'dır.
Volatility, Linux, Windows, Mac ve Android işletim sistemleri için bellek analizi yapabilen açık kaynaklı bir araçtır. Python ile yazılmıştır ve çeşitli bellek dökümü formatlarını destekler. Volatility, zararlı yazılımların bulaştığı sistemler yerine, temiz bir sistem üzerinde çalıştırılarak güvenli bir analiz ortamı sağlar. Örneğin, Remnux işletim sistemi üzerinde Volatility önceden yüklenmiş olarak gelir ve analiz için hazır bir ortam sunar.
Volatility'nin kullanımı, komut satırı aracılığıyla gerçekleştirilir ve çeşitli parametrelerle farklı analizler yapılabilir. Örneğin, -f parametresi ile analiz edilecek bellek dökümü dosyası belirtilir ve imageinfo komutu ile dökümün hangi işletim sistemine ait olduğu bilgisi elde edilir. Diğer parametreler arasında pslist, connection, connscan, sockets, memdump, malfind, cmdscan ve iehistory gibi komutlar bulunur. Bu komutlar, çalışan işlemleri, ağ bağlantılarını, bellekteki zararlı kodları ve daha birçok önemli bilgiyi listelemek için kullanılır.
Mandiant Redline, özellikle Windows sistemleri için tasarlanmış kullanıcı dostu bir grafik arayüz sunar. Redline, şüpheli metadata, kayıt defteri girdileri, olay günlükleri, servisler, görevler ve internet geçmişi gibi bilgileri analiz ederek kullanıcılara sunar. Bu araç, bellek dökümünde bulunan şüpheli aktiviteleri tespit etmek ve bir tehdit değerlendirme profili oluşturmak için kullanılır.
Güncel bellek analizi araçları arasında Eclipse Memory Analyzer, RAMMap ve SANS SIFT gibi araçlar da bulunmaktadır. Eclipse Memory Analyzer, Java yığın belleği analizi için kullanılır ve bellek sızıntılarını bulmaya ve bellek tüketimini azaltmaya yardımcı olur. RAMMap, Windows Vista ve daha yeni sürümler için fiziksel bellek kullanımını analiz eden bir araçtır. SANS SIFT ise, dijital adli analiz ve olay müdahalesi için kullanılan bir araç setidir.
Bu araçlar, siber güvenlik profesyonellerine, sistem yöneticilerine ve adli analiz uzmanlarına, sistemlerdeki olayları daha iyi anlamaları ve yanıtlamaları için güçlü yetenekler sunar.
Anti Analiz Tekniklerini Engellemek İçin Kullanılan Programlar
Zararlı yazılım analizini zorlaştırmak için kullanılan teknikler ve bu tekniklere karşı kullanılan programlar şunlardır:
1. Anti Debugging: Yazılımın hata ayıklama sürecini engellemek için çeşitli yöntemler kullanılır. Bunlar arasında API çağrıları, işlem ortam bloğu (PEB) üzerinden bayrak kontrolü, kesme noktası tespiti, hata ayıklayıcıya müdahale ve zamanlama farklılıkları sayılabilir. Bu tekniklere karşı önlemler:
- Dinamik kod analizi yaparken, kontrol mekanizmalarını tespit edip sorunu çözmek.
- OllyAdvanced, HideDebugger, Phantom gibi hata ayıklayıcı eklentileri ve IDA için idastealth eklentisi kullanmak.
2. Anti-VM: Sanal makine kullanımını tespit etmek için işlem, kayıt defteri, bellek, dosya ve donanım bilgilerinde sanallaştırma izleri aranır. Bu tekniklere karşı önlemler:
- Dinamik kod analizi sırasında kontrol mekanizmalarını bulup sorunu çözmek.
- ScoopyNG aracı kullanmak.
- Sanal makine yardımcı uygulamalarını (VMWare Tools, VirtualBox Guest Additions vb.) kaldırmak.
3. Anti Disassembly: Bu teknik, programın kaynak kodunun statik analiz sürecinde anlaşılmasını zorlaştırır.
4. Obfuscation: Programın kaynak kodunu karmaşıklaştırarak gizler ve analizini engeller. .NET uygulamaları için De4dot gibi araçlar kullanılabilir.
5. Packed: Dosya boyutunu küçültmek ve statik analiz sürecinde içeriğin incelenmesini zorlaştırmak için paketleme işlemi yapılır. Paketleme yöntemlerini tespit etmek için Peid, Detect It Easy gibi programlar kullanılır. Unpack işlemi için ise UPX, PECompact, ASPack, Petite, WinUpack, Themida gibi popüler paketleme programlarından biri kullanılır. Packed edilmiş bir uygulamayı manuel olarak unpack etmek için:
- Uygulama bir debugger ile çalıştırılır ve orijinal giriş noktası (OEP) tespit edilir.
- Çalışan uygulama dump edilir (Lord PE, ollydump, process explorer vb. kullanılarak).
- IAT değerini düzeltmek için ImpREC programı kullanılır, OEP değeri girilir, importlar elde edilir ve dump edilmiş programın üzerine FixDump seçeneği ile kaydedilir.
Bu teknikler ve programlar, zararlı yazılım geliştiricilerinin analiz süreçlerini zorlaştırma amacıyla kullandıkları yöntemlerdir ve güvenlik uzmanları tarafından bu tekniklere karşı önlemler alınmaktadır. Güncel bilgiler ışığında, bu tekniklerin ve programların sürekli olarak geliştirildiği ve güncellendiği unutulmamalıdır.
LOJİSTİK TİM SUNDU

