<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.haidhi.my.id/wiki/index.php?action=history&amp;feed=atom&amp;title=Process_Injection</id>
	<title>Process Injection - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.haidhi.my.id/wiki/index.php?action=history&amp;feed=atom&amp;title=Process_Injection"/>
	<link rel="alternate" type="text/html" href="https://wiki.haidhi.my.id/wiki/index.php?title=Process_Injection&amp;action=history"/>
	<updated>2026-11-01T22:41:06Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.0</generator>
	<entry>
		<id>https://wiki.haidhi.my.id/wiki/index.php?title=Process_Injection&amp;diff=197&amp;oldid=prev</id>
		<title>SanzSkuy: Created page with &quot;Process Injection adalah teknik yang digunakan malware untuk meng-inject code ke dalam process lain.  teknik ini tidak meninggalkan jejak di disk dan memungkinkan terciptanya &#039;&#039;fileless malware&#039;&#039; yang bisa mempertahankan persistensi dalam sistem target.   &#039;&#039;warning: Hacking without permission is ilegal&#039;&#039;  = First step: Mendapatkan Daftar Process yang Berjalan =  Sebelum meng-inject code, malware tentu perlu mengetahui proses mana yang ingin disusupi. Ini dilakukan dengan...&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.haidhi.my.id/wiki/index.php?title=Process_Injection&amp;diff=197&amp;oldid=prev"/>
		<updated>2025-04-11T08:07:09Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;Process Injection adalah teknik yang digunakan malware untuk meng-inject code ke dalam process lain.  teknik ini tidak meninggalkan jejak di disk dan memungkinkan terciptanya &amp;#039;&amp;#039;fileless malware&amp;#039;&amp;#039; yang bisa mempertahankan persistensi dalam sistem target.   &amp;#039;&amp;#039;warning: Hacking without permission is ilegal&amp;#039;&amp;#039;  = First step: Mendapatkan Daftar Process yang Berjalan =  Sebelum meng-inject code, malware tentu perlu mengetahui proses mana yang ingin disusupi. Ini dilakukan dengan...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Process Injection adalah teknik yang digunakan malware untuk meng-inject code ke dalam process lain. &lt;br /&gt;
