Process Injection Nedir – Process Injection Teknikleri | İşlemleri Hackleyin – Process Güvenliği
Process Injection Nedir?
Process injection, zararlı kodların sistemde çalışan işlemlere zorla sokulması ve işlemin içerisinde bu kodların çalıştırılmasıdır. Kısacası, process injection yaparken saldırgan bilgisayarımızda çalışan işlemleri hedef alır. Bu işlemlere kendi kodunu enjekte eder. Bu yazımızda bazı process injection tekniklerine değineceğim…
Process Injection Teknikleri
1. Klasik DLL Injection
Bu teknik, zararlı yazılımın işlemlere bulaşması için kullanılan en yaygın enjeksiyon tekniğidir. Bu teknikte, zararlı yazılım sistemde çalışan başka bir işlemin sanal adres alanına kendi kötü amaçlı dinamik bağlantı kitaplığının (DLL) yolunu yerleştirir ve uzaktaki zararlı işleminin sistemde bulunan bu işlem üzerinden yüklenmesini sağlar.
Zararlı yazılım remote dll process injection gerçekleştirebilmek için bir hedefe ihtiyacı vardır (örneğin hedef svchost.exe işlemi olsun). Zararlı, bu hedefi Application Program Interfaces (APIs) üçlemesi kullanarak yaptığı arama sonucunda bulur. Bu API’lar:
• CreateToolhelp32Snapshot, Process32First ve Process32Next ‘dır. CreateToolhelp32Snapshot, belirli bir işlemin yada işlemlerin yığın veya modül durumlarını numaralandırmak için kullanılan bir API’dır ve bir snapshot yani anlık görüntü döndürür.
• Process32First, snapshoptta yer alan ilk işlem hakkında bilgi getirir, ardından Process32Next ise döngü içinde yineleme yapar.
Hedef Process bulunduktan sonra, zararlı yazılım OpenProcess’i çağırarak hedef işlem ile ilgilenir.
Yukarıdaki figürde gördüğünüz gibi, zararlı yazılım DLL dosyasının yoluna alan açmak için VirtualAllocEx’ı çağırır. Zararlı yazılım, daha sonra oluşturulan alana DLL dosyasını yazacak olan WhiteProcessMemory’i çağırır. Son olarak, kodun başka bir işlemde çalıştırılabilmesi için kötü amaçlı yazılım CreateRemoteThread, NtCreateThreadEx yada RtlCreateUserThread gibi API’lar kullanır.
CreateRemoteThread genellikle antivirüsler tarafından takip altında olduğu için sofistike saldırganlar tarafından bu yöntem pek kullanılmamaktadır.
2. Portable Executable Injection (PE Injection)
LoadLibrary’nin sanal adresine pas geçmek yerine malware. zararlı kodunu var olan açık bir işleme de enjekte edebilir. PE enjeksiyonun bir avantajı, zararlı yazılımın diskte kötü amaçlı DLL’yi bulundurmak zorunda olmamasıdır. 1. teknikten tek farkı, zararlı yazılımın VirtualAllocEx’in açtığı alana DLL dosyasını yazmak yerine direkt olarak zararlı kodun kendisini yazmasıdır.
3. Process Hollowing (İşlem Kabartma)
Host üzerinde çalışan bir işleme bir kod enjekte etmek yerine, işlem kabartma tekniğini kullanabilir. Bu teknikte, hedef işlemin sanal adresindeki yasal kodu kaldırılır ve zararlı kod üzerine yazılır.
Uzun süre Blogger’de acaaba.com adresinde yazılar yazdım. Genel olarak teknoloji, sanat ve psikoloji üzerine bir internet sitesi. Yaklaşık 3 yıldır aralıklı olarak siber güvenlik ile ilgilendim, 2 yıldır da profesyonel olarak bu alanda çeşitli çalışmalar yapmaktayım.