Görüntü Dosyaları Üzerinden Sessizce Zararlı Yazılım İndirmek: Exif Smuggling + FileFix Tekniği

Katılım
17 Haz 2020
Tepki puanı
243
Rating - 0%
Siber güvenlik dünyasında saldırganlar artık klasik yöntemlerle yetinmiyor. Güvenlik çözümlerinin internet trafiğini sıkı şekilde denetlediği bir dönemde, “internete çıkmadan zararlı indirme” fikri kulağa imkânsız gibi gelebilir.

Ancak son dönemde karşılaştığım bir saldırı zinciri bu varsayımı tamamen değiştirdi.

Bu yazıda, ClickFix, FileFix ve Cache Smuggling tekniklerinin nasıl birleştirildiğini ve Exif verisi kullanılarak zararlı yazılımın pasif şekilde sisteme nasıl indirilebildiğini anlatacağım.

ClickFix.png

ClickFix Nedir? Kullanıcıyı Kendine Karşı Kullanmak​

ClickFix, genellikle sahte bir CAPTCHA ekranı üzerinden kurbanı sosyal mühendislik ile kandıran bir saldırı yöntemidir.

Kullanıcıya şu adımlar yaptırılır:

  1. Win + R
  2. Ctrl + V
  3. Enter
Win + R, Windows’ta “Çalıştır” penceresini açar.
Web sitesi arka planda JavaScript ile kullanıcının panosuna zararlı bir komut kopyalamıştır.
Kullanıcı Ctrl + V yaptığında bu komut Çalıştır penceresine yapıştırılır.
Enter’a basıldığında ise komut çalıştırılır.

Bu yöntem, PowerShell gibi script motorlarını kullanarak zararlı kodu çalıştırabilir.

Ancak burada önemli bir sınırlama vardır:

Run (Çalıştır) penceresi maksimum 260 karakter kabul eder.
Bu da saldırganın yazabileceği komutu ciddi şekilde sınırlar.

FileFix: Aynı Yöntem, Daha Büyük Alan​

FileFix, ClickFix’in gelişmiş versiyonudur.

Fortinet VPN.png

Bu kez kullanıcıdan Windows Explorer adres çubuğuna metin yapıştırması istenir.

Explorer adres çubuğu:

  • Run gibi çalışır
  • Ancak 2048 karaktere kadar izin verir
Bu saldırgan için çok daha geniş bir alan demektir.

Ayrıca saldırganlar genellikle komutu boşluklarla doldurarak, kullanıcının yalnızca masum görünen bir dosya yolu görmesini sağlar.

Örneğin kullanıcı sadece şunu görür:


\\NetworkShare\Finance\Reports\EmployeeSalaries.txt

Ancak arka planda çok daha uzun ve zararlı bir komut gizlidir.


Asıl Fark: Cache Smuggling​

Buraya kadar olan kısım bilinen teknikler.
Fakat karşılaştığım örnekte işin içine Cache Smuggling giriyordu.

Cache Smuggling, tarayıcının önbelleğini kullanarak dosyaları diske yazdırma tekniğidir.

Normalde tarayıcılar şu dosyaları cache’e alır:

  • CSS
  • JavaScript
  • Görseller
Ancak kritik nokta şudur:

Tarayıcı dosyanın gerçekten görsel olup olmadığını umursamaz.
HTTP başlığında Content-Type: image/jpeg yazması yeterlidir.
Bu sayede saldırgan:

  • Zararlı bir EXE dosyasını
  • image/jpeg olarak servis eder
  • Tarayıcı bunu cache klasörüne kaydeder
Böylece zararlı dosya sisteme indirilmiş olur.
Üstelik loader internetten hiçbir şey indirmez.

Bu da EDR sistemlerini atlatma ihtimalini artırır.

Zayıf Nokta: Sahte JPG Dosyaları​

Ancak klasik Cache Smuggling yönteminin bazı problemleri vardır:

  • Dosya gerçek bir JPG değildir.
  • JPG header’ı yoktur.
  • Firewall TLS inspection mismatch yakalayabilir.
  • Antivirüs dosyaya erişildiği anda tarama yapar.
Bu yüzden daha sofistike bir yaklaşım gereklidir.

Bir Adım Ötesi: Exif Smuggling​

