Jump to content

DLL Injection

From Haidhi Wiki
Revision as of 12:16, 10 April 2025 by SanzSkuy (talk | contribs)

DLL Injection adalah teknik untuk menyusupkan code ke dalam proses lain di Windows dengan cara menyisipkan file DLL ke proses target. Windows memang memberikan fitur ini untuk tujuan keamanan, sandboxing, dan juga pemrosesan grafik. Tetapi bisa juga disalahgunakan untuk menyusupkan file DLL yang 'jahat'. Kita dapat menggunakan serangkaian registry untuk melakukan teknik ini.


AppInit_DLLs

Path: 
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows\AppInit_DLLs

Semua DLL yang ada di registry ini akan diload ke proses yang menggunakan user.dll. Di Windows 8 ke atas, fitur ini mati secara default, tetapi bisa diaktifkan lagi dengan registry tweak yang membutuhkan admin access:

RequireSignedAppInit_DLLs = 0
LoadAppInit_DLLs = 1

AppCertDlls

Path: 
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\AppCertDlls

Semua DLL yang ada di registry ini akan diload ke proses yang membuat PROSES BARU. Contoh: kita akan membuat sebuah proses ketika membuka cmd. Jika kita menulis perintah notepad, maka cmd akan membuat proses baru lagi untuk notepad.

Function-function yang digunakan untuk me-load DLL yang berada di registry ini:

  • CreateProcess
  • CreateProcessAsUser
  • CreateProcessWithLogonW
  • CreateProcessWithTokenW
  • WinExec

ContextMenuHandlers

Path: 
HKEY_CURRENT_USER\Software\Classes\<AppName>\shellex\ContextMenuHandlers

Fungsi: DLL jadi shell extension di explorer.exe (biasanya buat nambah menu klik kanan).