Cách tìm backdoor/malware trong trang web WordPress bị tấn công

Tác giả Network Engineer, T.Ba 15, 2022, 10:22:17 CHIỀU

« Chủ đề trước - Chủ đề tiếp »

0 Thành viên và 1 Khách đang xem chủ đề.

Cách tìm backdoor/malware trong trang web WordPress bị tấn công


Trang web WordPress của bạn đã bị tấn công chưa?

Tin tặc thường sẽ cài đặt một backdoor để đảm bảo chúng có thể vào lại ngay cả sau khi bạn bảo mật trang web của mình. Trừ khi bạn có thể loại bỏ backdoor đó, không có cách nào ngăn cản chúng.

Trong bài viết này, mình sẽ hướng dẫn bạn cách tìm một backdoor trong một trang web WordPress bị tấn công và khắc phục nó.

1. Làm thế nào để biết nếu trang web của bạn đã bị tấn công

Nếu bạn đang chạy một trang web WordPress, thì bạn cần phải coi trọng vấn đề bảo mật. Đó là bởi vì các trang web bị tấn công trung bình 44 lần mỗi ngày.

Bạn có thể tìm hiểu các phương pháp hay nhất để giữ an toàn cho trang web của mình trong hướng dẫn bảo mật WordPress cuối cùng của mình.

Nhưng điều gì sẽ xảy ra nếu trang web của bạn đã bị tấn công?

Một số dấu hiệu trang web WordPress của bạn đã bị tấn công bao gồm giảm lưu lượng truy cập hoặc hiệu suất trang web, thêm liên kết xấu hoặc tập tin không xác định, trang chủ bị xóa, không thể đăng nhập, tài khoản người dùng mới đáng ngờ, v.v.

Việc dọn dẹp một trang web bị tấn công có thể cực kỳ khó khăn và tốn nhiều thời gian. Mình sẽ hướng dẫn bạn qua từng bước trong hướng dẫn dành cho người mới bắt đầu của mình để sửa trang web WordPress bị tấn công của bạn. Bạn cũng nên đảm bảo rằng bạn quét trang web của mình để tìm bất kỳ phần mềm độc hại nào mà tin tặc để lại.

Và đừng quên đóng backdoor.

Một hacker thông minh biết rằng cuối cùng bạn sẽ dọn dẹp trang web của mình. Điều đầu tiên họ có thể làm là cài đặt một backdoor, để họ có thể lẻn vào sau khi bạn bảo mật cửa trước vào trang web WordPress của mình.

2. Backdoor là gì?

Backdoor là mã được thêm vào một trang web cho phép tin tặc truy cập vào máy chủ trong khi vẫn không bị phát hiện và bỏ qua đăng nhập thông thường. Nó cho phép tin tặc lấy lại quyền truy cập ngay cả sau khi bạn tìm và xóa plugin hoặc lỗ hổng đã bị khai thác trên trang web của bạn.

Backdoor là bước tiếp theo của quá trình hack sau khi người dùng đột nhập. Bạn có thể tìm hiểu cách họ có thể đã làm điều đó trong hướng dẫn của mình về cách các trang web WordPress bị tấn công và cách ngăn chặn nó.

Các backdoor thường tồn tại sau khi nâng cấp WordPress. Điều đó có nghĩa là trang web của bạn sẽ vẫn dễ bị tấn công cho đến khi bạn tìm thấy và sửa mọi backdoor.

2.1. Backdoor hoạt động như thế nào?

Một số backdoor chỉ đơn giản là tên người dùng quản trị viên ẩn. Chúng cho phép hacker đăng nhập bình thường bằng cách nhập tên người dùng và mật khẩu. Vì tên người dùng bị ẩn, bạn thậm chí không biết rằng ai đó khác có quyền truy cập vào trang web của bạn.

Các backdoor phức tạp hơn có thể cho phép hacker thực thi mã PHP. Họ gửi mã đến trang web của bạn theo cách thủ công bằng trình duyệt web của họ.

Những người khác có giao diện người dùng chính thức đầy đủ cho phép họ gửi email dưới dạng máy chủ lưu trữ WordPress của bạn, thực hiện các truy vấn cơ sở dữ liệu SQL và hơn thế nữa.