teknik ini tidak meninggalkan jejak di disk dan memungkinkan terciptanya &amp;#039;&amp;#039;fileless malware&amp;#039;&amp;#039; yang bisa&lt;br /&gt;
mempertahankan persistensi dalam sistem target. &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;warning: Hacking without permission is ilegal&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
= First step: Mendapatkan Daftar Process yang Berjalan = &lt;br /&gt;
Sebelum meng-inject code, malware tentu perlu mengetahui proses mana yang ingin disusupi. Ini dilakukan dengan cara:&lt;br /&gt;
#Snapshot Proses:&lt;br /&gt;
#*Malware membuat snapshot semua proses yang sedang berjalan menggunakan API CreateToolhelp32Snapshot.&lt;br /&gt;
#*Snapshot ini berisi nama proses, Process ID (PID), dan informasi penting lainnya.&lt;br /&gt;
#*Gunakan flag TH32CS_SNAPPROCESS agar snapshot hanya mencakup proses (bukan thread atau library).&lt;br /&gt;
#Mendapatkan Proses Pertama:&lt;br /&gt;
#*Gunakan API Process32First untuk mengambil proses pertama dari snapshot.&lt;br /&gt;
#Melakukan Iterasi Proses:&lt;br /&gt;
#*Gunakan Process32Next untuk melanjutkan iterasi, mendapatkan proses satu per satu lengkap dengan nama dan PID-nya.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=cpp line&amp;gt;&lt;br /&gt;
#include &amp;lt;windows.h&amp;gt;&lt;br /&gt;
#include &amp;lt;tlhelp32.h&amp;gt;&lt;br /&gt;
#include &amp;lt;tchar.h&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
&lt;br /&gt;
int main() {&lt;br /&gt;
    HANDLE hSnapshot;&lt;br /&gt;
    PROCESSENTRY32 pe32;&lt;br /&gt;
&lt;br /&gt;
    // Membuat snapshot dari semua proses yang sedang berjalan&lt;br /&gt;
    hSnapshot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);&lt;br /&gt;
    if (hSnapshot == INVALID_HANDLE_VALUE) {&lt;br /&gt;
        std::cerr &amp;lt;&amp;lt; &amp;quot;Gagal membuat snapshot proses.&amp;quot; &amp;lt;&amp;lt; std::endl;&lt;br /&gt;
        return 1;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // Inisialisasi struktur PROCESSENTRY32&lt;br /&gt;
    pe32.dwSize = sizeof(PROCESSENTRY32);&lt;br /&gt;
&lt;br /&gt;
    // Mengambil proses pertama dari snapshot&lt;br /&gt;
    if (!Process32First(hSnapshot, &amp;amp;pe32)) {&lt;br /&gt;
        std::cerr &amp;lt;&amp;lt; &amp;quot;Gagal mengambil proses pertama.&amp;quot; &amp;lt;&amp;lt; std::endl;&lt;br /&gt;
        CloseHandle(hSnapshot);&lt;br /&gt;
        return 1;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // Iterasi semua proses&lt;br /&gt;
    do {&lt;br /&gt;
        // Menampilkan nama proses dan Process ID (PID)&lt;br /&gt;
        std::wcout &amp;lt;&amp;lt; L&amp;quot;Process: &amp;quot; &amp;lt;&amp;lt; pe32.szExeFile &amp;lt;&amp;lt; L&amp;quot; | PID: &amp;quot; &amp;lt;&amp;lt; pe32.th32ProcessID &amp;lt;&amp;lt; std::endl;&lt;br /&gt;
    } while (Process32Next(hSnapshot, &amp;amp;pe32));&lt;br /&gt;
&lt;br /&gt;
    CloseHandle(hSnapshot);&lt;br /&gt;
    return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Code Injection = &lt;br /&gt;
Teknik ini mirip dengan DLL Injection, tapi perbedaanya adalah jenis code yang dieksekusi. Alih-alih meng-inject DLL, malware&lt;br /&gt;
akan menyuntikkan code assembly dalam bentuk &amp;#039;&amp;#039;array of bytes&amp;#039;&amp;#039; (shellcode). Teknik ini dilakukan menggunakan function &amp;lt;code&amp;gt;CreateRemoteThread&amp;lt;/code&amp;gt;.&lt;br /&gt;
Tetapi code ini harus &amp;#039;&amp;#039;&amp;#039;position-independent&amp;#039;&amp;#039;&amp;#039; dan &amp;#039;&amp;#039;&amp;#039;PE-independent&amp;#039;&amp;#039;&amp;#039; yang aartinya:&lt;br /&gt;
*Bisa load sendiri import table nya&lt;br /&gt;
*Bisa mengakses datanya sendiri&lt;br /&gt;
*Bisa mengeksekusi tugas-tugas jahat langsung di dalam proses target &lt;br /&gt;
&lt;br /&gt;
Langkah-langkahnya:&lt;br /&gt;
#Cari proses target dengan &amp;lt;code&amp;gt;CreateToolhelp32Snapshot&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;Process32First&amp;lt;/code&amp;gt;, dan &amp;lt;code&amp;gt;Process32Next&amp;lt;/code&amp;gt;&lt;br /&gt;
#Dapatkan handle proses dengan &amp;lt;code&amp;gt;OpenProcess&amp;lt;/code&amp;gt;&lt;br /&gt;
#Alokasikan memori di proses target menggunakan &amp;lt;code&amp;gt;VirtualAllocEx&amp;lt;/code&amp;gt; (atau &amp;lt;code&amp;gt;CreateSectionEx&amp;lt;/code&amp;gt;) sebesar ukuran kode assembly.&lt;br /&gt;
#Salin kode ke proses target menggunakan &amp;lt;code&amp;gt;WriteProcessMemory&amp;lt;/code&amp;gt;&lt;br /&gt;
#Eksekusi kode dengan &amp;lt;code&amp;gt;CreateRemoteThread&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kadang, malware juga memberikan nama atau PID proses malware itu sendiri ke dalam kode yang disuntikkan agar bisa:&lt;br /&gt;
#Membunuh proses malware utama, dan&lt;br /&gt;
#Menghapus file dan jejak-jejaknya untuk menyembunyikan eksistensinya sepenuhnya.&lt;br /&gt;
&lt;br /&gt;
= Reflective DLL Injection = &lt;br /&gt;
Teknik ini adalah pengembangan dari code injection. Teknik ini menggunakan shellcode yang lebih kompleks untuk memuat DLL jahat langsung dari memory tanpa menyimpannya di disk.&lt;br /&gt;
Artinya tidak ada DLL yang bisa dideteksi dari disk dan memungkinkan tidak tercatat di PEB (process environtment block). Akibatnya tools forensic yang hanya memeriksa PEB tidak bisa mendeteksi DLL ini.&lt;br /&gt;
&lt;br /&gt;
Langkahnya:&lt;br /&gt;
#Payload dalam bentuk file PE (Portable Executable) + custom PE loader (bisa berupa shellcode) disuntikkan ke proses target.&lt;br /&gt;
#PE loader akan bertugas meload DLL secara manual:&lt;br /&gt;
#*Alokasikan memori sebesar ImageBase.&lt;br /&gt;
#**Lakukan proses loading PE manual:&lt;br /&gt;
#***Fix import table.&lt;br /&gt;
#***Lakukan relokasi berdasarkan relocation table&lt;/div&gt;</summary>
		<author><name>SanzSkuy</name></author>
	</entry>
</feed>