Exif Smuggling.png

İşte burada yaratıcı kısım başlıyor.

JPG dosyaları Exif metadata barındırabilir.

Exif alanında:

  • Fotoğrafın çekildiği yer
  • Tarih
  • Kamera modeli
  • Lens bilgisi
gibi veriler saklanır.

Ancak çok kritik bir detay vardır:

Exif header alanı 64 KB’a kadar veri saklayabilir.
Ve daha da ilginci:

Tek bir Exif alanı bu 64 KB’lık alanın tamamını kullanabilir.
Bu ne anlama geliyor?

Bir JPG dosyasının içine tek parça halinde 64 KB’lık binary payload gömülebilir.


Null Byte ile Gizleme Hilesi​

Exif ASCII alanları null byte (\x00) ile sonlandırılır.

Ancak Exif formatında ayrıca bir “length” değeri vardır.

Bu da şu anlama gelir:

  • Çoğu yazılım null byte gördüğünde okumayı bırakır.
  • Ama gerçekte veri devam edebilir.
Örneğin:

Exif.png
Definitely Not Malware\0[payload]

Windows özellikler ekranında sadece:

Definitely Not Malware
görünür.

Ancak hex editörde payload hâlâ oradadır.

Bu yöntem sayesinde zararlı kod:

  • Görünmez olur
  • Geçerli bir JPG içinde saklanır
  • Dosya bozuk görünmez

Payload Nasıl Çıkarılıyor?​

Exif verisini parse etmeye bile gerek yok.

Payload şu şekilde etiketlenir:


13371337[payload]13371337

PowerShell tarafında basit bir RegEx ile çıkarılabilir.

Loader:

  1. Tarayıcı cache klasörünü tarar
  2. 13371337 imzasını arar
  3. Bulduğu veriyi ayıklar
  4. Bellekte çalıştırır
Bu noktada:
malware.png
  • Web isteği yok
  • Harici indirme yok
  • Ağ trafiği yok

Outlook Üzerinden Pasif Payload İndirme​

Daha ilginç bir saldırı yüzeyi de Microsoft Outlook.

Outlook:

  • Edge tabanlıdır
  • Görselleri tarayıcı gibi cache’ler
  • Exif verisini silmez
Üstelik:

Görsel önizleme kapalı olsa bile attachment cache’e yazılabilir.
Bu da şunu mümkün kılar:

Kurban e-postayı açmasa bile,
zararlı JPG cache klasörüne düşebilir.

Loader daha sonra cache’i tarayıp payload’ı çıkarabilir.
powershell.exe.png

Neden Bu Tehlikeli?​

Geleneksel güvenlik varsayımı şudur:

Zararlı yazılım:

  • Ya payload’ı gömülü taşır
  • Ya internetten indirir
Ancak Exif Smuggling + Cache Smuggling birleştiğinde:

Payload zaten sistemdedir.
Script’in internet erişimini engellemek artık yeterli değildir.


Savunma Tarafı Ne Yapmalı?​

Bu teknik şunu gösteriyor:

  • Cache klasörleri güvenli değildir.
  • Exif metadata denetlenmelidir.
  • İçerik türü doğrulaması gerçek header kontrolü ile yapılmalıdır.
  • Script’lerin yalnızca network erişimi değil, dosya sistemi taraması da izlenmelidir.
Güvenlik çözümleri “download yaptı mı?” sorusunun ötesine geçmelidir.


Sonuç​

Exif Smuggling yeni değil.
Cache Smuggling de yeni değil.
ClickFix ve FileFix de yeni değil.

Ancak hepsinin birleşimi:

Sessiz, ağsız, iz bırakmayan ikinci aşama payload dağıtımı
anlamına geliyor.

Bu teknik özellikle:

  • EDR atlatma
  • C2’siz loader geliştirme
  • Pasif payload yerleştirme
senaryolarında ciddi tehdit oluşturuyor.

Siber güvenlikte artık şu varsayımı terk etmek gerekiyor:

“Zararlı bir şey indirmediyse sistem güvendedir.”
Bazen payload zaten oradadır.
 
131,449Konular
3,268,265Mesajlar
315,162Kullanıcılar
MonkeydLuffySon Üye
Üst Alt