Security Joes’daki siber güvenlik araştırmacıları kısa süre önce “Alaycı Kuş” olarak adlandırılan yeni bir enjeksiyon tekniği keşfetti.
Tehdit aktörleri, EDR (Endpoint Detection and Response) ve diğer güvenlik çözümlerinden kaçarak güvenliği ihlal edilmiş sistemlerde kötü amaçlı kod çalıştırmak ve yürütmek için bu yeni keşfedilen enjeksiyon tekniğini aktif olarak kullanabilir.
RWX bölümleriyle DLL’leri kullanan bu teknik, EDR kancalarını kolayca atlar ve uzak işlemlere kod enjekte eder.
Güvenilir çalışan süreçlere kod enjekte ederek, süreç enjeksiyonu, tehdit aktörlerinin tespit edilemeyen kötü amaçlı kod yürütmesini sağlar.
Saldırganlar bu tekniklerde Windows API’lerini, sistem çağrılarını, işlem/iş parçacığı oluşturmayı ve işlem belleği yazmayı kullanır.
Güvenlik araçları, yukarıda belirtilen belirli eylemleri izleyerek şüpheli olayları tespit edebilir ve bunlara müdahale edebilir.
Aşağıdaki şeyler, Alaycı Kuş’u diğerlerinden farklı kılarak çeşitli tespit olasılıklarından kaçmasını sağlar: –
Yaygın olarak kötüye kullanılan Windows API çağrıları kullanılmaz
- Özel izinler ayarla
- Bellek ayırmayı gerçekleştir
- Bir iş parçacığı başlat
Proses Enjeksiyon Yöntemleri
Aşağıda, tüm işlem enjeksiyon yöntemlerinden bahsetmiştik: –
- Kendi Kendine Enjeksiyon: Bu teknik genellikle kötü amaçlı yazılım paketleyicilerinde bulunur ve herhangi bir harici işlemi etkilemez; bunun yerine enjeksiyonu yürüten süreç, enjekte edilen yükü alan süreçle aynıdır.
- Klasik DLL Enjeksiyonu: Bu teknik, başka bir işlemin bellek alanına kötü amaçlı bir DLL enjekte eder. Bu durumda, kötü amaçlı örnek önce hedeflemeyi amaçladığı belirli işlemi tanımlamalı, içinde belleğin bir bölümünü ayırmalı ve kötü amaçlı DLL’nin diskten yürütülmesini başlatmak için bir iş parçacığı oluşturmalıdır.
- PE Enjeksiyonu: Bu teknik, çalışan bir işlemin bellek alanına tüm bir Taşınabilir Yürütülebilir Dosya (PE) dosyasını eşler. Hedef işlem içinde, yük için hedef görevi görecek yeni bir bellek bölümü ayırır. Yükün içeriği daha sonra, yeniden yerleştirme tanımlayıcıları ve bölümün mutlak adresi kullanılarak, Windows Yükleyicinin işlevselliğini taklit ederek bu bellek bölümüne dinamik olarak eşlenir.
- İşlem İçi Boşaltma / Çalıştırma PE: Bu teknikte, hedef sürecin orijinal kodu ve kaynakları değiştirilir veya kaldırılır ve geriye yalnızca çıplak süreç çerçevesi kalır. İçi boş işlem daha sonra enjekte edilen kötü amaçlı kod için bir ana bilgisayar haline gelir ve meşru bir işlem kisvesi altında yürütülmesine izin verir.
- Konu Yürütme Ele Geçirme: Bu teknik, bir hedef iş parçacığının yürütülmesini rasgele koda yönlendirerek bir işlem içindeki yürütme akışının kontrolünü ele geçirmek için kullanılır. Saldırganın, yeni bir süreç oluşturmadan veya temeldeki kodu değiştirmeden çalışan bir sürecin davranışını manipüle etmesine olanak tanır.
- Haritalama Enjeksiyonu: NtMapViewOfSection kullanılarak, kötü amaçlı kod, saldırgan tarafından kontrol edilen mevcut bir bölümden hedef işleme eşlenir. Bu yaklaşım, RWX bölümlerini açıkça ayırma gerekliliğini ortadan kaldırır ve ayrı yük içerik kopyalama ihtiyacını ortadan kaldırır. Kötü amaçlı kod, dolaylı olarak hedef işlemin bellek alanının bir parçası haline gelir ve gerçek bir modül bağlamında yürütülmesine izin verir.
- APC Enjeksiyonu ve Atom Bombalama: Bu teknik, Windows işletim sistemindeki Eşzamansız Prosedür Çağrısı (APC) mekanizmasını, bir hedef süreçte kötü amaçlı kod enjekte etmek ve yürütmek için kullanır.
- İşlem Eşleştirmesi: Bu teknik, meşru bir görünüme sahip bir süreç oluşturarak kötü amaçlı süreçleri gizlemek için kötü amaçlı yazılım geliştirmede kullanılır. Mevcut, meşru bir işlem gibi görünen ancak bunun yerine kötü amaçlı kod çalıştıran yeni bir işlem oluşturmak için işlemsel NTFS (TxF) ve Windows işlem yükleme mekanizmalarının kullanılmasını içerir.
alaycı kuş EDR’yi atla
Araştırmacılar, varsayılan bir RWX bölümüyle güvenlik açığı bulunan bir DLL’yi bulmayı ve zararlı kod yüklemek için içeriğinin zahmetsizce değiştirilmesini sağlamayı amaçladı.
Bu, güvenlik yazılımını uyarabilecek daha fazla izin alma gibi ek adımlara olan ihtiyacı atlar.
Güvenlik Joe’nun analistleri, DLL aramalarında, Visual Studio 2022 Community’nin 16 KB varsayılan RWX bölümüne sahip msys-2.0.dll dosyasına rastladı.
Bunu takiben, ekip iki enjeksiyon tekniği tasarladı ve burada aşağıda bahsediliyor:-
- Kendi kendine enjeksiyon
- Uzaktan işlem enjeksiyonu
İlk senaryo için, güvenlik açığı bulunan DLL’yi iki Windows API çağrısı kullanarak doğrudan belleğine yükleyen özel bir uygulama olan “nightmare.exe”.
Bu, bellek tahsisini veya izin ayarlarını atlar ve RWX bölümüne doğrudan giriş sağlar.
EDR bu noktada yeni bir süreç oluşturulduğu bilgisini alır ve uygulama çalıştırıldıktan hemen sonra kendi dinamik kütüphanesini buna ekler.
Yürütmeden sonra EDR, bellek içi NTDLL.DLL kopyası içindeki hedeflenen işlevleri değiştirmek için bayt kodunu değiştirir.
Ardından, “Hell’s Gate EDR kancasını kaldırma” tekniği, sistem çağrı numaralarını çıkarmak için yeni bir sistem modülü olan NTDLL.DLL’den yararlanır.
Bu sayılar, EDR kancalarını atlayarak enjekte edilen kabuk kodunun fark edilmeden yürütülmesini sağlar.
msys-2.0.dll’nin TWX bölümünden yararlanan ikinci yaklaşım, “ssh.exe” işlemine uzaktan bir yük enjekte eder.
Bu senaryoda, enjekte edilen kabuk kodu, saldırganın makinesiyle bir ters kabuk bağlantısı başlatmak için “MyLibrary.dll” DLL dosyasını yükler.
PoC Videosu
Aşağıda, PoC videosundan bahsetmiştik: –
Aşağıda, EDR çözümleri tarafından yaygın olarak izlenen ve süreç enjeksiyon saldırılarında toplanan tüm API’lerden bahsetmiştik: –
- Yazma İşlemi Belleği
- NtWriteSanal Bellek
- Uzak İş Parçacığı Oluştur
- NtCreateThreadEx
Bu nedenle Alaycı Kuş uyarıları tetikleme olasılığını en aza indirir. Yalnızca EDR çözümlerine güvenmek yerine, Security Joes’un “Alaycı Kuş” geliştirmesi, sağlam ve gelişmiş güvenlik yaklaşımlarına olan ihtiyacı vurgular.
“Yapay zeka tabanlı e-posta güvenlik önlemleri İşletmenizi E-posta Tehditlerinden Koruyun!” – Ücretsiz Demo İsteyin.