hacktricks/generic-methodologies-and-resources/basic-forensic-methodology/malware-analysis.md

8.7 KiB
Raw Blame History

Kötü Amaçlı Yazılım Analizi

Sıfırdan kahraman olana kadar AWS hackleme öğrenin htARTE (HackTricks AWS Kırmızı Takım Uzmanı)!

HackTricks'ı desteklemenin diğer yolları:

Adli Bilişim 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ırlayın

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 adlı bir dizin oluşturun ve betiği çalıştırın. Bu, kötü amaçlı yazılımlar için tüm yara kurallarını içeren malware_rules.yar adlı 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

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 ikiliden yara kuralları oluşturabilirsiniz. Bu eğitimlere 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

sudo apt-get install -y clamav

Tarama

sudo freshclam      #Update rules
clamscan filepath   #Scan 1 file
clamscan folderpath #Scan the whole folder

Capa

Capa, yürütülebilir dosyalardaki (PE, ELF, .NET) potansiyel olarak kötü niyetli yetenekleri tespit eder. Bu nedenle Att&ck taktikleri gibi şeyleri veya şüpheli yetenekleri bulacaktır:

  • OutputDebugString hatasını kontrol et
  • bir hizmet olarak çalıştır
  • işlem oluştur

Github deposundan edinin.

IOC'ler

IOC, Tehdit Belirleyici anlamına gelir. Bir IOC, bazı potansiyel istenmeyen yazılımları veya onaylanmış zararlı yazılımları tanımlayan koşullar kümesidir. Mavi Takımlar, bu tür kötü niyetli dosyaları sistemlerinde ve ağlarında aramak için bu tür tanımlamaları kullanır.
Bu tanımlamaları paylaşmak, bir bilgisayarda zararlı yazılım tanımlandığında ve o zararlı yazılım için bir IOC oluşturulduğunda, diğer Mavi Takımların zararlı yazılımı daha hızlı tanımlamasına yardımcı olur.

IOC'ler 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 aramak mümkündür.

Loki

Loki, Basit Tehdit Göstergeleri için bir tarayıcıdır.
Tespit, dört tespit yöntemine dayanmaktadı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 Tespit (LMD), GNU GPLv2 lisansı altında yayınlanan, paylaşımlı barındırma ortamlarında karşılaşılan tehditlere odaklanan bir Linux zararlı yazılım tarayıcısıdır. Ağ kenarı sızma tespit sistemlerinden tehdit verileri kullanarak saldırılarda aktif olarak kullanılan zararlı yazılımları çıkartır ve tespit için imzalar oluşturur. Ayrıca, tehdit verileri, LMD ödeme özelliği ve zararlı yazılım topluluk kaynakları ile kullanıcı gönderimlerinden de elde edilir.

rkhunter

rkhunter gibi araçlar, dosya sisteminde olası rootkit ve zararlı yazılımları kontrol etmek 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 dosyalar içinde şifrelenmiş dizeleri bulmaya çalışan bir araçtır.

PEpper

PEpper yürütülebilir dosyanın içinde bazı temel bilgileri kontrol eder (ikili veri, entropi, URL'ler ve IP'ler, bazı yara kuralları).

PEstudio

PEstudio Windows yürütülebilir dosyalar hakkında bilgi almayı sağlayan bir araçtır; içeri aktarımlar, dışarı aktarımlar, başlıklar gibi, ayrıca virüs toplamını kontrol eder ve potansiyel Att&ck tekniklerini bulur.

Detect It Easy(DiE)

DiE bir dosyanın şifreli olup olmadığını tespit etmek ve paketleyicileri bulmak için bir araçtır.

NeoPI

NeoPI metin/skript dosyaları içindeki ş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 kodları ve genellikle kötü amaçlı yazılımlarda/web kabuklarında kullanılan PHP işlevlerini içeren dosyaları tespit etmek için elinden geleni yapar.

Apple Binary Signatures

Bazı kötü amaçlı yazılım örneğini kontrol ederken, binary'nin imzasını kontrol etmek her zaman önemlidir çünkü imzayı atan geliştirici muhtemelen zaten kötü amaçlı yazılımla ilişkilidir.

#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

Algılama Teknikleri

Dosya Yığma

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 hash'ini hesaplayabilir ve şu anki dosyalarla karşılaştırabilirsiniz. Değiştirilen her şey şüpheli olacaktır.

İstatistiksel Analiz

Bilgiler loglarda kaydedildiğinde, bir web sunucusunun her dosyasının kaç kez erişildiği gibi istatistikleri kontrol edebilirsiniz, çünkü bir web kabuğu en çok kullanılanlardan biri olabilir.