Backdoor WordPress Là Gì?
Backdoor WordPress là đoạn code cho phép attacker truy cập trái phép và duy trì quyền truy cập bền vững vào server. Thường là file độc ẩn sâu hoặc plugin bị nhiễm. Biến thể backdoor mới xuất hiện hàng tháng. Hacker luôn tìm cách chèn backdoor. Nhiều plugin qua các năm bị dùng để lan truyền mã độc. Do đó, mối đe dọa có thể từ bất cứ đâu. Việc loại bỏ backdoor tốn thời gian và tài nguyên, nhưng biện pháp phòng ngừa luôn kiểm soát thiệt hại. Site WordPress an toàn có thể trì hoãn hoặc ngăn chặn tấn công.
Nguyên Nhân Dẫn Đến Backdoor WordPress
Thiết lập site WordPress khá dễ dàng, nhưng nhiều lỗ hổng mở đường cho backdoor. Tóm gọn lại vài nguyên nhân chính:
- Plugin hoặc theme bị lỗi (buggy).
- Thông tin đăng nhập yếu hoặc mặc định.
- Quyền file (file permissions) yếu, phơi bày file nhạy cảm.
- Không dùng firewall hoặc giải pháp bảo mật.
- Cài đặt đã lỗi thời (outdated).
- Chia sẻ server bị nhiễm với site khác. Hãy yêu cầu nhà cung cấp subnetting.
Tìm Kiếm Backdoor WordPress
Backdoor Trong Theme
Theme không active là nơi lý tưởng để ẩn backdoor. Hacker biết điều này và thường tìm theme inactive trên site vì bạn ít kiểm tra. Theme WP chứa file quan trọng functions.php – gọi PHP native, WP functions, và function khác. Có thể dùng để thực hiện mọi thao tác. Attacker thường chèn code vào file này. Ví dụ: code độc trong functions.php kích hoạt khi attacker truy cập URL www.yoursite.com/wp-includes/registration.php, tạo user mới: id: backdooradmin, password: Pa55W0rd. Dù bạn xóa user, nó tự tạo lại khi truy cập URL đó. Đây là backdoor điển hình. Tuy nhiên, chèn code này cần truy cập server trước (qua FTP port mở hoặc lỗ hổng khác).
Backdoor Trong Plugin
Backdoor thường do plugin buggy. Nhiều plugin bị phát hiện lỗi qua các năm. Gần đây Contact Form 7 (5 triệu+ user active) bị lỗi leo thang đặc quyền. Khi file plugin bị sửa, có thể không thấy trên Dashboard. Tìm qua FTP mới phát hiện. Để làm giả, file backdoor thường đặt tên như file help. Lý do backdoor ở plugin:
- Plugin không dùng dễ bị nhiễm – ẩn backdoor lâu.
- Plugin không uy tín, ít người dùng thường code kém – tăng rủi ro.
- Plugin lỗi thời dễ bị nhắm – nhiều người vẫn chạy không cập nhật.
- Plugin buggy có thể sửa đổi file core khác.
Hãy cảnh giác plugin lạ. Dọn dẹp tất cả plugin không dùng!
Backdoor Trong File Cài Đặt (Core Files)
Sau khi plugin bị nhiễm, file core bị sửa đổi. Có thể có code lạ trong file gốc hoặc file mới xuất hiện. Backdoor đôi khi trông như mã rác (obfuscated):
$t43="l/T6\\:aAcNLn#?rP}1\rG_ -s`SZ\$58t\n7E{.*]ixy3h,COKR2dW[0!U\tuQIHf4bYm>wFz<admin@wsxdn.com&(BjX'~|ge%p+oMJv^);\"k9";
$GLOBALS['ofmhl60'] = ${$t43[20].$t43
Code này được obfuscate (làm rối) – khó đọc. Hãy tìm và xóa file chứa code nghi ngờ. Backdoor cũng có thể ngụy trang thành file hợp pháp: xml.php, media.php, plugin.php... Đừng bỏ qua file nào dù trông hợp pháp. Còn nhiều kỹ thuật khác làm code khó đọc.
Tìm từ khóa FilesMan trong file. Ví dụ backdoor nổi tiếng Filesman:02 – khó phát hiện, không hiện trong log, dùng đánh cắp mật khẩu và chi tiết khác:
<?php
$auth_pass = "";
$color = "#df5";
$default_action = "FilesMan";
$default_charset = "Windows-1251";
preg_replace("/.*/e","x65x76x61x6Cx28x67x7Ax69x6Ex66x6Cx61x74x65x28x62x61x73x65x36x34x5Fx64x65x63x6Fx64x65x28'7b1tVxs50jD8OXvO9R9Er3fanhhjm2Q2Y7ADIZCQSSAD5GUC3N623bZ7aLs93W0Mk+W/31Wll5b6xZhkdq/7OedhJtDdKpVKUkkqlapK3rDM1tzJLL4tl7qn+ycf90/O7ddnZ++7H+Ctu/t..NRCty4s8Uh1VQKxLg+xQC0T93+IV4sxw/c08okR1wKtoyadLX6Dl6tDg3WxVxFoHhkj6Yn/xc='x29x29x29x3B",".");
?>
Dòng 6 ở dạng hex. Khi decode: preg_replace("/.*/e","eval(gzinfla\. Có tool online decode hex. Attacker cũng dùng base64 encoding – xử lý tương tự. Từ khóa FilesMan ở dòng 4. Các biến thể nhiễm này thường có từ khóa này. Code có thể can thiệp file nhạy cảm như .htaccess – hãy kiểm tra kỹ!
Cách Khắc Phục Backdoor WordPress
So Sánh Checksum
Bước đầu: so sánh checksum – phương pháp heuristic xác định tính toàn vẹn file. Có thể kiểm tra thủ công hoặc dùng tool tự động miễn phí. Checksum có cho core files, plugin, theme. Có thể duy trì blacklist cá nhân từ danh sách công khai. Sau khi checksum không khớp, tiến hành xóa backdoor thủ công.
Tính Toàn Vẹn File Core
Khi file có checksum khác, kiểm tra thủ công. Backdoor thường sửa file. Xác minh tính toàn vẹn bằng cách tải bản WordPress mới:
$ mkdir WordPress
$ cd WordPress
$ wget https://github.com/WordPress/WordPress/archive/4.9.8.zip
$ tar -zxvf 4.9.8.zip
Tạo thư mục, tải bản WP mới (4.9.8 ví dụ), giải nén. Bước quan trọng: $ diff -r path/to/your/file.php /Wordpress/wp-cron.php – so sánh khác biệt. File động như xmlrpc.php (giúp user/service tương tác qua RPC) thường bị hacker dùng để ẩn backdoor – kiểm tra kỹ.
Encoding (Mã Hóa)
File có thể hiển thị đã sửa nhưng đọc không hiểu. Bắt đầu dọn dẹp bằng tìm base64 encoding. Lệnh grep rất hiệu quả:
find . -name "*.php" -exec grep "base64"'{}'\; -print &> output.txt
Lệnh liệt kê tất cả base64 detection vào output.txt. Decode sang plaintext bằng tool online. Muốn tìm trong file khác .php, thay *.php. Code độc cũng có thể ở hex format – dùng grep -Pr "[\x01\x02\x03]". Lặp lại cho encoding khác. Xóa file hoặc dòng code độc.
Sử Dụng Server Logs
Server logs giúp loại bỏ backdoor. Xem file nào bị sửa sau ngày cụ thể. Duyệt FTP logs để xem IP kết nối. Theo dõi file chỉnh sửa gần đây. Chú ý thư mục images – không ai ngờ executable ở đó. Thư mục images thường writable – hacker thích ẩn backdoor ở đó. Đảm bảo permission phù hợp cho file nhạy cảm: 444 (r–r–r–) hoặc 440 (r–r—–). Kiểm tra kỹ thay đổi trong thư mục images.
Cập Nhật & Backup
Tầm quan trọng cập nhật WP đã được nhắc đi nhắc lại. Cài đặt lỗi thời ngang ngửa với bị nhiễm. Nếu không tìm ra nguyên nhân backdoor, restore từ backup – sau khi backup site hiện tại & so sánh hai bản. Nếu không có backup và muốn thay file core bằng file mới: cập nhật WP thủ công sau khi backup site hiện tại. Nếu plugin báo lỗ hổng, cập nhật ngay. Nếu patch chậm, thay bằng plugin thay thế. Theo dõi blog chính thức để nhận patch sớm.
Sử Dụng WordPress Backdoor Scanner
Con người dễ sai sót. Kiểm tra thủ công mệt mỏi, dễ lỡ – backdoor có thể tái diễn. Giải pháp: tự động hóa. Có nhiều tool nâng cao trên thị trường. Scanner phát hiện vị trí backdoor ẩn và đưa hướng dẫn loại bỏ.