Một số tin tặc sẽ để lại nhiều hơn một tập tin backdoor. Sau khi tải lên một cái, họ sẽ thêm một cái khác để đảm bảo quyền truy cập của họ.

2.2. Backdoor được giấu ở đâu?

Trong mọi trường hợp mình đã tìm thấy, backdoor đã được ngụy trang để trông giống như một tập tin WordPress. Mã cho các backdoor trên một trang WordPress thường được lưu trữ ở các vị trí sau:

  • Một giao diện WordPress, nhưng có thể không phải là giao diện bạn hiện đang sử dụng. Mã trong một giao diện không bị ghi đè khi bạn cập nhật WordPress, vì vậy đó là một nơi tốt để đặt một backdoor. Đó là lý do tại sao mình khuyên bạn nên xóa tất cả các giao diện không hoạt động.
  • Các plugin WordPress là một nơi tốt khác để ẩn backdoor. Giống như các giao diện, chúng không bị các bản cập nhật WordPress ghi đè và nhiều người dùng không muốn nâng cấp các plugin.
  • Thư mục tải lên có thể chứa hàng trăm hoặc hàng nghìn tập tin phương tiện, vì vậy đây là một nơi tốt khác để ẩn backdoor. Các blogger hầu như không bao giờ kiểm tra nội dung của nó vì họ chỉ tải lên một hình ảnh và sau đó sử dụng nó trong một bài đăng.
  • Tập tin wp-config.php chứa thông tin nhạy cảm được sử dụng để cấu hình WordPress. Đó là một trong những tập tin bị tin tặc nhắm mục tiêu cao nhất.
  • Thư mục wp-include chứa các tập tin PHP cần thiết để WordPress chạy bình thường. Đó là một nơi khác mà mình tìm thấy các backdoor vì hầu hết chủ sở hữu trang web không kiểm tra xem thư mục chứa những gì.

2.3. Ví dụ về Backdoor mà mình đã tìm thấy

Dưới đây là một số ví dụ về nơi tin tặc đã tải lên các backdoor. Trong một trang web mà mình đã dọn dẹp, backdoor nằm trong thư mục wp-includes. Tập tin đã được gọi wp-user.php, trông có vẻ vô tội, nhưng tập tin đó không thực sự tồn tại trong cài đặt WordPress thông thường.

Trong một trường hợp khác, mình tìm thấy một tập tin PHP có tên hello.php trong thư mục tải lên. Nó được ngụy trang dưới dạng plugin Hello Dolly. Điều kỳ lạ là hacker đã đặt nó vào thư mục tải lên thay vì thư mục plugin.

Mình cũng đã tìm thấy các backdoor không sử dụng .php làm phần mở rộng tập tin. Một ví dụ là một tập tin có tên wp-content.old.tmp và mình cũng đã tìm thấy các backdoor trong các tập tin có phần mở rộng .zip.

Như bạn có thể thấy, tin tặc có thể thực hiện các cách tiếp cận rất sáng tạo khi ẩn một backdoor.

Trong hầu hết các trường hợp, các tập tin được mã hóa bằng mã Base64 có thể thực hiện tất cả các loại hoạt động. Ví dụ: họ có thể thêm liên kết spam, thêm các trang bổ sung, chuyển hướng trang web chính đến các trang spam, v.v.

Chúng ta hãy xem cách tìm một backdoor trong một trang web WordPress bị tấn công và khắc phục nó.

3. Làm thế nào để tìm một backdoor trong một trang web WordPress bị tấn công và khắc phục nó

Bây giờ bạn đã biết backdoor là gì và nó có thể bị ẩn ở đâu. Phần khó là tìm ra nó. Sau đó, việc dọn dẹp nó cũng dễ dàng như xóa tập tin hoặc mã.

3.1. Quét mã độc hại tiềm ẩn

Cách dễ nhất để quét trang web của bạn để tìm các backdoor và lỗ hổng bảo mật là sử dụng plugin quét phần mềm độc hại WordPress. Mình khuyên dùng Securi vì nó đã giúp mình chặn 450.000 cuộc tấn công vào WordPress trong 3 tháng, bao gồm 29.690 cuộc tấn công liên quan đến backdoor.

Họ cung cấp một plugin Sucuri Security miễn phí cho WordPress cho phép bạn quét trang web của mình để tìm các mối đe dọa phổ biến và tăng cường bảo mật WordPress của bạn. Phiên bản trả phí bao gồm một máy quét phía máy chủ chạy một lần mỗi ngày và tìm kiếm các backdoor và các vấn đề bảo mật khác.

