Tin tặc cấy backdoor trong Webmin – Tiện ích phổ biến cho Máy chủ Linux / Unix

Hacker cấy backdoor trong Webmin Linux

Sau tiết lộ công khai về lỗ hổng zero-day nghiêm trọng trong Webmin vào tuần trước, các nhà bảo trì của dự án mới đây cho biết lỗ hổng thực sự không phải chỉ đến từ lỗi lập trình của các lập trình viên.

Thay vào đó, nó được bí mật cấy bởi một hacker chưa rõ danh tính, người đã thành công trong việc tiêm backdoor vào một số điểm trong cơ sở hạ tầng xây dựng. Lỗ hổng này vẫn tồn tại một cách đáng ngạc nhiên trong các bản phát hành khác nhau của Webmin (1.882 đến 1.921) và là một bí ẩn trong suốt hơn một năm trời.

>> Zero-day là gì? Thế nào là CVE?

Ứng dụng dựa trên web nguồn mở Webmin

Với hơn 3 triệu lượt tải xuống mỗi năm, Webmin là một trong những ứng dụng dựa trên web nguồn mở (open-source web-based application) phổ biến nhất thế giới để quản lý các hệ thống dựa trên Unix, như máy chủ Linux, FreeBSD hoặc OpenBSD.

Webmin cung cấp giao diện người dùng (UI) đơn giản để quản lý các nhóm và người dùng, cơ sở dữ liệu, BIND, Apache, Postfix, Sendmail, QMail, sao lưu, tường lửa, giám sát và cảnh báo, v.v.

Câu chuyện bắt đầu khi nhà nghiên cứu người Thổ Nhĩ Kỳ Özkan Mustafa Akkuş công khai chi tiết lỗ hổng thực thi mã từ xa zero-day trong Webmin tại DefCon vào ngày 10 tháng 8 mà không đưa ra bất kỳ thông báo trước nào cho những người bảo trì dự án bị ảnh hưởng.

Joe Cooper, một trong những nhà phát triển của dự án cho biết không hề nhận được bất cứ thông báo nào trước đây từ phía nhà nghiên cứu liên quan tới lỗ hổng. Ông đánh giá đây là một hành vi “bất thường và phi đạo đức từ phía nhà nghiên cứu đã phát hiện ra nó”, đồng thời cũng khẳng định trong những trường hợp như vậy không thể làm gì khác hơn ngoài việc sửa nó càng sớm càng tốt.

Bên cạnh việc tiết lộ lỗ hổng tới công chúng, Akkuş cũng phát hành một mô-đun Metasploit cho lỗ hổng nhằm mục đích tự động hóa việc khai thác bằng cách sử dụng khung Metasploit.

Webmin hacking

Lỗ hổng CVE-2019-15107

Lỗ hổng mới mang số hiệu CVE-2019-15107 nằm trong một tính năng bảo mật được thiết kế để cho phép quản trị viên Webmin thực thi chính sách hết hạn mật khẩu (password expiration policy) cho các tài khoản của người dùng khác.

Theo nhà nghiên cứu, lỗ hổng bảo mật nằm trong trang đặt lại mật khẩu và cho phép kẻ tấn công từ xa không được xác thực thực thi các lệnh tùy ý với quyền root trên các máy chủ bị ảnh hưởng chỉ bằng cách thêm một lệnh pipe đơn giản (“|”) trong trường mật khẩu cũ thông qua yêu cầu POST.

Trong một bài đăng mới đây trên blog, Cooper cho biết nhóm vẫn đang điều tra cách thức và thời điểm backdoor bắt đầu được triển khai, nhưng cũng xác nhận rằng các bản tải xuống Webmin chính thức đã được thay thế bằng các gói backlink chỉ có trên kho lưu trữ SourceForge của dự án chứ không phải trên kho GitHub của Webmin.

Cooper cũng nhấn mạnh rằng tính năng hết hạn mật khẩu bị ảnh hưởng không được bật theo mặc định cho tài khoản Webmin. Điều này có nghĩa là hầu hết các phiên bản không chứa lỗ hổng trong cấu hình mặc định mà lỗ hổng chỉ ảnh hưởng đến quản trị viên Webmin đã kích hoạt tính năng này theo cách thủ công.

Cooper cho biết để khai thác mã độc, cài đặt Webmin của bạn phải có Webmin → Cấu hình Webmin (Webmin Configuration) → Xác thực (Authentication) → Chính sách hết hạn mật khẩu (Password expiry policy) được đặt thành Nhắc người dùng với mật khẩu đã hết hạn (Prompt users with expired password) để nhập mật khẩu mới. Tùy chọn này không được cài đặt theo mặc định, nhưng nếu được cài đặt thì sẽ có thể cho phép các hacker thực thi mã từ xa.

Phiên bản Webmin 1.890 bị ảnh hưởng trong cấu hình mặc định

Tuy nhiên, một nhà nghiên cứu bảo mật khác trên Twitter sau đó đã tiết lộ rằng phiên bản Webmin 1.890 bị ảnh hưởng trong cấu hình mặc định, vì các hacker có vẻ như đã sửa đổi mã nguồn để bật tính năng hết hạn mật khẩu theo mặc định cho tất cả người dùng Webmin.

Webmin hacking

Những thay đổi bất thường trong mã nguồn Webmin đã được một quản trị viên gắn cờ đỏ (red-flagged) vào cuối năm ngoái, nhưng điều đáng ngạc nhiên là các nhà phát triển Webmin chưa từng nghi ngờ rằng đó có thể không phải là lỗi của các nhà lập trình mà do bị cố tình sửa đổi bởi những đối tượng bên ngoài.

Theo khảo sát của Shodan, Webmin hiện có hơn 218.000 instance (Internet-exposed) sẵn có tại thời điểm viết bài, chủ yếu ở Hoa Kỳ, Pháp và Đức, trong đó hơn 13.000 instance đang chạy phiên bản Webmin chứa lỗ hổng 1.890.

Webmin Shodan

Các nhà phát triển Webmin hiện đã loại bỏ backdoor độc hại trong phần mềm của mình để giải quyết lỗ hổng và phát hành các phiên bản ‘sạch’ bao gồm Webmin 1.930 và Usermin phiên bản 1.780.

Các bản phát hành Webmin và Usermin mới nhất cũng giải quyết một số lỗ hổng kịch bản chéo trang (XSS) được báo cáo bởi một nhà nghiên cứu bảo mật có trách nhiệm. Nhà nghiên cứu này cũng đã nhận được một khoản tiền thưởng từ chương trình tiền thưởng lỗi của công ty.

Giờ đây, các quản trị viên Webmin được khuyến nghị để cập nhật các gói tiện ích càng sớm càng tốt để giảm thiểu tối đa những rủi ro có thể xảy ra.

THN