Rootkit, Keep Stealth, Keep Alive

Bagi yang sudah ahli dilewatin aja.

“Hanya dengan rootkit, seluruh kekuatan OS ada di dalam genggaman ANDA!”

Rootkit adalah sebuah program komputer yang dapat mempertahankan
existensinya (/red. keep alive) ///tanpa ketahuan oleh pengguna
komputer, program keamanan maupun operation system (/red. keep
stealth/). Nah membuat sebuah rootkit adalah sebuah seni coding advance
yang menjadi impian semua hacker di dunia. Mengapa? Melalui sebuah
rootkit, seorang hacker dapat menguasai sebuah machine/komputer/ system
selama bertahun-tahun. Dan melalui sebuah rookit, worm Morris yang sudah
basi dapat menjadi CodeRed yang menakutkan. Dalam experimen di dalam
forum BlackHat, sebuah worm komputer dipadu dengan teknologi rootkit FU.
Rootkit ini dapat menyembunyikan process dari sistem dengan teknik
coding yang nyaris sempurna sehingga worm dapat melempuhkan sistem tanpa
ketahuan oleh antivirus maupun pengguna. Kesimpulan terakhir dari forum
itu yaitu betapa mengerikannya masa depan keamanan internet kalau
teknologi rootkit terus dikembangkan.

Arsitektur rootkit itu gampang-gampang susah. Gampang karena hanya
terdiri dari sebuah .exe (executable windows) dan .sys (biasa dinamakan
dengan rootkit driver). Susah karena pembuat rootkit harus pintar-pintar
mengatur hubungan antara .exe dan .sys. Hubungan ini dinamakan dengan
user-kernel mode connection interface. Hubungan inilah yang menentukan
bagaimana packet data TCP/IP/ UDP/RAW dari dunia luar (internet)
berkoneksi dengan kernel sistem operasi dan hardware komputer. Mengapa
sebuat rootkit harus terbuat dari .exe dan .sys? Kenapa ngak hanya .exe
saja? Rootkit pada dasarnya mempunyai dua fungsi utama. Fungsi pertama
adalah menerima perintah remote dari hacker dan fungsi yang kedua adalah
menyembunyikan kehadirannya dalam sistem. Fungsi yang pertama ditangani
oleh .exe (executable) dan fungsi yang kedua ditangani oleh .sys
(rootkit driver). Kedua komponen ini saling mendukung satu-sama lain dan
membuat sang hacker dapat menguasai sebuah sistem kopmuter secara
menyeluruh.

Bagaimana cara membuat sebuah rootkit? Persis sama ketika anda ingin
membuat jajan, anda harus menyiapkan alat dan bahan terlebih dahulu.
Alat-alatnya adalah: Windows Driver Kit (WDK) atau Device Driver Kit
(DDK), sebuah compiler C/C++ atau Pascal (penulis merekomendasikan
Microsoft Visual C++ 6 atau Delphi 7), debugger (penulis menggunakan
OllyDbg), dan debug viewer (penulis menggunakan DbgView buatan Mark
Russinovich dari http://www.sysinternals. com). Bahannya adalah kemampuan
berbahsa C, C++, dan assembly (you are the master S’to!). Ngak pernah
ada dalam sejarah, seorang hacker membuat rootkit dengan menggunakan
BASIC (rasain para pecinta Basic)! Mengapa ngak ada yang memakai bahasa
BASIC? Alasan pertama karena BASIC adalah bahasa yang paling lambat di
dunia. Program BASIC yang menampilkan sebuah huruf ke layar tetap
membutuhkan minimal 10kB memory untuk .exe-nya sedangkan assembly atau C
dapat melakukan hal yang sama hanya dengan instruksi 100 byte dan dapat
menghenat processor time sebanyak berberapa 10 pangkat minus -6 detik
alias beberapa mikrodetik (penghematan yang amat sangat besar)! Alasan
kedua adalah karena kernel sistem operasi terbuat dari bahasa C dan
assembly, jadi untuk berhubungan dengan kernel windows/linux/ unix, kita
membutuhkan driver yang terbuat dari bahasa C.

Langkah kedua yang harus ditempuh adalah menrancang device driver,
beserta fungsi kernel di dalamnya, yaitu antara lain windows function
hooks, code injection, dan Direct Kernel Object Manipulation. Windows
function hooks berguna untuk memanipulasi kernel yang ada di dalam
windows agar sesuai dengan kemauan si hacker. Contohnya menyembunyikan
process, files, directories, registry, system HANDLES, dan services
serta port komunikasi. Berikut adalah cuplikan code OS Windows untuk
tipe data _SYTEM_PROCESSES. Sang hacker dapat mengubah NextEntryData
untuk menyembunyikan process dari record processes yang dikehendakinya
sendiri.

typedef struct _SYSTEM_PROCESSES {
ULONG NextEntryDelta;
ULONG ThreadCount;
ULONG Reserved1[6] ;
LARGE_INTEGER CreateTime;
LARGE_INTEGER UserTime;
LARGE_INTEGER KernelTime;
UNICODE_STRING ProcessName;
KPRIORITY BasePriority;
ULONG ProcessId;
ULONG InheritedFromProces sId;
ULONG HandleCount;
ULONG Reserved2[2] ;
VM_COUNTERS VmCounters;
IO_COUNTERS IoCounters; // Windows 2000 only
SYSTEM_THREADS Threads[1];
} SYSTEM_PROCESSES, *PSYSTEM_PROCESSES;

Langkah terakhir adalah membangun aplikasi .exe. Exe ini berguna untuk
load driver. Load driver berguna untuk meload code-code yang ada di
dalam driver (.sys) ke dalam kernel OS. Selain load driver, exe berguna
untuk mengatur Winsock interface, mengatur process booting agar rootkit
tahan boot system, dan terakhir unload driver ketika rootkit selesai
digunakan maupun ketika komputer di shutdown.

Semua langkah tersebut mencakup seluruh process pembuatan rootkit secara
umum. Penulis sengaja menyederhanakannya agar pembaca yang kurang paham
tentang teknik coding dapat belajar untuk mengerti tentang rootkit dan
bahayanya bagi sistem komputer. Sekarang Anda mengetahui bahwa hanya
dengan rootkit, seluruh kekuatan OS ada di dalam genggaman ANDA!
Bayangkan teknologi rootkit dipakai dalam semua worm di Indonesia,
betapa mengerikan worm lokal jadinya (worm awal brontok: si tukang
restart -> brontok + rootkit berubah menjadi brontok di tukang nyusup.
Mudah-mudahan tulisan saya ini dapat merevolusi teknik pembuatan malware
di Indonesia. HIDUP MALWARE INDONESIA!

This entry was posted in Uncategorized. Bookmark the permalink.

One thought on “Rootkit, Keep Stealth, Keep Alive

  1. tunggu aja neh EdanE gw udah rootkit kok ring0

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s