11 KiB
Zararlı Yazılım Analizi
htARTE (HackTricks AWS Kırmızı Takım Uzmanı) ile sıfırdan kahramana kadar AWS hacklemeyi öğrenin!
HackTricks'i desteklemenin diğer yolları:
- Şirketinizi HackTricks'te reklamınızı görmek veya HackTricks'i PDF olarak indirmek için ABONELİK PLANLARI'na göz atın!
- Resmi PEASS & HackTricks ürünlerini edinin
- Özel NFT'lerden oluşan koleksiyonumuz The PEASS Family'yi keşfedin
- 💬 Discord grubuna veya telegram grubuna katılın veya bizi Twitter 🐦 @hacktricks_live'da takip edin.
- Hacking hilelerinizi HackTricks ve HackTricks Cloud github depolarına pull request göndererek paylaşın.
Forensik Hile Kağıtları
https://www.jaiminton.com/cheatsheet/DFIR/#
Çevrimiçi Hizmetler
Çevrimdışı Antivirüs ve Algılama Araçları
Yara
Kurulum
sudo apt-get install -y yara
Kuralları Hazırla
Bu betiği kullanarak github'dan tüm yara kötü amaçlı yazılım kurallarını indirin ve birleştirin: https://gist.github.com/andreafortuna/29c6ea48adf3d45a979a78763cdc7ce9
rules dizinini oluşturun ve betiği çalıştırın. Bu, malware_rules.yar adında tüm yara kurallarını içeren bir dosya oluşturacaktır.
wget https://gist.githubusercontent.com/andreafortuna/29c6ea48adf3d45a979a78763cdc7ce9/raw/4ec711d37f1b428b63bed1f786b26a0654aa2f31/malware_yara_rules.py
mkdir rules
python malware_yara_rules.py
Tarama
Malware analizi yaparken, ilk adım olarak zararlı yazılımı taramanız gerekmektedir. Bu, zararlı yazılımın dosya sisteminde veya bellekte var olup olmadığını kontrol etmek anlamına gelir. Tarama işlemi, zararlı yazılımın imzalarını veya davranışsal özelliklerini algılamak için kullanılan antivirüs programları veya özel araçlar kullanılarak gerçekleştirilebilir.
Tarama sonucunda zararlı yazılım tespit edilirse, bu, analiz sürecinin devam etmesi gerektiği anlamına gelir. Zararlı yazılım tespit edilmezse, analiz süreci sonlandırılabilir veya başka bir yöntem denenebilir.
yara -w malware_rules.yar image #Scan 1 file
yara -w malware_rules.yar folder #Scan the whole folder
YaraGen: Zararlı yazılım kontrolü ve kurallar oluşturma
YaraGen aracını kullanarak bir ikilik dosyadan yara kuralları oluşturabilirsiniz. Bu öğreticilere göz atın: Bölüm 1, Bölüm 2, Bölüm 3
python3 yarGen.py --update
python3.exe yarGen.py --excludegood -m ../../mals/
ClamAV
Kurulum
ClamAV, açık kaynaklı bir antivirüs yazılımıdır. Bir sistemde kötü amaçlı yazılımları tespit etmek ve temizlemek için kullanılır. ClamAV'yi kurmak için aşağıdaki adımları izleyin:
-
Ubuntu/Debian:
sudo apt-get update sudo apt-get install clamav
-
CentOS/RHEL:
sudo yum update sudo yum install clamav
-
Fedora:
sudo dnf update sudo dnf install clamav
-
MacOS (Homebrew kullanarak):
brew update brew install clamav
-
Windows:
ClamAV'nin Windows sürümünü buradan indirin ve kurulum sihirbazını takip edin.
-
Kurulum tamamlandıktan sonra, ClamAV'yi güncellemek için aşağıdaki komutu çalıştırın:
sudo freshclam
ClamAV başarıyla kurulduğunda, kötü amaçlı yazılımları tespit etmek ve temizlemek için kullanabilirsiniz.
sudo apt-get install -y clamav
Tarama
Malware analizi yaparken, ilk adım olarak zararlı yazılımı taramanız gerekmektedir. Bu, zararlı yazılımın dosya sisteminde veya bellekte var olup olmadığını kontrol etmek anlamına gelir. Tarama işlemi, zararlı yazılımın imzalarını veya davranışsal özelliklerini algılamak için kullanılan antivirüs programları veya özel araçlar kullanılarak gerçekleştirilebilir.
Tarama sonucunda zararlı yazılım tespit edilirse, bu, analiz sürecinin devam etmesi gerektiği anlamına gelir. Zararlı yazılım tespit edilmezse, analiz süreci sonlandırılabilir veya başka bir yöntem denenebilir.
sudo freshclam #Update rules
clamscan filepath #Scan 1 file
clamscan folderpath #Scan the whole folder
Capa
Capa, PE, ELF, .NET gibi yürütülebilir dosyalarda potansiyel olarak zararlı yetenekleri tespit eder. Bu nedenle, Att&ck taktikleri veya şüpheli yetenekler gibi şeyleri bulur:
- OutputDebugString hatası kontrolü yapar
- Bir hizmet olarak çalışır
- İşlem oluşturur
Github deposunda bulabilirsiniz.
IOC'ler
IOC, Compromise Göstergesi anlamına gelir. IOC, bazı potansiyel istenmeyen yazılımları veya doğrulanmış kötü amaçlı yazılımları tanımlayan koşullar kümesidir. Mavi Takımlar, bu tür tanımları sistemlerinde ve ağlarında bu tür kötü amaçlı dosyaları aramak için kullanır.
Bu tanımları paylaşmak, bir bilgisayarda kötü amaçlı yazılım tespit edildiğinde ve bu kötü amaçlı yazılım için bir IOC oluşturulduğunda, diğer Mavi Takımların kötü amaçlı yazılımı daha hızlı tanımlamasına yardımcı olur.
IOC oluşturmak veya değiştirmek için bir araç IOC Editor'dır.
Redline gibi araçları kullanarak bir cihazda tanımlanmış IOC'leri arayabilirsiniz.
Loki
Loki, Basit Kompromis Göstergeleri için bir tarayıcıdır.
Tespit, dört tespit yöntemine dayanır:
1. File Name IOC
Regex match on full file path/name
2. Yara Rule Check
Yara signature matches on file data and process memory
3. Hash Check
Compares known malicious hashes (MD5, SHA1, SHA256) with scanned files
4. C2 Back Connect Check
Compares process connection endpoints with C2 IOCs (new since version v.10)
Linux Zararlı Yazılım Tespiti
Linux Zararlı Yazılım Tespiti (LMD), GNU GPLv2 lisansı altında yayınlanan bir Linux zararlı yazılım tarayıcısıdır ve paylaşımlı barındırılan ortamlarda karşılaşılan tehditlere odaklanmıştır. Saldırılarda aktif olarak kullanılan zararlı yazılımları tespit etmek ve tespit için imzalar oluşturmak için ağ kenarı sızma tespit sistemlerinden tehdit verileri kullanır. Ayrıca, tehdit verileri LMD kontrol özelliği ve zararlı yazılım topluluk kaynaklarından kullanıcı gönderimlerinden de elde edilir.
rkhunter
rkhunter gibi araçlar, dosya sisteminde olası rootkit ve zararlı yazılım taraması yapmak için kullanılabilir.
sudo ./rkhunter --check -r / -l /tmp/rkhunter.log [--report-warnings-only] [--skip-keypress]
FLOSS
FLOSS farklı teknikler kullanarak yürütülebilir dosyalarda şifrelenmiş dizeleri bulmaya çalışan bir araçtır.
PEpper
PEpper, yürütülebilir dosyanın içindeki bazı temel bilgileri kontrol eder (ikili veri, entropi, URL'ler ve IP'ler, bazı yara kuralları).
PEstudio
PEstudio, Windows yürütülebilir dosyalarının içindeki ithalatlar, ihracatlar, başlıklar gibi bilgileri almanızı sağlayan bir araçtır, ayrıca virüs taraması yapar ve potansiyel Att&ck tekniklerini bulur.
Detect It Easy(DiE)
DiE, bir dosyanın şifreli olup olmadığını ve paketleyicileri bulmayı sağlayan bir araçtır.
NeoPI
NeoPI, metin/skript dosyalarında şifrelenmiş ve şifrelenmiş içeriği tespit etmek için çeşitli istatistiksel yöntemler kullanan bir Python betiğidir. NeoPI'nin amaçlanan amacı, gizli web kabuk kodunun tespitine yardımcı olmaktır.
php-malware-finder
PHP-malware-finder, şifrelenmiş/şüpheli kodu ve malware/web kabuklarında sıkça kullanılan PHP işlevlerini kullanan dosyaları tespit etmek için elinden geleni yapar.
Apple Binary İmzaları
Bir malware örneği kontrol ederken, yürütülebilir dosyanın imzasını kontrol etmek her zaman önemlidir, çünkü imzayı atan geliştirici zaten malware ile ilişkili olabilir.
#Get signer
codesign -vv -d /bin/ls 2>&1 | grep -E "Authority|TeamIdentifier"
#Check if the app’s contents have been modified
codesign --verify --verbose /Applications/Safari.app
#Check if the signature is valid
spctl --assess --verbose /Applications/Safari.app
Tespit Teknikleri
Dosya Yığıtı
Eğer bir web sunucusunun dosyalarını içeren bir klasörün en son ne zaman güncellendiğini biliyorsanız. Web sunucusundaki tüm dosyaların oluşturulma ve değiştirilme tarihlerini kontrol edin ve herhangi bir tarih şüpheli ise o dosyayı kontrol edin.
Temel Çizgiler
Bir klasörün dosyalarının değiştirilmemesi gerektiğini biliyorsanız, klasörün orijinal dosyalarının karma değerini hesaplayabilir ve onları mevcut olanlarla karşılaştırabilirsiniz. Değiştirilen herhangi bir şey şüpheli olacaktır.
İstatistiksel Analiz
Bilgiler loglarda kaydedildiğinde, bir web sunucusunun her bir dosyasının kaç kez erişildiğini gibi istatistikleri kontrol edebilirsiniz, çünkü bir web kabuğu en çok olanlardan biri olabilir.