Làm Thế Nào Tìm Backdoor Trong WordPress
17 Nov, 2021 admin
Từ lần này sang những lần khác, chúng tôi đã giúp người dùng sửa chữa các trang web WordPress bị hack của họ. Đa số các lần khi họ tiếp cận với chúng tôi, họ đã dọn dẹp sạch các trang web nhưng các hacker hoàn toàn có thể quay trở lại. Điều này xảy ra nếu bạn không làm sạch nó đúng cách, hoặc bạn không biết bạn đang làm gì. Trong hầu hết các trường hợp mà chúng tôi tìm thấy, có một backdoor tạo ra bởi hacker cho phép họ bỏ qua bước xác thực thông thường. Trong bài viết này, chúng tôi sẽ chỉ cho bạn biết làm thế nào để tìm thấy một backdoor trong một trang web WordPress đã bị hack và làm thế nào để sửa chữa nó.
Backdoor là gì?
Backdoor được biết đến là một phương pháp vượt qua bước xác thực thông thường và đạt được khả năng truy cập máy chủ trong khi vẫn không bị phát hiện. Phần lớn các hacker khôn ngoan luôn upload backdoor đầu tiên. Điều này cho phép họ để lấy lại quyền truy cập ngay cả sau khi bạn đã tìm được và gỡ bỏ các plugin bị khai thác. Backdoor thường tồn tại sau những nâng cấp, vì vậy trang web của bạn vẫn dễ bị tổn thương cho đến khi bạn làm sạch đống lộn xộn này.
Một số backdoors chỉ đơn giản là cho phép người dùng tạo ra admin username ẩn. Trong khi đó, các backdoors phức tạp hơn có thể cho phép hacker thực thi bất kì code PHP được gửi từ trình duyệt. Những người khác có một UI đầy đủ cho phép họ gửi các email như từ server của bạn,thực hiện SQL querie, và bất kì thứ gì khác mà họ muốn làm.
Code ẩn này ở đâu?
Các backdoor trên một trang cài đặt WordPress thường được lưu trữ phổ biến nhất trong các địa điểm sau:
- Các Theme – Các hacker thường biết rõ lỗ hổng bảo mật của các theme cũ vì vậy nếu bạn có theme Kubrick cũ trong thư mục themes của bạn hoặc một theme không hoạt động nào khác thì hacker rất dễ đặt backdoor vào web của bạn lí do thì chúng tôi đã giải thích trong một bài viết khác ở trên web, về cơ bản thì với các theme cũ đã bị hacker tìm ra cách hack thì họ hầu như có thể tấn công các trang đó một cách tự động.
- Các plugin – các plugin là một nơi tuyệt vời cho các hacker dấu backdoor vì ba lý do. Một là vì mọi người không thực sự nhìn vào code của chúng (do họ thường chỉ quan tâm tới sự tiện dụng của plugin). Hai bởi vì mọi người không muốn nâng cấp plugin của họ,việc không cập nhật plugins và themes hoặc dùng các plugin miễn phí không rõ nguồn gốc là hết sức nguy hiểm bởi vì khả năng bảo mật của chúng là rất kém và rất dễ trở thành điểm yếu cho website của bạn.
- Uploads Directory – một blogger thường không bao giờ kiểm tra upload directory vì họ chỉ quan tâm tới làm nội dung cho website và thường bỏ qua các vấn đề bảo mật. Bạn có thể có tới hàng ngàn hình ảnh trong uploads folder. Sẽ là rất dễ dàng cho các hacker để tải lên một backdoor vào trong uploads folder vì nó sẽ ẩn trong số hàng ngàn các ảnh khác. Thêm nữa, bạn không kiểm tra nó thường xuyên. Hầu hết mọi người không có một plugin giám sát giống như Sucuri.
- wp-config.php – Đây cũng là một trong các file có khả năng cao được các hacker nhắm làm mục tiêu. Nó cũng là một trong những nơi đầu tiên hầu hết mọi người được khuyên cần xem xét đến.
- Includes Folder – / wp-includes / thư mục là một nơi khác mà chúng tôi tìm thấy các backdoor. Một số hacker sẽ luôn luôn để lại nhiều hơn một file backdoor. Một khi họ tải lên một file backdoor, họ sẽ bổ sung thêm một file dự phòng khác để đảm bảo quyền truy cập của họ. Includes Folder là một thư mục khác nơi mà hầu hết mọi người không bận tâm đến.
Trong tất cả các trường hợp chúng tôi tìm thấy, backdoor được ngụy trang trông giống như một file WordPress.
Ví dụ: trong một trang web được chúng tôi dọn dẹp, backdoor ở trong folder wp-includes, và nó đặt tên là wp-user.php (điều này không tồn tại trong cài đặt thông thường). Có user.php, nhưng không có wp-user.php trong folder / wp-includes /. Trong trường hợp khác, chúng tôi tìm thấy một file php được đặt tên là hello.php trong uploads folder. Nó được ngụy trang như một plugin Hello Dolly. Nhưng thế quái nào nó lại ở trong uploads folder được?
Nó cũng có thể sử dụng những cái tên như wp-content.old.tmp, data.php, php5.php, hoặc một cái gì kiểu như vậy.
Nó không kết thúc với PHP chỉ vì nó có code PHP trong nó. Nó cũng có thể là một file .zip. Trong hầu hết các trường hợp, các file được mã hóa với code base64, code mà thường thực hiện tất cả các sort operationc (ví dụ như thêm các spam link, thêm các trang bổ sung, chuyển hướng các trang web chính đến các trang spam, vv).
Bây giờ bạn có thể nghĩ rằng WordPress là không an toàn vì nó cho phép các backdoor tồn tại. Bạn đã nhầm to rồi. Phiên bản hiện tại của WordPress không có lỗ hổng đã biết. Các backdoor không phải là những bước đầu tiên của việc hack. Nó thường là bước thứ hai. Thường thì các hacker đi tìm một nơi có thể khai thác trong một plugin của bên thứ ba hoặc script mà sau đó sẽ cung cấp cho họ quyền truy cập để tải lên các backdoor. Gợi ý: TimThumb hack. Nó có thể là tất cả các loại điều. Ví dụ, một plugin được lập trình kém có thể cho phép người sử dụng đặc quyền leo thang. Nếu trang web của bạn là đăng ký mở, các hacker chỉ cần đăng ký một tài khoản miễn phí.
Khai thác một tính năng để đạt được nhiều đặc quyền hơn (cái mà sau đó cho phép họ tải lên các file). Trong trường hợp khác, nó rất có thể là thông tin quan trọng của bạn đã bị tổn hại. Nó cũng có thể là bạn đang sử dụng một nhà cung cấp hosting không tốt. Xem danh sách đề nghị của chúng tôi về web hosting.
Làm thế nào để tìm Backdoor?
Bây giờ bạn có thể đã biết backdoor là gì, và nơi mà nó có thể được tìm thấy. Bạn cần bắt đầu tìm kiếm nó. Làm sạch nó lên là việc dễ dàng như xóa các tập tin hoặc code. Tuy nhiên, phần khó khăn là phải tìm ra nó. Bạn có thể bắt đầu với một trong những plugin WordPress quét phần mềm độc hại sau đây. Trong số đó, chúng tôi khuyên nên sử dụng Sucuri, với bản trả phí thì Sucuri là một công cụ hết sức hữu dụng để ngăn chặn hacker và backdoor tuy nhiên nếu bạn đang không dư dả lắm thì có thì sử dụng một số plugin bảo mật khác.
Bạn cũng có thể sử dụng Exploit Scanner, nhưng hãy nhớ rằng base64 và eval code cũng được sử dụng trong các plugin. Vì vậy, đôi khi nó sẽ có một số vấn đè với việc tìm xem đâu là mã độc trong một plugin. Nếu bạn không phải là một lập trình viên plugin thì nó thực sự là khó khăn cho bạn để biết đâu là nơi code không ở đúng vị trí của nó trong hàng ngàn dòng code. Điều tốt nhất bạn có thể làm là xóa thư mục plugins của bạn, và cài đặt lại các plugin của bạn từ đầu. Yup, đây là cách duy nhất bạn có thể đảm bảo chắc chắn, trừ khi bạn có nhiều thời gian để làm.
Tìm kiếm Uploads Directory
Một trong những scanner plugin sẽ tìm thấy một tập tin giả mạo trong uploads folder. Nhưng nếu bạn đã quen thuộc với SSH, thì bạn chỉ cần viết lệnh sau đây:
find uploads -name "*.php" -print
Không có lý do nào tốt cho việc một file .php có trong uploads folder của bạn. Các folder được thiết kế dành cho các tập tin media trong đa số các trường hợp. Nếu có một file .php trong đó, thì hãy xóa nó ngay.
Xóa các theme không hoạt động
Như chúng tôi đã đề cập ở trên, các theme không hoạt động thường là mục tiêu. Điều tốt nhất làm bạn hãy xóa chúng ( đúng vậy điều này bao gồm các theme mặc định và theme cổ điển). Nhưng chờ đã, tôi đã không kiểm tra để xem liệu backdoor có ở đó không. Nếu nó ở đó thì giờ nó đã biến mất rồi. Bạn chỉ cần tiết kiệm thời gian của bạn khỏi phải tìm kiếm, và bạn loại bỏ một điểm bổ sung của cuộc tấn công.
Tập tin .htaccess
Đôi khi các code chuyển hướng được thêm vào đó. Chỉ cần xóa các file, và nó sẽ tái tạo chính nó. Nếu không, đi đến bảng điều khiển WordPress admin của bạn. Settings »Permalinks. Nhấp vào nút Save ở đó. Nó sẽ tạo lại file.htaccess.
File wp-config.php
So sánh file này với các file wp-config-sample.php mặc định. Nếu bạn nhìn thấy một cái gì đó là không ở đúng chỗ thì hãy xóa nó đi.
Quét cơ sở dữ liệu để tìm các lỗ hổng và SPAM
Một hacker khôn ngoan sẽ không bao giờ chỉ cài một backdoor. Nhắm vào mục tiêu một cơ sở dữ liệu có đầy những dữ liệu là một mẹo rất dễ dàng. Họ có thể lưu trữ các chức năng PHP xấu của họ, tài khoản quản trị mới, các link SPAM, vv trong các cơ sở dữ liệu. Đúng vậy, đôi khi bạn sẽ không nhìn thấy admin user ở trong trang của người dùng. Bạn sẽ thấy rằng có 3 người sử dụng, và bạn chỉ có thể xem 2 trong số đó. Có thể bạn đã bị hack.
Nếu bạn không biết những gì bạn đang làm với SQL, thi bạn có thể muốn để cho một trong những máy quét làm việc cho bạn. Exploit Scanner plugin hoặc Sucuri (phiên bản trả tiền) có thể làm điều đó.
Nghĩ rằng bạn đã làm sạch nó? Hãy nghĩ lại!
Được rồi giờ thì hack đã biến mất. Phew. Khoan nào, đừng chỉ thư giãn. Mở trình duyệt của bạn ở chế độ ẩn danh để xem liệu hack có quay trở lại không. Đôi khi, các tin tặc này rất không ngoan. Họ sẽ không hiển thị hack với người dùng đã đăng nhập. Chỉ những người dùng đã đăng xuất mới nhìn thấy nó. Hoặc tốt hơn là cố gắng thay đổi người dùng của trình duyệt ví dụ như Google. Đôi khi, các tin tặc chỉ muốn nhắm vào mục tiêu là các công cụ tìm kiếm. Nếu tất cả đều rất tốt thì bạn có thể rời đi.
FYI (thông tin cho bạn): nếu bạn muốn 100% chắc chắn rằng không có hack thì hãy xóa trang của bạn. Và khôi phục nó đến điểm mà bạn biết rằng việc hack không có ở đó. Điều này có thể không phải là một lựa chọn cho tất cả mọi người nhưng cách triệt để nhất mà tôi vẫn gợi ý cho mọi người đó là backup toàn bộ content của web và cài lại như vậy là chắc chắn nhất trong việc loại bỏ các backdoor có thể còn trong trang web.
Làm thế nào để ngăn ngừa các vụ hack trong tương lai?
Bí kíp ở đây là luôn có sẵn backup ( sử dụng VaultPress hoặc BackupBuddy) và bắt đầu sử dụng một dịch vụ giám sát. Giống như chúng tôi đã nói trước đó, bạn không thể nào theo dõi tất cả mọi thứ hoạt động trên trang web của bạn khi bạn đang còn phải làm rất nhiều thứ khác. Đây là lý do tại sao chúng tôi sử dụng Sucuri. Có rất nhiều các plugin về bảo mật khác nhưng tôi cảm thấy Sucuri có vẻ hiệu quả hơn nhưng đây chỉ là ý kiến cá nhân và nếu trang web của bạn không có cấu trúc giống tôi thì sử dụng plugin khác có thể sẽ hiệu quả hơn. Tất nhiên là với người dùng Sucuri và đã viết một vài review về nó thì tôi sẽ khuyến khích sử dụng Sucuri. Để biết thêm thông tin chi tiết đọc bài viết của chúng tôi về 5 lý do Tại sao chúng tôi sử dụng Sucuri để cải thiện bảo mật cho WordPress.
Một số ít những thứ khác bạn có thể làm:
- Sử dụng mật khẩu mạnh – Buộc các người dùng của bạn phải sử dụng mật khẩu mạnh. Bắt đầu sử dụng một tiện ích quản lý mật khẩu như 1Password.
- 2 bước xác nhận – Nếu mật khẩu của bạn đã bị xâm nhập, tài khoản vẫn cần phải có code xác minh từ điện thoại của bạn.
- Giới hạn những nỗ lực đăng nhập– Plugin này cho phép bạn khóa người sử dụng sau khi họ có X lần đăng nhập thất bại nào đó.
- Vô hiệu hóa Theme và Plugin editor – Điều này ngăn chặn các vấn đề leo thang của người dùng. Ngay cả khi đặc quyền của người sử dụng đã leo thang, họ không thể thay đổi theme hoặc các plugin bằng cách sử dụng WP-Admin của bạn.
- Đặt Password để bảo vệ WP-Admin – Bạn có thể đặt mật khẩu bảo vệ toàn bộ thư mục. Bạn cũng có thể giới hạn truy cập bằng IP.
- Vô hiệu hóa thực hiện PHP trong một số thư mục WordPress – điều này vô hiệu hóa thực thi PHP trong thư mục upload và các thư mục khác theo sự lựa chọn của bạn. Về cơ bản ngay cả khi có ai đó đã có thể tải lên các tập tin vào trong thư mục upload của bạn, họ cũng sẽ không thể thực hiện nó.
- Dùy trì cập nhật – Khởi động phiên bản mới nhất của WordPress, và nâng cấp các plugin của bạn.
Cuối cùng, đừng quá bủn xỉn khi nói đến bảo mật. Chúng tôi luôn luôn nói rằng các biện pháp an ninh tốt nhất là các sao lưu tuyệt vời. Xin hãy vui lòng giữ bản sao lưu thường xuyên tốt về trang web của bạn. Hầu hết các công ty hosting KHÔNG làm điều này cho bạn. Hãy bắt đầu sử dụng một giải pháp đáng tin cậy như BackupBuddy hoặc VaultPress. Bằng cách này nếu bạn đã từng bị tấn công, bạn luôn có một điểm khôi phục. Ngoài ra nếu bạn có thể, chỉ cần có Sucuri và bảo vệ chính bạn khỏi tất cả những rắc rối. Họ sẽ theo dõi trang web của bạn, và làm sạch nó lên nếu bạn đã từng bị tấn công. Nó có giá vào khoảng 3 $ mỗi tháng cho mỗi trang web nếu bạn có 5 site plan.
Chúng tôi hy vọng rằng bài viết này giúp bạn. Hãy để lại một bình luận dưới đây nếu bạn có một cái gì cần được thêm.