Tìm hiểu thêm trong hướng dẫn của mình về cách quét trang web WordPress của bạn để tìm mã độc hại tiềm ẩn.

3.2. Xóa thư mục plugin của bạn

Việc tìm kiếm trong các thư mục plugin của bạn để tìm kiếm các tập tin và mã đáng ngờ rất tốn thời gian. Và bởi vì tin tặc rất lén lút, không có gì đảm bảo rằng bạn sẽ tìm thấy một backdoor.

Điều tốt nhất bạn có thể làm là xóa thư mục plugin của mình, sau đó cài đặt lại các plugin của bạn từ đầu. Đây là cách duy nhất để biết chắc chắn rằng không có backdoor nào trong các plugin của bạn.

Bạn có thể truy cập thư mục plugin của mình bằng ứng dụng FTP hoặc trình quản lý tập tin của máy chủ lưu trữ WordPress của bạn. Nếu bạn chưa sử dụng FTP trước đây, thì bạn có thể muốn xem hướng dẫn của mình về cách sử dụng FTP để tải tập tin lên WordPress.

Bạn sẽ cần sử dụng phần mềm để điều hướng đến thư mục wp-content trên trang web của mình. Khi đó, bạn phải nhấp chuột phải vào thư mục plugins và chọn 'Delete'.


3.3. Xóa thư mục giao diện của bạn

Theo cách tương tự, thay vì dành thời gian tìm kiếm một backdoor trong số các tập tin giao diện của bạn, tốt hơn là bạn chỉ cần xóa chúng đi.

Sau khi bạn xóa thư mục plugin của mình, chỉ cần đánh dấu thư mục themes và xóa nó theo cách tương tự.

Bạn không biết liệu có một backdoor trong thư mục đó hay không, nhưng nếu có, nó đã biến mất ngay. Bạn vừa tiết kiệm được thời gian vừa loại bỏ được thêm một điểm tấn công.

Bây giờ bạn có thể cài đặt lại bất kỳ giao diện nào bạn cần.

3.4. Tìm kiếm trong thư mục tải lên cho các tập tin PHP

Tiếp theo, bạn nên xem qua thư mục uploads và đảm bảo rằng không có tập tin PHP nào bên trong.

Không có lý do chính đáng để tập tin PHP nằm trong thư mục này vì nó được thiết kế để lưu trữ các tập tin phương tiện như hình ảnh. Nếu bạn tìm thấy một tập tin PHP ở đó, thì nó sẽ bị xóa.

Giống như thư mục plugins và themes, bạn sẽ tìm thấy thư mục uploads trong thư mục wp-content. Bên trong thư mục, bạn sẽ tìm thấy nhiều thư mục cho mỗi năm và tháng bạn đã tải tập tin lên. Bạn sẽ cần kiểm tra từng thư mục để tìm tập tin PHP.

Một số ứng dụng khách FTP cung cấp các công cụ sẽ tìm kiếm thư mục một cách đệ quy. Ví dụ: nếu bạn sử dụng FileZilla, thì bạn có thể nhấp chuột phải vào thư mục và chọn 'Add files to queue'. Mọi tập tin được tìm thấy trong bất kỳ thư mục con nào của thư mục sẽ được thêm vào hàng đợi ở ngăn dưới cùng.


Bây giờ bạn có thể cuộn qua danh sách để tìm các tập tin có phần mở rộng .php.

Ngoài ra, người dùng nâng cao quen thuộc với SSH có thể viết lệnh sau:

Mã nguồn [Chọn]
$ find uploads -name "*.php" -print
3.5. Xóa tập tin .htaccess

Một số tin tặc có thể thêm mã chuyển hướng vào tập tin .htaccess của bạn để đưa khách truy cập của bạn đến một trang web khác.

Sử dụng ứng dụng khách FTP hoặc trình quản lý tập tin, chỉ cần xóa tập tin khỏi thư mục gốc của trang web của bạn và tập tin sẽ được tạo lại tự động.


Nếu vì lý do nào đó mà nó không được tạo lại, thì bạn nên đi tới Settings >> Permalinks trong bảng điều khiển quản trị WordPress của bạn. Nhấp vào nút 'Save Changes' sẽ lưu tập tin .htaccess mới.


