NHANWEB

Site WordPress dính backdoor, khắc phục như thế nào ?

Những bạn nào đã từng sử dụng WordPress chắc không lạ gì câu chuyện website của bạn bị mấy anh “hác cờ” ở tận trời nao đính kèm cho ít bài viết có chèn backlink. Đa phần các trường hợp bạn tự dọn dẹp những bài viết thừa thải, thay đổi mật khẩu và sau đó mọi thứ lại như cũ.

Thông thường, kèm với việc hack, hacker sẽ khuyến mãi thêm một backdoor để có thể quay lại và phá hoại dài lâu hơn. Trong bài viết này, mình sẽ hướng dẫn các bạn dọn dẹp lại hệ thống sau những biến cố như vậy.

Backdoor là gì ?

Backdoor (nôm na là “cửa sau”) là một phương pháp vượt qua những chứng thực, xác thực bảo mật thông thường giúp người khác có khả năng truy cập vào hệ thống của bạn từ xa. Bằng cách này, họ có thể xây nhập vào website của bạn ngay cả khi bạn đã xóa plugin có chứa lỗi. Vì vậy, trang web của bạn chỉ thực sự được an toàn sau khi bạn dọn dẹp xong mớ backdoor này luôn chứ không đơn giản là fix lỗi bằng cách update các plugin hoặc theme lỗi.

Có nhiều dạng backdoor khác nhau, một số chỉ đơn giản là tạo ra các user được phân quyền admin cho phép kẻ tấn công truy cập vào Dashboard với quyền cao nhất, số khác có khả năng thực thi các lệnh PHP từ đó khai thác và tấn công cao hơn, số khác nữa chỉ đơn giản là một zoombie cho phép gửi email từ máy chủ của bạn hoặc thực thi các lệnh SQL theo ý muốn kẻ tấn công.


Giao diện một backdoor

Backdoor thường nằm ở đâu ?

Backdoor trong hệ thống WordPress thường được gửi tặng kèm ở những vị trí sau :

  1. Theme: hầu hết người dùng đều có nhu cầu thay đổi theme website theo sở thích của mình, vì vậy theme là một nơi tuyệt vời để đính kèm backdoor và đưa vào hệ thống của bạn. Đây cũng là nơi mà bạn rất ít khi thực hiện việc cập nhật vì sợ sẽ mất đi những thay đổi của riêng bạn khi cập nhật. Trong đa phần các trường hợp, lời khuyên của tôi là bạn nên xóa tất cả các theme nào không sử dụng nữa đi.
  2. Plugin: đây cũng là một nơi rất tuyệt vời để chứa mã độc bởi 3 lý do sau: Thứ nhất, người dùng đa phần không thể đọc được chúng vì phải am hiểu mã lập trình PHP. Thứ hai, mọi người không thường xuyên nâng cấp plugin, vì vậy chúng vẫn sẽ tồn tại trong quá trình bạn nâng cấp WordPress. Thứ ba, có rất nhiều plugin chứa lỗ hổng mà hacker có thể dễ dàng khai thác.
  3. Thư mục Uploads: là một blogger viết bài thường xuyên, nhưng bạn sẽ rất ít khi chú ý đến thư mục upload hình ảnh của mình – bởi vì với bạn đơn giản là bạn chỉ tải lên hình ảnh mà thôi. Ngoài ra, thư mục upload chứa hàng ngàn hình ảnh nên việc kiểm tra nó chưa bao giờ dễ dàng. Thư mục Upload lại là một nơi được phân quyền cho phép ghi, vì vậy nó trở thành chỗ rất tuyệt để hacker tải backdoor lên mà bạn không để ý hoặc dọn dẹp.
  4. wp-config.php: vị trí này thì không cần phải nói nhiều nữa.
  5. Thư mục wp-includes/: đây là một trong những thư mục mà mình thường tìm kiếm sau khi đã xóa backdoor ở những vị trí trên. Một hacker không bao giờ chỉ để lại một con backdoor vì chúng muốn đảm bảo quyền truy cập cho mình sau khi đã có thể tấn công được vào hệ thống của bạn. Vì vậy, chúng sẽ tải lên thêm một vài bản sao ở một vài vị trí khác.

Và trong hầu hết các trường hợp mà mình đã gặp phải, ngoài một số tên lạ mà bạn có thể dễ dàng nhận ra “kẻ không mời”, một số hacker cũng cố gắng đặt tên file sao cho trùng hoặc gần giống với các tên file trong hệ thống WordPress nhằm qua mặt bạn. Ví dụ như WP có wp-includes/user.php nhưng sẽ không có wp-includes/wp-user.php – đừng để bị chúng nó đánh lừa.

Nó cũng có thể là một tên nào đó khiến bạn nhầm lẫn về phiên bản như wp-content.old.tmp, data.php, php5.php… hoặc bất kỳ tên nào khác có thể khiến bạn hiểu nhầm về tác dụng.

Giờ có thể bạn sẽ cho rằng WordPress thật thiếu an toàn – bạn đã sai. Nên nhớ rằng backdoor chỉ là bước thứ hai trong hành trình hack website của bạn. Bước đầu tiên sẽ là khai thác các lỗ hổng bảo mật, sai sót của bạn hoặc từ bên thứ ba (như download theme, plugin từ các nguồn không đảm bảo), nâng cấp đặc quyền và chiếm quyền truy cập. Sau đó mới đến việc upload backdoor để giữ quyền truy cập dài lâu.

