hacktricks/forensics/basic-forensic-methodology/malware-analysis.md

180 lines
9.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Kötü Amaçlı Yazılım Analizi
{% hint style="success" %}
AWS Hacking'i öğrenin ve uygulayın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Eğitimi AWS Kırmızı Takım Uzmanı (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP Hacking'i öğrenin ve uygulayın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Eğitimi GCP Kırmızı Takım Uzmanı (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary>HackTricks'i Destekleyin</summary>
* [**Abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin!
* 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) katılın veya [**telegram grubuna**](https://t.me/peass) katılın veya bizi **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** takip edin.**
* **Hacking püf noktalarını paylaşarak PR'ler göndererek** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github depolarına katkıda bulunun.
</details>
{% endhint %}
## Adli Bilişim Hile Sayfaları
[https://www.jaiminton.com/cheatsheet/DFIR/#](https://www.jaiminton.com/cheatsheet/DFIR/)
## Çevrimiçi Hizmetler
* [VirusTotal](https://www.virustotal.com/gui/home/upload)
* [HybridAnalysis](https://www.hybrid-analysis.com)
* [Koodous](https://koodous.com)
* [Intezer](https://analyze.intezer.com)
* [Any.Run](https://any.run/)
## Çevrimdışı Antivirüs ve Algılama Araçları
### Yara
#### Kurulum
```bash
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](https://gist.github.com/andreafortuna/29c6ea48adf3d45a979a78763cdc7ce9)\
_**rules**_ adında 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.
```bash
wget https://gist.githubusercontent.com/andreafortuna/29c6ea48adf3d45a979a78763cdc7ce9/raw/4ec711d37f1b428b63bed1f786b26a0654aa2f31/malware_yara_rules.py
mkdir rules
python malware_yara_rules.py
```
#### Tarama
```bash
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**](https://github.com/Neo23x0/yarGen) adlı aracı kullanarak bir ikiliden yara kuralları oluşturabilirsiniz. Bu eğitimlere göz atın: [**Bölüm 1**](https://www.nextron-systems.com/2015/02/16/write-simple-sound-yara-rules/), [**Bölüm 2**](https://www.nextron-systems.com/2015/10/17/how-to-write-simple-but-sound-yara-rules-part-2/), [**Bölüm 3**](https://www.nextron-systems.com/2016/04/15/how-to-write-simple-but-sound-yara-rules-part-3/)
```bash
python3 yarGen.py --update
python3.exe yarGen.py --excludegood -m ../../mals/
```
### ClamAV
#### Kurulum
```
sudo apt-get install -y clamav
```
#### Tarama
```bash
sudo freshclam #Update rules
clamscan filepath #Scan 1 file
clamscan folderpath #Scan the whole folder
```
### [Capa](https://github.com/mandiant/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**](https://github.com/mandiant/capa) edinin.
### IOC'ler
IOC, Tehdit Belirtici 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ı olabilir.
IOC'ler oluşturmak veya değiştirmek için bir araç [**IOC Düzenleyici**](https://www.fireeye.com/services/freeware/ioc-editor.html)**'dir.**\
[**Redline**](https://www.fireeye.com/services/freeware/redline.html) gibi araçları kullanarak bir cihazda tanımlanmış IOC'leri arayabilirsiniz.
### Loki
[**Loki**](https://github.com/Neo23x0/Loki), Basit Tehdit Belirteçleri 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 Tespiti (LMD)**](https://www.rfxn.com/projects/linux-malware-detect/), GNU GPLv2 lisansı altında yayınlanan, paylaşımlı barındırma ortamlarında karşılaşılan tehditlere odaklanılarak tasarlanmış 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ından da elde edilebilir.
### rkhunter
[**rkhunter**](http://rkhunter.sourceforge.net) gibi araçlar, dosya sistemini olası **rootkit**ler ve zararlı yazılımlar için kontrol etmek için kullanılabilir.
```bash
sudo ./rkhunter --check -r / -l /tmp/rkhunter.log [--report-warnings-only] [--skip-keypress]
```
### FLOSS
[**FLOSS**](https://github.com/mandiant/flare-floss) farklı teknikler kullanarak yürütülebilir dosyalar içinde şifrelenmiş dizeleri bulmaya çalışan bir araçtır.
### PEpper
[PEpper ](https://github.com/Th3Hurrican3/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](https://www.winitor.com/download) Windows yürütülebilir dosyalar hakkında bilgi almayı sağlayan bir araçtır; içeri aktarmaları, dışarı aktarmaları, başlıkları kontrol eder, ayrıca virüs toplamını kontrol eder ve potansiyel Att\&ck tekniklerini bulur.
### Detect It Easy(DiE)
[**DiE**](https://github.com/horsicq/Detect-It-Easy/) bir dosyanın **şifreli** olup olmadığını tespit etmek ve **paketleyicileri** bulmak için bir araçtır.
### NeoPI
[**NeoPI** ](https://github.com/CiscoCXSecurity/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**](https://github.com/nbs-system/php-malware-finder) **şifrelenmiş**/**şüpheli kodları** tespit etmek için elinden geleni yapar ve genellikle **kötü amaçlı yazılımlarda**/web kabuklarında kullanılan **PHP** işlevlerini kullanan dosyaları tespit eder.
### 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**.
```bash
#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**. Herhangi bir değiştirilen dosya **şüpheli** olacaktır.
### İstatistiksel Analiz
Bilgiler loglarda kaydedildiğinde, her bir web sunucusu dosyasının kaç kez erişildiği gibi istatistikleri **kontrol edebilirsiniz**, çünkü bir web kabuğu en çok olanlardan biri olabilir.
{% hint style="success" %}
AWS Hacking öğrenin ve uygulayın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Eğitimi AWS Kırmızı Takım Uzmanı (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP Hacking öğrenin ve uygulayın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Eğitimi GCP Kırmızı Takım Uzmanı (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary>HackTricks'i Destekleyin</summary>
* [**Abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin!
* 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) katılın veya [**telegram grubuna**](https://t.me/peass) katılın veya bizi **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** takip edin**.
* **HackTricks** ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github depolarına PR göndererek hacking püf noktalarını paylaşın.
</details>
{% endhint %}