Jump to content

API Hooking

From Haidhi Wiki

API Hooking adalah teknik yang sering dipakai Malware untuk mencegat dan memanipulasi panggilang function API di Windows. Dengan API Hooking malware dapat:

  • Mengubah input data yang masuk
  • Mengubah output data yang keluar
  • Menyisipkan Kode jahat ditengah proses

*Mungkin mirip dengan cara kerja burpsuite di web security (?)
biasanya teknik ini dilakukan melalui process Process Injection yaitu meng-inject code ke process lain

Warning: Hacking without permission is ilegal

Tujuan Utama Menggunakan API Hooking

Menyembunyikan diri

Agar antivirus dan user tidak sadar akan proses jahat yang sedang berjalan, malware akan hook API yang biasa dipakai untuk:

  • List Proses

Malware akan menggunakan function seperti Process32First() dan Process32Next() agar proses malware tidak muncul di Task Manager

  • List File

Malware akan menggunakan function seperti FindFirstFileA() dan FindNextFileA() agar file malware tidak muncul di Windows Explorer

  • List Registry

Malware akan menggunakan function seperti RegQueryInfoKey() dan RegEnumKeyEx() agar malware dapat bersembunyi di Registry

Mencuri Data Bank (Banking Trojan)

Untuk menyadap atau menyisipkan sesuatu ke dalam komunikasi HTTP antara user dan bank

  • API dari wininet.dll seperti InternetConnectA(), HttpSendRequestA(), InternetReadFile()
  • API dari ws2_32.dll seperti WSARecv(), WSASend() yang biasanya digunakan untuk menyadap data dari aplikasi jaringan lain

Manipulasi Proses

  • Hook CreateProcessA() atau CreateProcessAsUserA() yang digunakan untuk meng-inject code ke proses baru atau mencegah proses tertentu berjalan
  • Hook LoadLibraryA() dan LoadLibraryExA() yang digunakan untuk manipulasi saat library (DLL) dimuat.

Legal or Ilegal?

Meskipun sering dipakai malware, tapi API Hooking tidak selalu jahat. Beberapa penggunaan legal:

  • Malware sandbox (buat analisis malware)
  • Kompatibilitas aplikasi lawas
  • Software monitoring/debugging