Trong phiên bản WordPress mới nhất, chúng ta chưa phát hiện bất kỳ vấn đề bảo mật nào đáng lưu tâm cả. Vì vậy, hãy cẩn thận với những gì bạn tải lên từ bên thứ ba thay vì WordPress.

Dọn dẹp Backdoor như thế nào ?

Giờ bạn đã biết backdoor là gì ? thì việc tiếp theo mà chúng ta cần làm sau khi chiếm lại quyền điều khiển website đó là dọn dẹp backdoor. Nhưng sự thật là không dễ dàng gì dọn sạch chúng – phần khó khăn nhất là tìm ra chúng.

Một cách an toàn và tiết kiệm nhất là mình khuyên bạn hãy sử dụng plugin Sucuri Security. Nó có bản trả phí nhưng thôi xài tạm miễn phí đi cho lành và bớt tốn kém.

Tính năng hữu ích của plugin này là kiểm tra xem những file nào trên hệ thống WordPress của bạn mới bị thay đổi trong thời gian gần đây. Điều này giúp bạn dễ dàng tìm kiếm những vị trí hoặc file có khả năng là backdoor.

Bạn cũng có thể sử dụng Exploit Scanner, tuy nhiên bạn phải biết rằng plugin có sử dụng base64 và eval() nên đôi khi nó trả về những lỗi khá ngớ ngẩn. Nếu bạn không phải là nhà phát triển web, thật sự rất khó cho bạn phân biệt được những đoạn mã ẩn chứa nguy hiểm giữa hàng ngàn mã lệnh.

Điều tốt nhất và nên làm nhất là bạn nên xóa toàn bộ thư mục plugins/ và tiến hành cài đặt lại những gì cần thiết. Đây là cách tốt nhất và là cách tiết kiệm thời gian nhất để dọn dẹp.

Tìm kiếm và dọn dẹp thư mục uploads/

Có một số plugin cho phép bạn tim kiếm các tệp tin backdoor trong thư mục upload, nhưng mình thường sử dụng SSH vì mình đã quen với nó:

find uploads -name "*.php" -print

Lệnh trên sẽ tìm kiếm tất cả các tệp tin có đuôi .php trong thư mục upload – không có bất kỳ một lý do nào để một tệp tin thực thi php tồn tại trong thư mục mà đáng ra bạn sử dụng để upload hình ảnh lên website. Vì vậy, nếu có tồn tại bất kỳ tệp tin nào như vậy, nó cần phải bị xóa bỏ ngay lập tức.

Xóa tất cả các theme không sử dụng đến

Rất nhiều theme không sử dụng đến có thể chứa lỗi bảo mật, hoặc bị chèn backdoor sau khi bị tấn công. Hãy xóa chúng đi, ngay cả các theme mặc định của WordPress. Đơn giản là nó giúp bạn tiết kiệm được khối thời gian kiểm tra và đồng thời loại bỏ luôn nguy cơ tiềm ẩn mà không mất quá nhiều thời gian. Đằng nào thì bạn cũng không có ý định sử dụng chúng nữa.

Tệp tin .htaccess

Đôi lúc hacker sẽ chèn một số mã chuyển hướng vào file .htaccess để điều hướng website hoặc một vài đường link nào đó theo ý đồ của chúng. Hãy xóa bỏ chúng hoặc đơn giản hơn là bạn vào Setting > Permalink và tiến hành save lại để WordPress tự tạo ra file .htaccess mới.

wp-config.php

So sánh file wp-config.php của bạn với file wp-config-sample.php. Nếu bạn phát hiện ra thứ gì đó sai hoặc đặt không đúng chỗ, hãy loại bỏ chúng hoặc update lại file này dựa trên file wp-config-sample.php

Kiểm tra Database

Một hacker thông minh sẽ không bao giờ tạo ra chỉ một hoặc một vài điểm mà chúng có thể truy cập. Bạn cần kiểm tra database (cơ sở dữ liệu) của mình để chắn chắn rằng mình an toàn. Tin tặc có thể sẽ tạo ra một tài khoản quản trị mới, chèn các liên kết vào bài viết hay chèn nhiều bài viết chứa liên kết trong database. Nếu kiểm tra database mà bạn thấy nhiều hơn số user bạn đã tạo, có thể bạn đã bị hack.

Việc này có thể không dễ dàng với một số bạn, thật may là có một vài plugin cho phép bạn quét và kiểm tra database như Exploit Scanner hay Sucuri(bản có trả phí) – hãy tận dụng những tính năng có sẵn đó nếu bạn không thể tự mình thực hiện.

Kiểm tra lại lần nữa

Bạn nghĩ rằng đã dọn dẹp sạch sẽ ?

Hãy thử mở trình duyệt ẩn danh (chưa đăng nhập, không cache, không cookie…). Có thể mục tiêu của hacker không phải là bạn mà là công cụ tìm kiếm. Nếu kiểm tra lại mà vẫn không thấy gì khả nghi nữa, bạn có thể an tâm.

Exit mobile version