3.6. Kiểm tra tập tin wp-config.php

Tập tin wp-config.php là một tập tin WordPress cốt lõi chứa thông tin cho phép WordPress giao tiếp với cơ sở dữ liệu, các khóa bảo mật để cài đặt WordPress của bạn và các tùy chọn dành cho nhà phát triển.

Tập tin được tìm thấy trong thư mục gốc của trang web của bạn. Bạn có thể xem nội dung của tập tin bằng cách chọn tùy chọn Open hoặc Edit trong ứng dụng khách FTP của mình.


Bây giờ bạn nên xem kỹ nội dung của hồ sơ để xem có gì khác lạ không. Có thể hữu ích nếu so sánh tập tin với tập tin mặc định wp-config-sample.php nằm trong cùng một thư mục.

Bạn nên xóa bất kỳ mã nào mà bạn chắc chắn không thuộc về.

3.7. Khôi phục bản sao lưu trang web

Nếu bạn đã thường xuyên sao lưu trang web của mình và vẫn lo lắng rằng trang web của bạn không hoàn toàn sạch sẽ, thì khôi phục bản sao lưu là một giải pháp tốt.

Bạn sẽ cần phải xóa hoàn toàn trang web của mình và sau đó khôi phục bản sao lưu đã được thực hiện trước khi trang web của bạn bị tấn công. Đây không phải là một lựa chọn cho tất cả mọi người, nhưng nó sẽ giúp bạn hoàn toàn tin tưởng rằng trang web của bạn an toàn.

Để biết thêm thông tin, hãy xem hướng dẫn dành cho người mới bắt đầu của mình về cách khôi phục WordPress từ bản sao lưu.

4. Làm thế nào để ngăn chặn các cuộc tấn công trong tương lai?

Bây giờ bạn đã dọn dẹp trang web của mình, đã đến lúc cải thiện tính bảo mật của trang web để ngăn chặn các vụ tấn công trong tương lai. Nó không phải là rẻ tiền hoặc thờ ơ khi nói đến bảo mật trang web.

4.1. Thường xuyên sao lưu trang web của bạn

Nếu bạn chưa thực hiện sao lưu trang web thường xuyên, thì hôm nay là ngày để bắt đầu.

WordPress không đi kèm với giải pháp sao lưu tích hợp. Tuy nhiên, có một số plugin sao lưu WordPress tuyệt vời cho phép bạn tự động sao lưu và khôi phục trang web WordPress của mình.

UpdraftPlus là một trong những plugin sao lưu WordPress tốt nhất. Nó cho phép bạn thiết lập lịch sao lưu tự động và sẽ giúp bạn khôi phục trang web WordPress của mình nếu có điều gì đó xấu xảy ra.

Tìm hiểu thêm trong hướng dẫn của mình về cách sao lưu và khôi phục trang web WordPress của bạn bằng UpdraftPlus.


4.2. Cài đặt một Plugin bảo mật

Bạn không thể theo dõi mọi thứ diễn ra trên trang web của mình khi bạn đang bận rộn với công việc kinh doanh của mình. Đó là lý do tại sao mình khuyên bạn nên sử dụng một plugin bảo mật như Sucuri.

Mình đề xuất Sucuri vì họ giỏi những gì họ làm. Các ấn phẩm lớn như CNN, USA Today, PC World, TechCrunch, The Next Web và những người khác cũng đồng ý như vậy. Ngoài ra, mình tự dựa vào đó để giữ cho website của mình an toàn.

4.3. Làm cho đăng nhập WordPress an toàn hơn

Điều quan trọng là bạn phải làm cho thông tin đăng nhập WordPress của mình an toàn hơn. Cách tốt nhất để bắt đầu là thực thi việc sử dụng mật khẩu mạnh khi người dùng tạo tài khoản trên trang web của bạn. Mình cũng khuyên bạn nên bắt đầu sử dụng tiện ích quản lý mật khẩu như 1Password.

Điều tiếp theo bạn nên làm là thêm xác thực hai yếu tố. Điều này sẽ bảo vệ trang web của bạn chống lại mật khẩu bị đánh cắp và các cuộc tấn công vũ phu. Nó có nghĩa là ngay cả khi một hacker biết tên người dùng và mật khẩu của bạn, họ vẫn sẽ không thể đăng nhập vào trang web của bạn.

