Backdoor WordPress là cơ chế cho phép kẻ xâm nhập duy trì hoặc lấy lại quyền truy cập sau khi một lỗ hổng ban đầu đã được khai thác. Vì backdoor có thể ẩn trong file, database, cron, user hoặc plugin/theme, việc chỉ xóa một file lạ chưa đủ để kết luận website đã sạch.
Tóm tắt: Khi nghi có backdoor, hãy bảo toàn bằng chứng, so sánh file với nguồn tin cậy, kiểm tra admin/role, cron, plugin/theme, database option, upload directory, log và outbound behavior. Nếu xác nhận compromise, chuyển sang quy trình xử lý malware/hack thay vì tiếp tục chỉnh sửa ngẫu nhiên trên production.

Dấu hiệu nào khiến bạn nghi có backdoor?
- Admin lạ xuất hiện hoặc tự quay lại sau khi bị xóa.
- File PHP mới trong thư mục upload hoặc vị trí không bình thường.
- File core/plugin/theme thay đổi ngoài cửa sổ deploy.
- Redirect, nội dung spam hoặc script lạ tái xuất hiện.
- Cron/job mới không rõ owner.
- Plugin/theme không có trong inventory.
- Outbound request hoặc process bất thường.
1. Chụp hiện trạng trước khi xóa
Nếu website có dấu hiệu xâm nhập, ưu tiên lưu log, danh sách file, timestamp, user, plugin/theme, cron và thay đổi gần nhất. Xóa ngay file lạ có thể làm mất bằng chứng hoặc che cơ chế persistence khác.
Nếu sự cố đang hoạt động, dùng quy trình xử lý website bị hack để cô lập và phục hồi có kiểm soát.
2. So sánh core, plugin và theme với nguồn tin cậy
Kiểm tra checksum hoặc so sánh file với package/repository được xác minh. Tập trung vào file mới, file chỉnh sửa bất thường, mã bị chèn vào file hợp lệ và thành phần không có owner.
3. Kiểm tra thư mục upload và file có khả năng thực thi
Media upload thông thường không cần chứa PHP thực thi. File thực thi xuất hiện trong upload là tín hiệu cần điều tra, nhưng không nên tự động xóa nếu chưa biết nguồn và vai trò của nó trong sự cố.
4. Rà user, role và tài khoản đặc quyền
- Admin mới.
- Email admin thay đổi.
- Role được nâng bất thường.
- User không rõ owner.
- Application Password hoặc API credential lạ.
Các tài khoản đặc quyền nên được quản theo quy trình quản lý admin WordPress.
5. Kiểm tra cron và cơ chế tự tái tạo
Một persistence mechanism có thể dùng cron hoặc scheduled task để tải lại file, tạo user hoặc chèn nội dung sau khi bạn đã làm sạch một phần. So sánh job hiện tại với inventory và plugin/theme hợp lệ.
6. Rà database, option và nội dung bị chèn
Redirect hoặc script độc hại có thể nằm trong option, post content, widget, custom HTML hoặc dữ liệu plugin. Hãy tìm thay đổi không có nguồn gốc và đối chiếu với timeline, không chạy query xóa hàng loạt nếu chưa có backup.
7. Dùng log và monitoring để nối timeline
Access log, authentication log, file change, WAF và hosting event có thể giúp xác định thời điểm đầu tiên, tài khoản liên quan và hành vi lặp lại. Monitoring không chứng minh backdoor một mình nhưng giúp tương quan nhiều tín hiệu.
Xem Website Security Monitoring.
Scanner malware có tìm được mọi backdoor không?
Không. Scanner có thể phát hiện signature hoặc thay đổi đáng ngờ nhưng có false positive/false negative. Kết quả cần đặt cạnh file integrity, tài khoản, log, database, cron và hành vi website.
Khi nào được coi là đã xác nhận compromise?
Khi có bằng chứng như mã độc/backdoor, user trái phép, persistence, nội dung/redirect bị chèn hoặc hành vi điều khiển không được ủy quyền, hãy chuyển search task sang remediation. Lúc đó bài owner là website nhiễm malware/backdoor: cô lập, làm sạch và chống tái nhiễm.

Checklist phát hiện backdoor WordPress
- Chụp timeline và backup bằng chứng phù hợp.
- So sánh core/plugin/theme với nguồn tin cậy.
- Rà file mới và file thay đổi ngoài release.
- Kiểm tra upload directory.
- Rà admin, role và credential.
- Rà cron/scheduled task.
- Kiểm tra database option và nội dung bị chèn.
- Đối chiếu access/auth/WAF/file log.
- Xác minh scanner finding thủ công.
- Nếu compromise: cô lập, rotate credential, clean/rebuild và monitor tái diễn.
Đặt hoạt động này trong checklist bảo mật WordPress thay vì chỉ chạy khi khách hàng báo lỗi.
Kết luận
Phát hiện backdoor là bài toán thu thập và tương quan bằng chứng, không phải tìm một tên file cố định. File, user, cron, database và log phải được nhìn cùng timeline. Khi đã xác nhận xâm nhập, ưu tiên remediation và phục hồi thay vì tiếp tục scan vô hạn.
Khi cần xử lý compromise thay vì tiếp tục hunting
Bài này tiếp tục sở hữu intent cách phát hiện backdoor WordPress. Khi đã có bằng chứng compromise và cần một phạm vi có containment, cleanup, credential rotation, recovery, verification và handover, xem dịch vụ xử lý website bị hack.
Nguồn tham khảo
Giảm unknown exposure trước khi săn backdoor
Nếu không biết domain, subdomain, staging, API, upload path hoặc service nào đang public, việc detection dễ bỏ sót nơi persistence có thể tồn tại. Dùng Attack Surface Management cho website để lập inventory exposure và owner trước khi mở rộng rule phát hiện.
Đoàn Trình Dục là Giảng viên Khoa Công nghệ Thông tin tại Đại học Công nghệ Sài Gòn (STU), với hơn 10 năm kinh nghiệm thực chiến trong các lĩnh vực Mạng máy tính, Marketing Online, SEO và Bảo mật hệ thống.
Với nền tảng sư phạm và kinh nghiệm tư vấn cho nhiều doanh nghiệp, thầy chuyên sâu vào việc xây dựng các giải pháp kỹ thuật số toàn diện và hiệu quả.

