BlackNullSec Path #5: Memory Apıler
🚀 Amaç: Memory API’ler, sistemin kalbinde sessizce operasyon yapmanın anahtarıdır. Dosyaya yazmak iz bırakır, sürece kod enjekte
Windows API fonksiyonları kastedilir. Bu, senin gibi malware developer ya da Red Team geliştiricisi olmak isteyen biri için hayati derecede önemlibir konudur.
CreateProcess=Notepad handle açOpenProcess=Pıd ile handle aç=VirtualAllocex=Notepad belleginde yer ayır(ör=100byte)WriteProcessMemory=Buraya "Shellcode veya string"ReadProcessMemory=aynı string geri okuVirtualProtectEx=o bellek alanı PAGE_READ_ONLY(NOT= EGER STRİNG İSE )NOT="Eger string degilde shellcode ise PAGE_EXECUTE_READWRITE yani=oku,yaz,çalıştır")
Senaryo
1. VirtualAllocEx
Başka bir peopcess bellegindealan ayırır.
VirtuallAllocEx(
HANDLE hProcess //hedef processin handle(mesela OpenProcess ilew alırsın)
LPVOID lpAddres //Nll bırakırsan Windows uygun adres
SIZE-T dwSize //kaç byte ayıracaksın
DWORD flAllocation //MEM_COMMIT| MEM_RESERVE
DWORD flProtect // Bellek koruma koruma turu(Not:ShellCode için PAGE_EXECUTE_READwRITE)
)
2.WriteProcessMemory Apı
Sesin bellegindeki veriyi başka bir process!in belleginde yazar.
BOOL WriteProcessMemory(
HANDLE hProcess, // Hedef işlem
LPVOID lpBaseAddress, // Yazılacak adres (VirtualAllocEx ile alınır)
LPCVOID lpBuffer, // Verinin adresi (örneğin shellcode)
SIZE_T nSize, // Yazılacak veri boyutu
SIZE_T *lpNumberOfBytesWritten // Gerçek yazılan boyut (isteğe bağlı)
);
Not=Hedef processe kotu amaçlı payload yerleştirmek
3.ReadProcessMemory Apı
Başka bir prosesi okur.
BOOL ReadProcessMemory(
HANDLE hProcess, // Hedef işlem handle'ı
LPCVOID lpBaseAddress, // Okunacak adres
LPVOID lpBuffer, // Verilerin yazılacağı buffer
SIZE_T nSize, // Kaç byte okunacak
SIZE_T *lpNumberOfBytesRead // Gerçek okunan byte miktarı
);
4.VirtualAllocEx Apı
Bir sürecin belleğinde ayırdığın alan başta yazılamaz veya çalıştırılamaz olabilir. VirtualProtectEx, bu bellek bölgesine RWX (Read-Write-Execute) gibi haklar vererek shellcode çalıştırmaya olanak tanır.
BOOL VirtualProtectEx(
HANDLE hProcess, // Hedef işlem
LPVOID lpAddress, // Koruması değiştirilecek bellek adresi
SIZE_T dwSize, // Değiştirilecek alanın boyutu
DWORD flNewProtect, // Yeni koruma türü (RWX, R, vb.)
PDWORD lpflOldProtect // Eski koruma türü (geri alınabilir)
);
}
C'de Notepad exe oluşturma Memory apılerde
⚠️ 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ı: Thread Apıler
"Shellcode çalıştırma, DLL yükleme veya bir fonksiyonu arka planda sessizce işletme gibi durumlarda kritik rol oynarlar. CreateThread ve 2.CreateRemoteThread Apı konularına geçeceğiz.
BlackNullSec
“Windows Belleğiyle Konuşan Kodlar”
“Windows Belleğiyle Konuşan Kodlar”
hacker