Computer >> Máy Tính >  >> Kết nối mạng >> An ninh mạng

Sửa trang web Drupal bị tấn công - Loại bỏ phần mềm độc hại Drupal

Một trang web Drupal bị tấn công có thể vô cùng đau đớn. Bây giờ, có thể có nhiều lý do cho vụ hack. Nhưng phổ biến nhất là phần mềm độc hại, chèn mã, thư rác, v.v. Nếu bạn đang tìm kiếm các kỹ thuật loại bỏ phần mềm độc hại Drupal, bạn đã đến đúng nơi. Hướng dẫn này bao gồm các hướng dẫn từng bước để làm sạch các tệp Drupal và cơ sở dữ liệu của một trang web bị tấn công. Phần mềm độc hại và phát hiện cửa sau cũng được đề cập. Bài viết này được thiết kế để người dùng bình thường có thể dễ dàng áp dụng.

Drupal là một trong những CMS lâu đời nhất và an toàn nhất trong số các CMS được sử dụng phổ biến nhất hiện nay. Nó phục vụ cho hơn một triệu trang web. tuy nhiên, nhiều lỗ hổng đã được phát hiện trong Drupal trong năm nay. Cũng giống như một loạt các lỗ hổng RCE được đặt tên là Drupalgeddon. Điều này dẫn đến một số bản cài đặt Drupal bị tấn công trong vài tháng, hầu hết trong số đó được sử dụng để khai thác tiền điện tử. Tuy nhiên, nhóm bảo mật của Drupal đã đủ nhanh chóng để phát hành các bản cập nhật cần thiết.

Drupal bị tấn công:Các kết quả có thể xảy ra với vụ tấn công bằng Drupal

  • Các trang lừa đảo được thiết kế để lấy cắp thông tin nhạy cảm sẽ xuất hiện trên trang web.
  • Khách hàng phàn nàn về các chuyển hướng độc hại.
  • Thông tin nhạy cảm như thông tin đăng nhập, chi tiết ngân hàng, v.v. để bán trên darknet.
  • Nội dung kỳ lạ xuất hiện trên trang web do Hack từ khóa của Nhật Bản hoặc Hack dược phẩm, v.v.
  • "Tài khoản của bạn đã bị tạm ngưng!" Thông báo xuất hiện khi đăng nhập.
  • Trang web Drupal bị các công cụ tìm kiếm đưa vào danh sách đen.
  • Trang web Drupal hoạt động rất chậm và hiển thị thông báo lỗi.
  • Một số quảng cáo độc hại và cửa sổ bật lên xuất hiện trên trang web.
  • Người dùng từ chối truy cập trang web do thiếu tin cậy.
  • Giảm lưu lượng người dùng và doanh thu.
  • Quản trị viên trái phép mới xuất hiện trong cơ sở dữ liệu đăng nhập.

Drupal Hack:Ví dụ về Drupal Hack

Khi các trang web Drupal bị tấn công, người dùng bị ảnh hưởng có thể được tìm thấy nhờ sự trợ giúp từ các diễn đàn cộng đồng. Một ví dụ về Drupal bị tấn công như vậy được đưa ra trong hình ảnh bên dưới.

Lo lắng về trang web bị tấn công bởi Drupal? Gửi tin nhắn cho chúng tôi trên tiện ích trò chuyện và chúng tôi sẽ sẵn lòng giúp bạn giải quyết vấn đề đó. Bảo mật trang web Drupal của tôi ngay bây giờ .

Nguyên nhân có thể gây ra vụ hack Drupal

Drupal bị tấn công:Drupal SQL Injection

Các lỗ hổng Drupal SQLi thường có thể được tìm thấy trong các mô-đun được mã hóa kém. Tuy nhiên, SQLi trong nhân khá hiếm và nguy hiểm. Một lỗ hổng nguy hiểm như vậy đã được tìm thấy trong lõi của Drupal và được gọi là 'Drupalgeddon', mặc dù Drupal đã sử dụng AOP (Đối tượng dữ liệu PHP) để phân tách giữa truy vấn SQL tĩnh và các giá trị động.

