Hướng dẫn này để giúp các chủ trang web xác định và làm sạch một website Joomla bị hack. Có thể nó không giải quyết được tất cả các trường hợp nhưng nó giúp xử lý đến 70% số trường hợp bị tấn công đã được xác định. Các dấu hiệu thông thường cho biết website Joomla bị hack.

  • Website nằm trong cảnh báo danh sách đen của Google, Bing, McAfee, v.v.
  • Xuất hiện các hành vibất thường trên trình duyệt của người dùng.
  • Xuất hiện các từ khóa spam trong công cụ tìm kiếm
  • Các nhà cung cấp dịch vụ Hosting ngừng trang web của bạn vì hoạt động độc hại.
  • Các tệp tin của Joomla bị sửa đổi.
  • Xuất hiện người dùng mới trái phép trong bảng điều khiển của Joomla.

Bước 1: Xác định tấn công

Bạn có thể sử dụng các công cụ quét mã độc website để tìm các payload độc hại và vị trí của phần mềm độc hại. Dưới đây là một số phần mềm và công cụ miễn phí để bạn có thể tham khảo:

  1. SiteCheck
  2. UnmaskParasites
  3. Redleg Aw-Snap
  4. VirusTotal

Các tệp tin mới hoặc mới bị sửa đổi gần đây có thể là một phần nguyên nhân của việc website bị tấn công. Các tệp tin trong core của Joomla cũng nên được kiểm tra để truy tìm các phần mềm độc hại. Cách nhanh nhất để xác nhận tính an toàn của các tệp tin trong core joomla là sử dụng lệnh diff trong terminal, bạn cũng có thể tự kiểm tra các tập tin của mình thông qua SFTP. Bạn có thể tìm thấy tất cả các phiên bản của Joomla trên GitHub. Các lệnh sau đây sử dụng phiên bản 3.6.4 làm ví dụ về các tệp sạch và public_html để thay cho nơi mà Joomla được cài đặt. Để kiểm tra sự an toàn tập tin trong core của joomla với các lệnh sau:

$ mkdir joomla-3.6.4
$ cd joomla-3.6.4
$ wget https://github.com/joomla/joomla-cms/releases/download/3.6.4/Joomla_3.6.4-Stable-Full_Package.tar.gz
$ tar -zxvf Joomla_3.6.4-Stable-Full_Package.tar.gz
$ diff -r joomla-3.6.4 ./public_html

Lệnh diff cuối cùng sẽ so sánh tệp tin Joomla sạch với các tệp tin đã cài đặt trên website của bạn. Để tự kiểm tra các tệp đã sửa đổi gần đây:

  1. Đăng nhập vào máy chủ của bạn bằng cách sử dụng một FTP Client hoặc SSH Client.
  2. Nếu sử dụng SSH, bạn có thể liệt kê tất cả các tệp được sửa đổi trong 15 ngày qua bằng lệnh này
  3. $ find ./ -type f -mtime -15
  4. Nếu sử dụng SFTP, hãy xem lại cột ngày sửa đổi cuối cùng cho tất cả các tệp trên máy chủ.
  5. Chú ý tất cả các tệp đã được sửa đổi gần đây.

Xác minh tài khoản Joomla của người dùng, đặc biệt là quản trị viên và quản trị viên cấp cao. Để kiểm tra người dùng độc hại trong Joomla:

  1. Đăng nhập vào khu vực quản trị viên của Joomla.
  2. Nhấp vào Người dùng và chọn Quản lý.
  3. Xem lại danh sách, đặc biệt là những mục có ngày đăng ký gần đây.
  4. Xóa tất cả người dùng lạ do hacker tạo.
  5. Kiểm tra ngày truy cập cuối của người dùng hợp pháp.
  6. Xác nhận bất kỳ người dùng nào đã đăng nhập vào thời điểm đáng ngờ.
  7. Bạn cũng có thể phân tích các bản ghi trên máy chủ của bạn nếu bạn biết chúng được lưu trữ ở đâu.
  8. Người dùng đăng nhập vào những thời điểm bất thường hoặc địa điểm địa lý có thể đã bị xâm nhập.

Bước 2: Khắc phục website bị hack

Bây giờ khi đã có thông tin về những người dùng có nguy cơ bị xâm nhập và các vị trí của phần mềm độc hại, bạn có thể xóa phần mềm độc hại khỏi Joomla và khôi phục lại website.

Lưu ý: Những bước này yêu cầu máy chủ web và truy cập vào cơ sở dữ liệu. Nếu bạn không quen thuộc với các thao tác trên bảng cơ sở dữ liệu hoặc chỉnh sửa PHP, vui lòng tìm sự trợ giúp từ một người xử lý sự cố chuyên nghiệp, những người có thể gỡ bỏ hoàn toàn phần mềm độc hại khỏi Joomla.

