BlackNullSec Projeler #1: Process Hollowing Nedir?
🚀 Amaç: Process Hollowing, yasal bir işlemin (örneğin Notepad.exe gibi) belleği boşaltılarak, onun yerine kötü amaçlı bir PE (Portable Executable) dosyasının enjekte edilmesi işlemidir. Bu teknik, genellikle antivirüsleri kandırmak ve sandbox sistemlerinden kaçmak için tercih edilir.
Process Hollowing Projesi.
1. Ayarlar ve Kütüphaneler
#define _CRT_SECURE_NO_WARNINGS: Visual Studio'nun scanf gibi fonksiyonlar için verdiği "güvensiz fonksiyon" uyarılarını kapatmak için.
windows.h: Windows API fonksiyonlarını (OpenProcess, VirtualAllocEx, vs.) kullanmak için gerekiyor.
stdio.h: printf, scanf gibi standart giriş/çıkış işlemleri için.
2. Hedef Sürecin PID'sini Al: (Kurban proses)
pid (Process ID) → Kullanıcıdan hedef sürecin PID’si isteniyor.
Bu PID ile daha sonra hedef sürece müdahale edilecek.
🔸 PID’yi nereden alırsın?
Görev yöneticisinden (Ctrl+Shift+Esc → Ayrıntılar sekmesi) notepad.exe’nin PID’si bakılıp girilebilir.
3. Hedef Süreci Aç
PROCESS_ALL_ACCESS: Hedef süreci tüm haklarla açmak istiyoruz. (okuma, yazma, bellek ayırma, vs.)
FALSE: Çocuk süreçler için handle kalıtımı kapalı.
pid: Belirtilen süreç açılıyor.
Hata kontrolü:
Eğer açamıyorsa (yetki yoksa, süreç yoksa, VS çalıştırılmadıysa), hata veriyor.
4. Bellek Ayır (Inject edilecek alan)
Hedef sürecin belleğinde 1 KB boş alan ayırıyor.
Bu alan PAGE_READWRITE özellikli; payload’u bu alana yazacağız.
Hata kontrolü:
5. Mesajız Var: Yazılacak Veri
Bu bir örnek payload: Mesela DLL yüklemek yerine sadece yazı yazılıyor. (zafiyet testleri, debugger'lar gibi amaçlarla)
6. Belleğe Yaz
WriteProcessMemory → hedef sürecin belleğine veri yazıyor.
remoteBuffer: hedefteki adres
msg: kaynak verimiz
sizeof(msg): veri boyutu
&written: kaç byte yazıldı
✔️ Eğer başarılıysa:
7. Temiz İş: Handle'ı Kapat
Açtığın işlem handle’ını kapatmalısın yoksa sistem kaynak sızıntısı olabilir.
⚠️ Kritik Uyarı
Bu teknikler yalnızca eğitim amaçlıdır. Gerçek sistemlere uygulanması yasadışı olabilir. Asla gerçek ortamlarda test etme.
🌟 Sonraki Yazı: Process Apı
"Process API" dediğimizde, Windows’ta işlem (process) oluşturma, kontrol etme ve sonlandırma gibi işlemleri gerçekleştiren Windows API fonksiyonları kastedilir. CreateProcess ve OpenProcess konularına geçeceğiz.
BlackNullSec
“Windows Belleğiyle Konuşan Kodlar”
“Windows Belleğiyle Konuşan Kodlar”
hacker