Import Address Table (IAT) adalah tabel lompatan "jmp dword ptr ds: [alamat]". Karena fungsi dalam dll mengubah alamat, bukannya memanggil fungsi dll secara langsung, aplikasi akan membuat panggilan ke jmp yang relevan di tabel lompatannya sendiri. Ketika aplikasi dijalankan, loader akan menempatkan pointer ke setiap fungsi dll yang diperlukan di alamat yang sesuai di IAT. jika rootkit disuntikkan sendiri di dalam aplikasi dan mengubah alamat di IAT, itu akan dapat menerima kontrol setiap kali fungsi target dipanggil.
Bypass
Karena Export Address Table (EAT) dari setiap dll tetap utuh, aplikasi
dapat dengan mudah memotong hook IAT dengan hanya memanggil
GetProcAddress untuk mendapatkan alamat sebenarnya dari setiap fungsi
dll.
Untuk mencegah bypass sederhana semacam itu, rootkit mungkin akan
menggunakan GetProcAddress / LdrGetProcedureAddress dan menggunakannya
untuk mengembalikan alamat palsu. hook ini dapat dilewati dengan menulis implementasi GetProcAddress Anda
sendiri dan menggunakannya untuk mendapatkan alamat fungsi yang
sebenarnya.

0 komentar:
Posting Komentar