Nếu bất kỳ lượt quét hoặc chẩn đoán nào tiết lộ các tên miền hoặc payload nguy hiểm, bạn có thể bắt đầu tìm kiếm những tệp này trên máy chủ web của Joomla. Bằng cách so sánh các tệp tin bị nhiễm với các tệp tin đã biết (từ các nguồn chính thức hoặc sao lưu an toàn đáng tin cậy), bạn có thể xác định và xóa các thay đổi độc hại. Để tự loại bỏ một phần mềm độc hại lây nhiễm từ các tập tin trên trang web Joomla của bạn, hãy:

  1. Đăng nhập vào máy chủ của bạn thông qua SFTP hoặc SSH.
  2. Tạo bản sao lưu của các tệp trang web trước khi thực hiện thay đổi.
  3. Tìm kiếm tệp của bạn để tham khảo các tên miền hoặc payload độc hại.
  4. Xác định các tệp đã thay đổi gần đây và xác nhận liệu chúng có an toàn hay không.
  5. Xem lại các tệp được đánh dấu bởi lệnh diff trong quá trình kiểm tra tính an toàn của tệp tin cốt lõi.
  6. Khôi phục hoặc so sánh các tệp tin đáng ngờ với bản sao lưu hoặc nguồn chính thức.
  7. Xóa bất kỳ mã đáng ngờ hoặc không quen thuộc khỏi tệp tùy chỉnh của bạn.
  8. Kiểm tra để xác minh trang web vẫn hoạt động sau khi thay đổi.

Lưu ý:

  • Điều quan trọng là bạn nên so sánh cùng một phiên bản của tập tin cốt lõi với phần mở rộng. Các tệp tin chính trên các phiên bản 2.x không giống với phiên bản 3.x và tương tự.
  • Không bao giờ thực hiện bất kỳ hành động nào mà không có bản sao lưu. Nếu bạn không chắc chắn, hãy tìm sự trợ giúp từ một chuyên gia.

Bạn cũng có thể sử dụng các công cụ như Search-Replace-DB hoặc Adminer. Để tự loại bỏ một phần mềm độc hại lây nhiễm ra khỏi bảng cơ sở dữ liệu của Joomla:

  1. Đăng nhập vào bảng quản trị cơ sở dữ liệu.
  2. Thực hiện sao lưu cơ sở dữ liệu trước khi thực hiện thay đổi.
  3. Tìm kiếm nội dung đáng ngờ (ví dụ như các từ khoá, liên kết spam).
  4. Mở bảng chứa nội dung đáng ngờ.
  5. Loại bỏ bất kỳ nội dung đáng ngờ nào theo cách thủ công.
  6. Kiểm tra để xác minh trang web vẫn hoạt động sau khi thay đổi.

Bạn có thể tự tìm kiếm cơ sở dữ liệu độc hại của Joomla cho các hàm PHP, chẳng hạn như eval, base64_decode, gzinflate, preg_replace, str_replace

Lưu ý rằng các function này cũng được sử dụng chính thức bởi các Extention trong Joomla, vì vậy hãy đảm bảo bạn đã kiểm tra các thay đổi hoặc nhận trợ giúp để không vô tình làm hỏng trang web của mình.

Lưu ý: Tự xóa mã độc khỏi các tệp tin trong trang web có thể cực kỳ nguy hiểm. Không bao giờ thực hiện bất kỳ hành động nào mà không có bản sao lưu. Nếu bạn không chắc chắn, hãy tìm sự trợ giúp từ một chuyên gia.

Để loại bỏ backdoor bằng cách so sánh các tệp:

  1. Xác nhận trang Joomla bằng cách nhấn vào menu System và mở System Information
  2. Tải xuống cùng một phiên bản chính thức của Joomla.
  3. Đăng nhập vào máy chủ của bạn thông qua SFTP hoặc SSH.
  4. Tạo bản sao lưu của các tệp trang web trước khi thực hiện thay đổi.
  5. Trong trình ứng dụng FTP, hãy so sánh trang của bạn với trang tải xuống.
  6. Kiểm tra bất kỳ tệp mới nào trên máy chủ của bạn không khớp với các tệp tin mẫu trong bản Joomla bạn đã tải về.
  7. Kiểm tra bất kỳ tệp nào không cùng kích thước với tệp tin mẫu.

Bước 3: Tái bảo mật

Cập nhật tất cả phần mềm bao gồm Joomla Core và các Extension, các template, các mô-đun và các plugin. Để kiểm tra và cập nhật phần mở rộng:

  1. Đảm bảo bạn có một bản sao lưu gần đây của trang web.
  2. Đăng nhập vào Joomla! khu vực quản trị viên.
  3. Nhấp vào Tiện ích mở rộng và chọn Quản lý.
  4. Trên thanh bên, hãy nhấp vào Cập nhật.
  5. Xem lại các cập nhật khả dụng và áp dụng chúng.
  6. Loại bỏ bất kỳ phần mở rộng nào chứa các lỗ hổng đã biết.
Nguồn: cystack.net