Drupal, được coi là một trong những hệ quản trị nội dung (CMS) an toàn nhất thế giới, gần đây lại xuất hiện trong tin tức vì những lý do xấu. Một loại mã độc mang tên "Kitty" đã lây lan đến các trang Drupal, khiến chúng dễ bị tấn công khai thác tiền điện tử (crypto-mining). Kịch bản độc hại này khai thác lỗ hổng thực thi mã từ xa (RCE) nghiêm trọng nổi tiếng của Drupal – "Drupalgeddon 2.0". Mã độc Kitty Drupal lây nhiễm các trang Drupal dễ bị tấn công để xâm phạm mạng nội bộ và máy chủ ứng dụng web, đồng thời chiếm quyền điều khiển trình duyệt của người truy cập.
Lỗ hổng Drupalgeddon 2.0 trong Drupal được phát hiện vào tháng 3 năm 2018, ảnh hưởng đến các phiên bản 7.x và 8.x. Lỗ hổng này xuất phát từ việc làm sạch (sanitization) không đầy đủ các đối tượng mảng ở các mô-đun lõi của Drupal, cho phép thực thi mã từ xa. Lỗ hổng này mở ra cửa ngõ cho nhiều loại mã độc Drupal khác, trong đó có Kitty.
Công cụ quét mã độc Drupal của Astra phát hiện nó dưới dạng – PotentialRisk.PUA/CryptoMiner.Gen
Mã độc Drupal Kitty là gì?
Mã độc khai thác tiền điện tử "Kitty" lợi dụng các trang Drupal vẫn còn dễ bị tổn thương trước "Drupalgeddon 2.0" để khai thác trái phép tiền điện tử Monero. Kịch bản khai thác tiền điện tử độc hại này tận dụng lỗ hổng thực thi mã từ xa cực kỳ nghiêm trọng Drupalgeddon 2.0 (CVE-2018-7600) và nhắm vào cả máy chủ lẫn trình duyệt. Mã khai thác được công bố vào tháng 3 và vẫn còn tồn tại trong hầu hết các phiên bản Drupal 7.x và 8.x.
Lỗ hổng Drupalgeddon 2.0 xảy ra do việc làm sạch không đầy đủ các đối tượng mảng ở các mô-đun lõi của Drupal, cho phép thực thi mã từ xa. Lỗ hổng này khiến các trang Drupal bị phơi bày trước nhiều vector tấn công, dẫn đến việc cài đặt backdoor, cố gắng khai thác tiền điện tử, đánh cắp dữ liệu và chiếm đoạt tài khoản.
Cơ chế hoạt động của mã độc Kitty
Sau khi kịch bản bash Kitty được thực thi, kẻ tấn công tạo ra backdoor bằng cách ghi file PHP "kdrupal.php" vào ổ cứng của máy chủ bị nhiễm.
Mã nguồn giải mã Base64 của backdoor PHP trên thực chất khá đơn giản, vì kẻ tấn công sử dụng hàm băm sha512 để bảo vệ xác thực từ xa.
Kịch bản này đăng ký 'cronjob' – một bộ lập lịch công việc dựa trên thời gian, để định kỳ tải xuống và thực thi lại một kịch bản bash từ máy chủ từ xa, cho phép kẻ tấn công lây nhiễm lại máy chủ và trì hoãn việc cập nhật trên các máy chủ đã bị nhiễm.
Sau khi kiểm soát hoàn toàn máy chủ, kẻ tấn công cài đặt "kkworker" – một trình khai thác tiền điện tử Monero phổ biến (xmrig) – và chạy nó.
Tuy nhiên, kẻ tấn công không dừng lại ở một máy chủ, mà ra lệnh cho mã độc lây lan sang các tài nguyên web khác bằng kịch bản khai thác tên me0w.js. Kẻ tấn công thực hiện việc này bằng cách chỉnh sửa file index.php và thêm vào đó mã JavaScript độc hại me0w.js. Cuối cùng, kẻ tấn công còn "thách thức" bằng cách in ra thông điệp: 'me0w, don't delete pls i am a harmless cute little kitty, me0w' (me0w, đừng xóa nhé, tôi chỉ là một con mèo nhỏ vô hại, me0w).
Mã độc Kitty được cập nhật thường xuyên, mỗi lần người vận hành thêm ghi chú phiên bản mới. Nó dường như được điều hành bởi một nhóm tấn công có tổ chức, phát triển mã độc như một sản phẩm phần mềm: sửa lỗi và phát hành tính năng mới.
Cách khắc phục mã độc Drupal Kitty
Mặc dù mã độc Kitty làm nhục danh tiếng của Drupal về việc thực thi chặt chẽ các thực hành mã hóa an toàn trong các mô-đun lõi đối với các lỗ hổng trực tuyến, Drupal vẫn không thể phủ nhận là một trong những CMS an toàn nhất thế giới.
Để xử lý các trang web đã bị nhiễm, cộng đồng Drupal đang phát hành các bản cập nhật phần mềm. Một số lời khuyên về cách xử lý các trang Drupal bị nhiễm và các quy trình tiếp theo đã được công bố trên trang chủ Drupal chính thức.
Phòng ngừa luôn tốt hơn chữa trị. Các bước phòng ngừa sau có thể giúp bạn đảm bảo môi trường an toàn hơn cho hoạt động của trang web Drupal.
- Thực hiện giám sát tính toàn vẹn file định kỳ: Sử dụng các công cụ như Astra để định kỳ giám sát các file trên máy chủ và nhận thông báo ngay lập tức về bất kỳ thay đổi nào. Kẻ tấn công thường sửa đổi file trên máy chủ và chèn mã độc, virus vào các file lõi của trang web. Mã như vậy có thể được thực thi phía máy chủ (PHP, Python, v.v.) hoặc trên trình duyệt của khách hàng (JavaScript).
- Triển khai Tường lửa ứng dụng web (WAF): để loại bỏ các yêu cầu web độc hại trước khi chúng gây hại cho CMS có khả năng bị tấn công.
- Cập nhật CMS thường xuyên: Các bản vá bảo mật/cập nhật thường được phát hành kèm theo các phiên bản mới của CMS. Khuyến khích quét định kỳ để tìm phiên bản mới và nâng cấp.
- Cài đặt TẤT CẢ các bản vá bảo mật do nhà cung cấp phát hành: Gần như tất cả các CMS đều phát hành bản vá bảo mật khi có vấn đề nghiêm trọng được báo cáo. Hãy đăng ký danh sách thư/nguồn cấp RSS bảo mật của họ và giữ phần mềm luôn cập nhật.
Lo lắng về bảo mật trang Drupal khỏi kẻ tấn công trực tuyến? Chọn Bộ bảo mật Drupal của Astra để bảo vệ trang web khỏi nguy hiểm. Đăng ký blog Drupal Security của Astra để cập nhật tin tức mới nhất, bản phát hành vá lỗi và thông tin lỗ hổng.