KEY LOGGER (KEYSTROKE LOGGER) DEFINITION
Adalah suatu program yang berjalan di belakang sistem (Background), merekam semua tombol. Sekali Key Logger dijalankan, maka otomatis akan bersembunyi di dalam mesin untuk mencatat semua data atau mengirimkan datanya secara langsung ke pemilik Key Logger.
Adalah suatu program yang berjalan di belakang sistem (Background), merekam semua tombol. Sekali Key Logger dijalankan, maka otomatis akan bersembunyi di dalam mesin untuk mencatat semua data atau mengirimkan datanya secara langsung ke pemilik Key Logger.
Pemilik Key Logger kemudian membaca data yang didapatkan tersebut dengan teliti dengan harapan menemukan kata sandi (Password) atau mungkin informasi lain yang bermanfaat yang bisa digunakan sebagai serangan Social Engineering. Key Logger secara sederhana bisa dikategorikan sebagai Hack Tool Pencuri Informasi. Sebagai contoh, Key Logger dapat mengungkapkan isi dari semua e-mail yang ditulis oleh korban. Program Key Logger biasanya terdapat di dalam rootkit dan trojan.
Key Logger berfungsi untuk merekam (mencatat) semua aktifitas pengguna komputer dengan mengambil input data melalui karakter keyboard yang digunakan oleh user. Jadi jika user mengetikkan kata “SaYa” melalui keyboard maka secara otomatis Key Logger akan mencatatnya pada sebuah LOG file dengan data “SaYa”.
HACK TOOL = UTILITIES = KEY LOGGER?
Jika ada pertanyaan, apakah Key Logger itu termasuk tool jahat? atau sejenis software utilities yang baik? Terus terang hanya Anda yang bisa menjawabnya. Kelebihan manusia dengan makhluk lain adalah mampu membedakan mana hal yang baik dan mana hal yang tidak baik.
Jika ada pertanyaan, apakah Key Logger itu termasuk tool jahat? atau sejenis software utilities yang baik? Terus terang hanya Anda yang bisa menjawabnya. Kelebihan manusia dengan makhluk lain adalah mampu membedakan mana hal yang baik dan mana hal yang tidak baik.
A) Angel Style..?
Key Logger sering dipergunakan sebagai parental advisory (kontrol orang tua) untuk mengawasi kegiatan anak-anak mereka saat mempergunakan komputer. Selain itu juga sering dipergunakan oleh pemilik internet cafe (warnet), network sharing, dan lainnya untuk mengawasi aktifitas user. Contoh : Pembatas konten dewasa (pr0n), kontrol orang tua terhadap topik pembicaraan anak di internet, etc.
Key Logger sering dipergunakan sebagai parental advisory (kontrol orang tua) untuk mengawasi kegiatan anak-anak mereka saat mempergunakan komputer. Selain itu juga sering dipergunakan oleh pemilik internet cafe (warnet), network sharing, dan lainnya untuk mengawasi aktifitas user. Contoh : Pembatas konten dewasa (pr0n), kontrol orang tua terhadap topik pembicaraan anak di internet, etc.
B) Evil Style..?
Di sisi lain Key Logger jika disalahgunakan akan sangat merugikan sekali, terutama bagi user yang menjadi target penyalahgunaan tool Key Logger. Semua karakter yang diketikkan melalui keyboard akan tercatat dengan baik pada LOG file. Entah itu password, Username, nomer PIN bank, account FTP/Facebook/etc. Dari sini Anda tentu bisa membayangkan apa yang akan terjadi jika Anda dan komputer Anda menjadi target kejahatan ini.
Di sisi lain Key Logger jika disalahgunakan akan sangat merugikan sekali, terutama bagi user yang menjadi target penyalahgunaan tool Key Logger. Semua karakter yang diketikkan melalui keyboard akan tercatat dengan baik pada LOG file. Entah itu password, Username, nomer PIN bank, account FTP/Facebook/etc. Dari sini Anda tentu bisa membayangkan apa yang akan terjadi jika Anda dan komputer Anda menjadi target kejahatan ini.
TIPS TO PICK BEST STUFF
Key Logger bisa dikategorikan cukup baik dan mampu diandalkan jika memenuhi beberapa kriteria sebagai berikut :
Key Logger bisa dikategorikan cukup baik dan mampu diandalkan jika memenuhi beberapa kriteria sebagai berikut :
A) Keberadaannya TIDAK TERDETEKSI oleh Antivirus, Anti-Malware dan lainnya,
Anda boleh saja bangga mempunyai Key Logger canggih dan keren, Anda boleh saja menghabiskan uang tabungan Anda untuk membeli software Key Logger yang banyak tersedia di internet. Fakta yang ada adalah 99% Key Logger yang terdapat di internet sudah teridentifikasi oleh Antivirus. Key Logger berharga mahal dan terkenal sekalipun jika sudah terdeteksi oleh Antivirus apa bisa dipergunakan???
Anda boleh saja bangga mempunyai Key Logger canggih dan keren, Anda boleh saja menghabiskan uang tabungan Anda untuk membeli software Key Logger yang banyak tersedia di internet. Fakta yang ada adalah 99% Key Logger yang terdapat di internet sudah teridentifikasi oleh Antivirus. Key Logger berharga mahal dan terkenal sekalipun jika sudah terdeteksi oleh Antivirus apa bisa dipergunakan???
B) Memiliki ukuran (Size) yang relatif KECIL < 50 KB,
Size DOES Matter, ukuran itu penting. Key Logger dengan size besar >50KB (seperti monster Godzilla Size DOESN’T Matter) akan menimbulkan kecurigaan di komputer korban. Selain itu proses dan loadingnya sudah pasti lebih lama. Hal ini tidaklah efektif.
Size DOES Matter, ukuran itu penting. Key Logger dengan size besar >50KB (seperti monster Godzilla Size DOESN’T Matter) akan menimbulkan kecurigaan di komputer korban. Selain itu proses dan loadingnya sudah pasti lebih lama. Hal ini tidaklah efektif.
C) PORTABLE dan KETERGANTUNGAN resource (dependency),
Key Logger harus bisa disalin dan dijalankan pada komputer berbeda tanpa memerlukan installasi yang rumit dan minimum requirement yang berbelit-belit. Sebagai contoh : Program yang ditulis dengan menggunakan MS Visual Basic sebagian besar bergantung pada MSVBVM.DLL, jika pada komputer korban tidak terdapat MSVBVM.DLL maka Key Logger tidak akan dapat dijalankan!!!
Key Logger harus bisa disalin dan dijalankan pada komputer berbeda tanpa memerlukan installasi yang rumit dan minimum requirement yang berbelit-belit. Sebagai contoh : Program yang ditulis dengan menggunakan MS Visual Basic sebagian besar bergantung pada MSVBVM.DLL, jika pada komputer korban tidak terdapat MSVBVM.DLL maka Key Logger tidak akan dapat dijalankan!!!
Apa ya solusi yang tepat? Oya, bagaimana jika meminta korban untuk mendownload file MSVBVM.DLL serta menjelaskan kepada korban bahwa di komputernya terdapat Key Logger milik Anda yang tidak akan bisa dijalankan tanpa mendownload file tersebut? Solusi GILA tersebut tentu akan membuat mata Anda lebam 3 hari 3 malam karena terkena tendangan maut dari korban yang tidak terima komputernya disusupi oleh Key Logger Anda.
Bagaimana dengan solusi attachment? Solusi menyisipkan MSVBVM.DLL di dalam Key Logger juga adalah sebuah solusi yang GILA karena akan mengakibatkan size Key Logger bertambah besar! Solusi yang tepat adalah kode optimisasi atau pergunakan bahasa pemrograman yang fleksibel, misal Assembly.
SOME USEFUL APIS
Berikut ini Saya lampirkan Referensi Programmer untuk Microsoft Win32 mengenai beberapa fungsi API utama yang sering dipergunakan dalam pemrograman Key Logger :
Berikut ini Saya lampirkan Referensi Programmer untuk Microsoft Win32 mengenai beberapa fungsi API utama yang sering dipergunakan dalam pemrograman Key Logger :
Hooks (Referensi user32.dll)
Hook adalah suatu point dalam mekanisme penanganan-pesan Microsoft® Windows® di mana sebuah aplikasi dapat menginstal suatu subroutine untuk memonitor lalu-lintas pesan di dalam sistem dan memproses jenis tertentu dari pesan-pesan sebelum menjangkau prosedur jendela target. Untuk mempelajari lebih lanjut, silahkan Anda membaca artikel Saya yang berjudul “Menembus proteksi Password dan Serial Number pada program dengan trik Win32 Hook”
Hook adalah suatu point dalam mekanisme penanganan-pesan Microsoft® Windows® di mana sebuah aplikasi dapat menginstal suatu subroutine untuk memonitor lalu-lintas pesan di dalam sistem dan memproses jenis tertentu dari pesan-pesan sebelum menjangkau prosedur jendela target. Untuk mempelajari lebih lanjut, silahkan Anda membaca artikel Saya yang berjudul “Menembus proteksi Password dan Serial Number pada program dengan trik Win32 Hook”
RegisterHotKey (Referensi user32.dll)
Fungsi RegisterHotKey menggambarkan suatu kunci untuk menyisipkan thread.
BOOL RegisterHotKey(
HWND hWnd, // window to receive hot-key notification
int id, // identifier of hot key
UINT fsModifiers, // key-modifier flags
UINT vk // virtual-key code
);
Fungsi RegisterHotKey menggambarkan suatu kunci untuk menyisipkan thread.
BOOL RegisterHotKey(
HWND hWnd, // window to receive hot-key notification
int id, // identifier of hot key
UINT fsModifiers, // key-modifier flags
UINT vk // virtual-key code
);
GetMessage (Referensi user32.dll)
Fungsi GetMessage mengambil kembali sebuah pesan dari antrian thread pemanggilan pesan dan menempatkannya di struktur yang ditetapkan. Fungsi Ini dapat mengambil kembali kedua pesan yang berhubungan dengan jendela yang ditetapkan dan thread mengeposkan pesan-pesan melalui fungsi PostThreadMessage. Fungsi mengambil kembali pesan-pesan yang berada di dalam cakupan yang ditetapkan dari nilai pesan. GetMessage tidak mengambil kembali pesan untuk jendela yang dimiliki oleh thread atau aplikasi lain.
BOOL GetMessage(
LPMSG lpMsg, // address of structure with message
HWND hWnd, // handle of window
UINT wMsgFilterMin, // first message
UINT wMsgFilterMax // last message
);
Fungsi GetMessage mengambil kembali sebuah pesan dari antrian thread pemanggilan pesan dan menempatkannya di struktur yang ditetapkan. Fungsi Ini dapat mengambil kembali kedua pesan yang berhubungan dengan jendela yang ditetapkan dan thread mengeposkan pesan-pesan melalui fungsi PostThreadMessage. Fungsi mengambil kembali pesan-pesan yang berada di dalam cakupan yang ditetapkan dari nilai pesan. GetMessage tidak mengambil kembali pesan untuk jendela yang dimiliki oleh thread atau aplikasi lain.
BOOL GetMessage(
LPMSG lpMsg, // address of structure with message
HWND hWnd, // handle of window
UINT wMsgFilterMin, // first message
UINT wMsgFilterMax // last message
);
GetKeyboardState (Referensi user32.dll)
Fungsi GetKeyboardState menyalin status 256 tombol virtual ke buffer yang ditetapkan.
BOOL GetKeyboardState(
PBYTE lpKeyState // address of array to receive status data
);
Fungsi GetKeyboardState menyalin status 256 tombol virtual ke buffer yang ditetapkan.
BOOL GetKeyboardState(
PBYTE lpKeyState // address of array to receive status data
);
GetKeyNameText (Referensi user32.dll)
Fungsi GetKeyNameText mengambil kembali sebuah string yang menampilkan nama dari sebuah key.
int GetKeyNameText(
LONG lParam, // second parameter of keyboard message
LPTSTR lpString, // address of buffer for key name
int nSize // maximum length of key-name string length
);
Fungsi GetKeyNameText mengambil kembali sebuah string yang menampilkan nama dari sebuah key.
int GetKeyNameText(
LONG lParam, // second parameter of keyboard message
LPTSTR lpString, // address of buffer for key name
int nSize // maximum length of key-name string length
);
GetKeyState (Referensi user32.dll)
Fungsi GetKeyState mengambil kembali status dari kunci virtual yang ditetapkan. Status tersebut menetapkan apakah kunci up, down, atau toggle (on, off ¾ bertukar-tukar setiap kali kunci ditekan).
SHORT GetKeyState(
int nVirtKey // virtual-key code
);
Fungsi GetKeyState mengambil kembali status dari kunci virtual yang ditetapkan. Status tersebut menetapkan apakah kunci up, down, atau toggle (on, off ¾ bertukar-tukar setiap kali kunci ditekan).
SHORT GetKeyState(
int nVirtKey // virtual-key code
);
GetAsyncKeyState (Referensi user32.dll)
Fungsi GetAsyncKeyState menentukan apakah suatu kunci up atau down pada saat fungsi dipanggil, dan apakah kunci ditekan setelah pemanggilan sebelumnya ke GetAsyncKeyState.
SHORT GetAsyncKeyState(
int vKey // virtual-key code
);
Fungsi GetAsyncKeyState menentukan apakah suatu kunci up atau down pada saat fungsi dipanggil, dan apakah kunci ditekan setelah pemanggilan sebelumnya ke GetAsyncKeyState.
SHORT GetAsyncKeyState(
int vKey // virtual-key code
);
PROOF OF CONCEPT
MRHPx Key Logger v1.8 (PUBLIC VERSION) mungkin adalah Key Logger terkecil di dunia, dengan size hanya sebesar 10.5 KB (10,752 bytes) tanpa kompresi! Untuk mendapatkannya Anda bisa mendowloadnya di website Saya. Jalankan file “MRHPx-Key-Logger.exe” dengan cara klik ganda dengan mouse. Key Logger akan menciptakan LOG file dengan nama “MRHPx-KeyLogger-v1.8-PUBLICVERSION-Log.txt” pada lokasi direktori yang sama dengan tempat executable berada.
MRHPx Key Logger v1.8 (PUBLIC VERSION) mungkin adalah Key Logger terkecil di dunia, dengan size hanya sebesar 10.5 KB (10,752 bytes) tanpa kompresi! Untuk mendapatkannya Anda bisa mendowloadnya di website Saya. Jalankan file “MRHPx-Key-Logger.exe” dengan cara klik ganda dengan mouse. Key Logger akan menciptakan LOG file dengan nama “MRHPx-KeyLogger-v1.8-PUBLICVERSION-Log.txt” pada lokasi direktori yang sama dengan tempat executable berada.
Screenshot 1. Applications Tab Task Manager
Saya menggunakan bahasa pemrograman Assembly 32 bit (bukan Assembly 16 bit yang sudah ketinggalan jaman) untuk coding Key Logger ini. Assembly 32 bit setara dengan C/C++, Delphi, VB, kelebihan lainnya adalah lebih cepat. Ingat, Key Logger ini tidak terlihat pada Applications Tab Task Manager, tidak memiliki GUI (User Interface) apalagi sampai warna-warni seperti bendera partai pada saat pemilu. Konsep Saya adalah membuat Key Logger dengan resource minimalis tapi powerful bak PANAH DEWA seperti rootkit SWISS ARMY KNIFE lainnya yang berjalan secara background..
Screenshot 2. LOG file
Selanjutnya silahkan Anda mengetik apapun dengan menggunakan keyboard hardware ataupun virtual keyboard. Aplikasi apapun yang Anda pergunakan untuk mengetik data akan tersimpan dengan baik pada LOG file secara terpisah. LOG file akan menyimpan data secara berkala setiap kali aplikasi baru dijalankan. Untuk membaca LOG file Anda tidak perlu keluar dari aplikasi karena Saya tidak men-setting batasan hak akses file user. Bagi Anda yang ingin mengetahui lebih lanjut beberapa fitur yang lain silahkan Anda membaca file “BACA_AKU.txt” yang disertakan. Untuk keluar dari aplikasi Key Logger silahkan tekan secara bersamaan tombol “CTRL+ALT+P” pada Keyboard Anda.
FINAL NOTES
Key Logger sangat berbahaya jika dipergunakan sebagai alat kejahatan. Sepintas memang terlihat sepele, karena pada umumnya data yang tersimpan di dalam LOG file cukup acak (CATATAN: beberapa Shareware Key Logger di internet memiliki LOG file yang sangat amburadul karena dibuat secara asal oleh coder BEGO dan MATRE). Namun apa yang terjadi jika data LOG file tersebut dipergunakan sebagai Dictionary Bruteforce dengan bantuan tool seperti John the Ripper dan lainnya??? Untuk memperoleh informasi username dan password korban, data yang semula acak dan sepele akan menjadi dictionary efektif dan bisa dipergunakan sebagai akses login hanya dalam hitungan menit.
Key Logger sangat berbahaya jika dipergunakan sebagai alat kejahatan. Sepintas memang terlihat sepele, karena pada umumnya data yang tersimpan di dalam LOG file cukup acak (CATATAN: beberapa Shareware Key Logger di internet memiliki LOG file yang sangat amburadul karena dibuat secara asal oleh coder BEGO dan MATRE). Namun apa yang terjadi jika data LOG file tersebut dipergunakan sebagai Dictionary Bruteforce dengan bantuan tool seperti John the Ripper dan lainnya??? Untuk memperoleh informasi username dan password korban, data yang semula acak dan sepele akan menjadi dictionary efektif dan bisa dipergunakan sebagai akses login hanya dalam hitungan menit.
Contoh lain adalah jika Anda seorang guru atau dosen dan memiliki siswa yang ternyata seorang hacker (Maksud Saya Cracker), bukan tidak mungkin siswa Anda akan selalu mendapatkan nilai terbaik pada saat ujian karena siswa Anda memasang Key Logger di laptop yang Anda pergunakan untuk menyusun naskah ujian. Tanpa perlu belajar keras, cukup membaca naskah ujian yang telah dicuri oleh Key Logger, siswa Anda akan terlihat menyamai kepintaran Bapak Habibie dalam mengerjakan ujian keesokan harinya
Mengerikan bukan? Namun jangan kuatir karena ada cara sederhana dan efektif untuk mencegah komputer Anda disusupi oleh Key Logger yaitu dengan mengaktifkan User Account Control (UAC), memeriksa Registry Autorun dan Service Startup Windows serta memeriksa aplikasi yang berjalan secara background dan terlihat mencurigakan di komputer Anda.
Untuk metode lain, seperti heuristic detection antivirus, firewall dan sebagainya, sepengetahuan Saya hal tersebut kurang efektif. Karena hacker tidak memerlukan waktu yang lama mensiasati deteksi Antivirus yang hampir selalu berdasarkan pada algoritma signature (TradeMark virus). Hanya dengan merubah beberapa baris kode yang terdapat pada source code, maka Hack Tool tidak akan terdeteksi lagi oleh Antivirus. Efektifitas signature yang terdapat dalam database antivirus hanyalah untuk Hack Tool yang dirilis secara PUBLIC VERSION bukan PRIVATE VERSION. Metode lain sebagai alternatif yang cepat dan mudah yang sering dipilih oleh hacker untuk melewati deteksi Antivirus yaitu dengan menggunakan Stub UD atau Stub Commercial Protector. Semoga artikel ini bermanfaat dan dapat membantu Anda mengamankan diri dari kejahatan cyber.
0 comments:
Post a Comment