$ query = $ db-> prepare ("SELECT * FROM utilisateurs WHERE utilisateur =: utilisateur ET mot de passe =: mot de passe");
$ account = $ query-> execute (array (':utilisateur' => $ _POST ['utilisateur'], ':mot de passe' => $ _POST ['mot de passe']));

Mọi thứ đều ổn vì đầu vào được làm sạch đúng cách trước khi đến cơ sở dữ liệu. Tuy nhiên, mấu chốt của sự tranh cãi là các bảng giữ chỗ của Drupal. Những điều này nhằm mang lại sự linh hoạt cho các nhà phát triển mô-đun, vì chúng cho phép thay đổi cấu trúc của các truy vấn cơ sở dữ liệu.

db_query ("SELECT * FROM {node} WHERE nid IN (: nids)", tableau (': nids' => tableau (13, 42, 144)));

Sau đó, trình giữ chỗ:nests sẽ khớp với số lượng đối số được cung cấp. Như thế này:

SELECT * FROM {node} WHERE nid IN (: nids_0, : nids_1, : nids_2)

Chức năng này kết hợp với mảng chỉ mục PHP có thể được sử dụng để chuyển các tham số như (GET, POST và cookie). Mảng giữ chỗ Drupal sẽ giả sử tham số $ _POST ['user'] mặc định là một mảng. Sau đó, nó sẽ sử dụng các chỉ mục chuỗi mảng thô để tạo tên trình giữ chỗ mới. Do đó, kẻ tấn công có thể cung cấp các giá trị độc hại như Tham số:user [0 #], value:foo. Truy vấn kết quả sẽ là:

CHỌN * TỪ {người dùng} WHERE user =:user_0 #

Do đó, kẻ tấn công đã bỏ qua xác thực đăng nhập thành công. Hơn nữa, kẻ tấn công thậm chí có thể tạo người dùng mới bằng cách chỉnh sửa tham số là người dùng [0; CHÈN VÀO người dùng GIÁ TRỊ 'MalUser', 'Passw0rd!', 'Administrators'; #]. Đây là một lỗ hổng rất nghiêm trọng vì nó ảnh hưởng đến cốt lõi của Drupal. Điều đáng báo động hơn là một Mô-đun Metasploit cũng đã được phát hành để khai thác điều này!

Drupal bị tấn công:Bỏ qua truy cập Drupal

Bỏ qua truy cập Drupal có thể khiến người dùng truy cập vào các tài nguyên không dành cho họ. Lỗ hổng bảo mật mới nhất thuộc loại này được đặt tên là SA-CONTRIB-2018-081. Nguyên nhân là do một mô-đun Drupal có tên là mô-đun JSON:API 8.x-1.x cho Drupal 8.x. Nó chủ yếu được sử dụng cho:

  • Truy cập các thực thể cấu hình và nội dung Drupal.
  • Thao túng các thực thể cấu hình và nội dung Drupal.

Trong trường hợp này, nó không kiểm tra cẩn thận các quyền trong khi phản hồi một số yêu cầu. Điều này có thể cho phép các tác nhân độc hại không có đủ quyền truy cập thông tin nhạy cảm. Do đó, chỉ các yêu cầu GET mới có thể được sử dụng cho kiểu tấn công này.

Drupal bị tấn công:Drupal Cross-Site Scripting

Các lỗ hổng như XSS và SQLi khá phổ biến trong các mô-đun Drupal. Mới nhất trong loạt phim này là SA-CONTRIB-2018-080. Mô-đun E-Sign được phát hiện là dễ bị tấn công bởi XSS. Về cơ bản, mô-đun E-Sign cho phép tích hợp Signature Pad vào Drupal. Tại thời điểm viết bài này, có khoảng 875 trang web đang sử dụng mô-đun này. Lỗ hổng bảo mật là do thiếu quá trình làm sạch đầu vào khi chữ ký được hiển thị. Do đó, kẻ tấn công có thể kiểm tra XSS bằng mã <script> alert ('XSS Found!') </script> . Sau đó, trường chữ ký dễ bị tấn công sẽ đưa ra thông báo “Đã tìm thấy XSS!”. Sau đó, lỗ hổng này có thể được kẻ tấn công sử dụng để:

  • Đánh cắp cookie của người dùng.
  • Chuyển hướng người dùng.
  • Tải phần mềm độc hại xuống thiết bị người dùng cuối khi truy cập trang web Drupal.

Drupal bị tấn công:Thực thi mã từ xa Drupal

Bảo mật Drupal đã bị ám ảnh bởi một loạt các lỗi Drupalgeddon. Drupalgeddon 3 là phiên bản mới nhất được tìm thấy trong năm nay. Điều này cho phép người dùng chưa được xác thực chạy mã trên các trang web Drupal. Mặc dù Drupalgeddon 2 cũng cho phép RCE. Tuy nhiên, để khai thác điều này, kẻ tấn công cần khả năng xóa một nút. URL đầy đủ trông giống như sau:

POST /? Q = node / 99 / delete & destination = node? Q [% 2523] [] = passthru% 26q [% 2523type] = markup% 26q [% 2523markup] = whoami HTTP / 1.1 [...] form_id = node_delete_confirm & _triggering_element_name = form_id & form_token = [CSRF-TOKEN]

Tại đây, dưới chiêu bài xóa một nút, kẻ tấn công đã tiêm lệnh whoami. Dòng mã thứ hai là để xác minh mã thông báo CSRF. Về cơ bản, mã thông báo CSRF sẽ kiểm tra xem yêu cầu có được tạo trên cùng một máy chủ hay không. Sau đó, kẻ tấn công truy xuất form_build_id từ phản hồi như được hiển thị trong đoạn mã dưới đây:

PUBLIER / drupal /? q = fichier/ ajax / actions / annuler /%23options/chemin/[FORM_BUILD_ID] HTTP /1.1 [...] form_build_id = [FORM_BUILD_ID]

Điều này cuối cùng sẽ kích hoạt khai thác và kết quả của lệnh Whoami được hiển thị. Do đó, kẻ tấn công có thể thực hiện tất cả các loại lệnh để thao túng máy chủ. Điều khiến lỗi RCE này trở nên nghiêm trọng hơn là lỗi khai thác vì nó đã được phát hành!

Cần trợ giúp chuyên nghiệp để làm sạch trang web bị tấn công Drupal? Gửi tin nhắn cho chúng tôi trên tiện ích trò chuyện và chúng tôi sẽ sẵn lòng trợ giúp. Sửa chữa trang web Drupal của tôi ngay bây giờ .

Làm sạch trang web Drupal bị tấn công:Các bước để làm sạch phần mềm độc hại Drupal

Phát hiện nhiễm trùng

Sử dụng Chẩn đoán của Google

Khi trang web Drupal của bạn bị tấn công, các công cụ tìm kiếm như Google thường đưa nó vào danh sách đen. Do đó, các công cụ chẩn đoán của Google có thể được sử dụng để xác định loại và nguyên nhân lây nhiễm. Báo cáo minh bạch của Google rất hữu ích trong những trường hợp như vậy. Để kiểm tra điều này:

  1. Truy cập trang web Trạng thái Trang web Duyệt web An toàn từ liên kết sau.
  2. Trên trang này, hãy tìm tùy chọn "Kiểm tra Trạng thái Trang web".
  3. Cuối cùng, nhập URL trang web của bạn vào bên dưới và nhấp vào nút “Tìm kiếm”.
  4. Điều này sẽ cung cấp thông tin về chuyển hướng spam, v.v. trong trường hợp trang web của bạn bị nhiễm. Xác định nguyên nhân gây ra nhiễm trùng Drupal và tìm cách loại bỏ nó.

Phân tích trang web của bạn

Để phát hiện các trang bị nhiễm, hãy quét trang web của bạn. Có nhiều tùy chọn miễn phí như VirusTotal. Hoặc, bạn có thể nén toàn bộ tệp thành tệp .zip và tải lên để phân tích. Tuy nhiên, các giải pháp bảo mật miễn phí có thể không mang lại cho bạn kết quả như mong đợi, vì vậy, bạn nên liên hệ với các chuyên gia để loại bỏ phần mềm độc hại .

Kiểm tra các tệp đã sửa đổi

Thông thường, các backdoor lây nhiễm trang web Drupal của bạn có thể sửa đổi các tệp Drupal cốt lõi. Việc sửa đổi tệp trang web Drupal có thể được xác minh bằng các bước sau:

  1. Kết nối với trang web Drupal của bạn qua SSH.
  2. Tạo một thư mục mới bằng lệnh này:mkdir drupal-yx Thay thế 'y' bằng chuỗi Drupal tức là 7,8,9 của bạn. và thay thế 'x' bằng phiên bản Drupal của bạn, tức là 4.7.1, 2.1.3, v.v.
  3. Truy cập thư mục này bằng lệnh:
    cd drupal-yx
  4. Tải xuống bản sao mới của phiên bản Drupal của bạn bằng lệnh:
    wget https://github.com/drupal/core/archive/yxtar.gz
  5. Bây giờ giải nén tệp tar.gz bằng lệnh:
    tar-zxvf core-yxtar.gz
  6. Cuối cùng, so sánh sự khác biệt giữa các tệp lõi bằng lệnh:
    diff -r core-yx ./public_html
    Bạn cũng có thể thực hiện việc này bằng cách đăng nhập vào trang web qua SSH và chạy lệnh sau:
    find ./ -type f -mtime -20

Lệnh này sẽ liệt kê tất cả các tệp được sửa đổi trong 20 ngày qua. Kiểm tra ngày sửa đổi tệp và nếu có bất kỳ điều gì đáng ngờ, hãy quét tệp đó để tìm phần mềm độc hại.

Kiểm tra nhật ký người dùng

Nhật ký người dùng có thể giúp bạn xác định bất kỳ thông tin đăng nhập đáng ngờ nào vào trang web của bạn bởi tin tặc. Thực hiện điều này:

  1. Đăng nhập vào trang quản trị của trang Drupal của bạn.
  2. Trong menu, nhấp vào tùy chọn 'Mọi người'
  3. Xem lại những người dùng có mặt trong danh sách này và cũng có thể xem "thời gian truy cập cuối cùng" của mỗi người dùng. Nếu bạn tìm thấy các kết nối đáng ngờ, hãy kiểm tra trang web của bạn để tìm lỗ hổng bảo mật.

Xóa tệp bị nhiễm và xóa mã ẩn

Khi các trang bị nhiễm đã được xác định, sự lây nhiễm có thể là một phần (mã trong tệp chính) hoặc toàn bộ tệp. Nếu tệp chứa các ký tự vô nghĩa, có thể là do hầu hết những kẻ tấn công thường có xu hướng làm xáo trộn mã ở một định dạng mà con người không thể đọc được. Định dạng Base64 rất phổ biến trong số những kẻ tấn công. Để xóa mã này:

  1. Kết nối với trang web của bạn qua SSH.
  2. Sau đó xác minh mã base64 bằng lệnh:
    để tìm . -name “* .php” -exec grep “base64” '{}'; -print &> hiddencode.txt.
    Mã này tìm kiếm mã được mã hóa base64 và lưu vào hiddencode.txt.
  3. Tải văn bản của hiddencode.txt lên các dịch vụ trực tuyến như liên kết này để phân tích thêm.
  4. Nhấp vào tùy chọn "Giải mã" trên trang web này. Điều này sẽ hiển thị mã gốc.
  5. Các lỗi khác như FOPO cũng có thể được giải mã bằng các dịch vụ trực tuyến.
  6. Trong trường hợp sự lây nhiễm nằm trong toàn bộ tệp không phải là một phần của gói chính. Xóa tệp.
  7. Trong trường hợp bị nhiễm một phần trong tệp lõi, nếu bạn có thể xác định được mã độc hại, hãy xóa nó. Nếu không, hãy bình luận và nhận trợ giúp

Tắt cửa hậu Drupal

Các cửa hậu Drupal có thể được tìm thấy ẩn trong các thư mục như:/ modules, / themes, / sites / all / modules và / sites / all / themes. Việc phát hiện chúng không dễ dàng vì mã thường có thể bị xáo trộn. Để tìm mã này, hãy làm theo các bước được đề cập ở trên trong "Dọn dẹp các tệp bị nhiễm và xóa mã ẩn". Ngoài ra, các cửa hậu này sử dụng một số hàm PHP.

Để tắt các tính năng này, hãy làm như sau:

  1. Đăng nhập vào trang web của bạn và mở trình quản lý tệp.
  2. Duyệt và mở tệp php.ini.
  3. Thêm mã sau vào tệp này:
    disable_functions =“show_source, system, shell_exec, passthru, executive, popen, proc_open, allow_url_fopen, eval”

Làm sạch cơ sở dữ liệu Drupal

Cơ sở dữ liệu Drupal thường bị phần mềm độc hại nhắm mục tiêu. Để làm sạch cơ sở dữ liệu của trang web Drupal bị nhiễm của bạn, hãy làm theo các bước sau:

  1. Kết nối với trang web Drupal của bạn thông qua Bảng điều khiển dành cho quản trị viên.
  2. Đi tới Truy cập dữ liệu> Cơ sở dữ liệu Drupal
  3. Tại đây trong thanh tìm kiếm, hãy tìm các liên kết hoặc nội dung đáng ngờ hiển thị trong quá trình quét phần mềm độc hại.
  4. Mở bảng có chứa liên kết và nội dung spam này. Sau đó, xóa nội dung theo cách thủ công.
  5. Sau khi hoàn tất, hãy kiểm tra xem trang web có còn hoạt động hay không và xóa tất cả các công cụ quản lý cơ sở dữ liệu khác.

Drupal Security:chặn những kẻ tấn công

Đảm bảo rằng không có thông tin đăng nhập nào bị xâm phạm. Đặt lại mật khẩu trang web Drupal của bạn sau khi quá trình dọn dẹp phần mềm độc hại hoàn tất. Để thay đổi mật khẩu của bạn, hãy đăng nhập vào trang web Drupal của bạn.

Sử dụng phpMyAdmin

  1. Nếu bạn đã cài đặt phpMyAdmin, hãy điều hướng đến cPanel> hộp Cơ sở dữ liệu> phpMyAdmin.
  2. Sau đó, chọn cơ sở dữ liệu Drupal và nhấp vào tab SQL.
  3. Bây giờ trong trường văn bản, hãy nhập lệnh sau:
    cập nhật người dùng đặt pass =md5 (‘YOURPASS’) trong đó uid =1;
  4. Thay thế “MẬT KHẨU CỦA BẠN” bằng mật khẩu bạn muốn đặt và cuối cùng nhấp vào Bắt đầu!

Sử dụng Drush

  1. Để quản lý trang web của bạn thông qua Drush, hãy đảm bảo rằng mô-đun Drush đã được cài đặt.
  2. Để sử dụng Drush, hãy kết nối với trang web của bạn qua SSH.
  3. Bây giờ, đối với người dùng Drupal-8, hãy chạy lệnh sau:
    drush user-password UserName –password =“your-new-password”.
  4. Đối với Drupal-9, hãy chạy lệnh sau:
    user drush:password UserName “your-new-password”
    Tại đây, thay thế 'UserName' bằng người dùng trang Drupal của bạn và 'your-new-password' bằng mật khẩu bạn muốn đặt. Đảm bảo mật khẩu an toàn và có sự kết hợp tốt giữa các bảng chữ cái, số và ký tự.

Bảo mật Drupal:Khôi phục tệp

Khôi phục các trang bị nhiễm từ bản sao lưu. Nếu không có bản sao lưu, hãy sử dụng một bản sao mới. Sau khi các tệp được làm sạch, hãy xóa bộ nhớ cache của bạn theo cách sau:

  1. Kết nối với trang web Drupal của bạn qua SSH.
  2. Từ thiết bị đầu cuối, hãy chạy lệnh sau:
    xây dựng lại bộ nhớ cache drush (cho Drupal 8) hoặc
    xóa tất cả bộ nhớ cache (đối với Drupal 7).

Nếu trang web Drupal của bạn bị Google hoặc nhà cung cấp dịch vụ lưu trữ của bạn đưa vào danh sách đen, hãy gửi trang web đó để được xem xét.

Giảm nhẹ do Drupal tấn công

Bảo vệ các thư mục nhạy cảm

Điều quan trọng là phải chặn quyền truy cập vào các tệp nhạy cảm. Điều này có thể được thực hiện bằng cách làm theo các bước sau:

  1. Đăng nhập vào trang web của bạn và mở trình quản lý tệp.
  2. Tạo một tệp mới có tên .htaccess trong các thư mục bạn muốn bảo vệ.
  3. Trong tệp này, hãy chèn mã sau:
    Từ chối đơn hàng, cho phép
    từ chối tất cả
    Cho phép từ 22.33.44.55
    Đoạn mã này sẽ từ chối khách truy cập vào các thư mục cụ thể đó. Ở đây, dòng mã cuối cùng chỉ định các địa chỉ IP để cho phép. Cũng xem xét bên trong các tệp .htaccess đã sửa đổi. Trong trường hợp tìm thấy tệp như vậy, hãy ưu tiên làm sạch tệp trước.

Cập nhật và sao lưu

Đảm bảo rằng bạn đang sử dụng phiên bản Drupal mới nhất. Nhóm bảo mật Drupal cập nhật các lỗi nghiêm trọng với mỗi bản cập nhật mới. Điều này có thể được kiểm tra bằng cách sử dụng bảng thay đổi. Ngoài ra, tránh sử dụng các plugin không đáng tin cậy vì chúng có khả năng chứa mã lỗi. Đảm bảo tạo một bản sao của trang web. Điều này có thể hữu ích để khôi phục trang web sau một cuộc tấn công. Cập nhật và sao lưu là những phương pháp rẻ nhất và hiệu quả nhất để bảo mật một trang Drupal.

Kiểm tra bảo mật

Một cuộc kiểm tra bảo mật có thể tiết lộ những sai sót nghiêm trọng trong trang web Drupal. Không phải tất cả các quản trị viên web đều có thể là chuyên gia bảo mật. Do đó, các dịch vụ như Astra có thể đảm nhận quyền bảo mật của quản trị viên web. Kiểm tra bảo mật Astra và kiểm tra bút có thể tiết lộ một cách có trách nhiệm các mối đe dọa nghiêm trọng trên trang web.

Điều này có thể cho phép quản trị viên web thực hiện các biện pháp phòng ngừa để ngăn chặn các trang web Drupal bị tấn công. Astra Security Audit mô phỏng các cuộc tấn công theo thời gian thực trong một môi trường an toàn để không gây ra thiệt hại cho trang web và đồng thời có thể tìm thấy các lỗ hổng nghiêm trọng. Kiểm tra bảo mật như của Astra có thể tìm thấy các lỗ hổng phổ biến như OWASP Top 10 trên trang web Drupal.

Tường lửa và máy quét phần mềm độc hại Drupal

Các lỗ hổng mới được phát hiện trong Drupal hàng tháng. Tuy nhiên, điều này không có nghĩa là các trang web Drupal sẽ không an toàn. Tường lửa có thể ngăn những kẻ tấn công khai thác các lỗ hổng này ngay cả khi trang Drupal dễ bị tấn công. Tuy nhiên, điều quan trọng là phải chọn đúng tường lửa từ nhiều loại tường lửa hiện có trên thị trường. Astra Firewall là cái nổi bật trên tất cả các thông số. Nó rất mạnh mẽ và có thể mở rộng. Điều này có nghĩa là dù là blog nhỏ hay trang thương mại điện tử lớn, Astra đều có thể bảo mật tất cả. Ngoài ra, Astra có thể tấn công những kẻ tấn công honeypot và chặn các cuộc tấn công thông thường.

Dọn dẹp và sửa chữa các trang web bị tấn công Drupal là một công việc tốn nhiều công sức. Tuy nhiên, tự động hóa có thể giải cứu. Astra Drupal Malware Scanner có thể phát hiện phần mềm độc hại từ các trang web bị tấn công trong vài phút. Nó cũng sẽ khôi phục sự khác biệt của tệp cho bạn mà bạn có thể xóa bằng một cú nhấp chuột vào nút nếu chúng độc hại.