Cuối cùng, bạn nên hạn chế các nỗ lực đăng nhập trong WordPress. WordPress cho phép người dùng nhập mật khẩu bao nhiêu lần tùy thích. Việc khóa người dùng sau năm lần đăng nhập không thành công sẽ làm giảm đáng kể cơ hội của tin tặc trong việc tìm ra chi tiết đăng nhập của bạn.

4.4. Bảo vệ khu vực quản trị WordPress của bạn

Bảo vệ khu vực quản trị khỏi truy cập trái phép cho phép bạn chặn nhiều mối đe dọa bảo mật phổ biến. Mình có một danh sách dài các mẹo về cách bạn có thể giữ an toàn cho quản trị viên WordPress.

Ví dụ: bạn có thể bảo vệ bằng mật khẩu thư mục wp-admin. Điều này bổ sung một lớp bảo vệ khác cho điểm vào quan trọng nhất đối với trang web của bạn.

Bạn cũng có thể giới hạn quyền truy cập vào khu vực quản trị đối với các địa chỉ IP được nhóm của bạn sử dụng. Đây là một cách khác để khóa những tin tặc phát hiện ra tên người dùng và mật khẩu của bạn.

4.5. Tắt trình chỉnh sửa giao diện và plugin

Bạn có biết rằng WordPress đi kèm với một trình chỉnh sửa giao diện và plugin tích hợp sẵn không? Trình chỉnh sửa văn bản thuần túy này cho phép bạn chỉnh sửa các tập tin giao diện và plugin của mình trực tiếp từ bảng điều khiển WordPress.

Mặc dù điều này hữu ích nhưng nó có thể dẫn đến các vấn đề bảo mật tiềm ẩn. Ví dụ: nếu một tin tặc đột nhập vào khu vực quản trị WordPress của bạn, thì họ có thể sử dụng trình chỉnh sửa tích hợp để có quyền truy cập vào tất cả dữ liệu WordPress của bạn.

Sau đó, họ sẽ có thể phát tán phần mềm độc hại hoặc khởi chạy các cuộc tấn công DDoS từ trang web WordPress của bạn.

Để cải thiện tính bảo mật của WordPress, mình khuyên bạn nên xóa hoàn toàn các trình chỉnh sửa tập tin tích hợp sẵn.

4.6. Tắt thực thi PHP trong một số thư mục WordPress nhất định

Theo mặc định, các tập lệnh PHP có thể được chạy trong bất kỳ thư mục nào trên trang web của bạn. Bạn có thể làm cho trang web của mình an toàn hơn bằng cách tắt thực thi PHP trong các thư mục không cần đến nó.

Ví dụ: WordPress không bao giờ cần chạy mã được lưu trữ trong thư mục uploads của bạn. Nếu bạn tắt thực thi PHP cho thư mục đó, thì hacker sẽ không thể chạy một backdoor ngay cả khi họ đã tải lên thành công một backdoor ở đó.

4.7. Giữ cho trang web của bạn được cập nhật

Mọi phiên bản mới của WordPress đều an toàn hơn phiên bản trước. Bất cứ khi nào một lỗ hổng bảo mật được báo cáo, nhóm WordPress cốt lõi sẽ làm việc siêng năng để phát hành bản cập nhật khắc phục sự cố.

Điều này có nghĩa là nếu bạn không cập nhật WordPress, thì bạn đang sử dụng phần mềm có lỗ hổng bảo mật đã biết. Tin tặc có thể tìm kiếm các trang web chạy phiên bản cũ hơn và sử dụng lỗ hổng để truy cập.

Đó là lý do tại sao bạn nên luôn sử dụng phiên bản mới nhất của WordPress.

Đừng chỉ cập nhật WordPress. Bạn cần đảm bảo rằng bạn cũng luôn cập nhật các plugin và giao diện WordPress của mình.

Mình hy vọng hướng dẫn này đã giúp bạn tìm hiểu cách tìm và sửa lỗi backdoor trong một trang web WordPress bị tấn công. Bạn cũng có thể muốn tìm hiểu cách chuyển WordPress từ HTTP sang HTTPS hoặc xem danh sách các lỗi WordPress của mình và cách khắc phục chúng.