hacktricks/forensics/basic-forensic-methodology/malware-analysis.md
2024-02-10 18:14:16 +00:00

11 KiB
Raw Blame History

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ı:

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:

  1. Ubuntu/Debian:

    sudo apt-get update
    sudo apt-get install clamav
    
  2. CentOS/RHEL:

    sudo yum update
    sudo yum install clamav
    
  3. Fedora:

    sudo dnf update
    sudo dnf install clamav
    
  4. MacOS (Homebrew kullanarak):

    brew update
    brew install clamav
    
  5. Windows:

    ClamAV'nin Windows sürümünü buradan indirin ve kurulum sihirbazını takip edin.

  6. 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 apps 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.