Virtualizor cho biết tin tặc đã sử dụng kỹ thuật chiếm quyền điều khiển Border Gateway Protocol (BGP) (BGP hijack) để điều hướng lưu lượng truy cập của Softaculous. Kẻ tấn công sau đó đã lợi dụng lưu lượng cập nhật bị chuyển hướng này để phân phối các gói cài đặt Virtualizor độc hại đến một số hệ thống. Một nhà cung cấp hosting báo cáo rằng 5 trong số 34 máy chủ ảo (hypervisors) Virtualizor của họ đã bị xâm nhập ở cấp độ root.
Khoảng thời gian xảy ra sự cố kéo dài từ khoảng 20:57 giờ phối hợp quốc tế (UTC) ngày 28 tháng 8 đến 06:10 UTC ngày 30 tháng 8. Virtualizor khuyến cáo mọi quản trị viên nên kiểm tra máy chủ của mình vì công ty hiện không có phạm vi phiên bản bị ảnh hưởng hoặc danh sách chính xác các hệ thống đã nhận gói cài đặt độc hại.
Virtualizor đã phát hành Patch 9 tích hợp công cụ phân tích bảo mật (Security Analyzer) vào ngày 1 tháng 9, nhưng nhà cung cấp lưu ý rằng việc ký số cho gói phần mềm (cryptographic package signing) vẫn đang trong quá trình phát triển. Các quản trị viên nên chạy trình quét chính thức, thay đổi và giới hạn thông tin xác thực API, đồng thời kiểm tra từng máy chủ để tìm kiếm các dấu hiệu duy trì truy cập (persistence) và truy cập trái phép.
"Sự cố này ảnh hưởng đến một số lượng nhỏ máy chủ thay vì toàn bộ người dùng Virtualizor," Virtualizor tuyên bố trong bản tin tư vấn sự cố của mình.
Thông báo lộ trình đầu tiên chứa đường dẫn do nhà cung cấp xác định xuất hiện lúc 20:57:30 UTC ngày 28 tháng 8, theo xác nhận của The Hacker News dựa trên dữ liệu RIPE Stat. Virtualizor khẳng định lộ trình này không được phép. Lưu lượng truy cập cho các dịch vụ Softaculous đã bị chuyển hướng đến một máy chủ do kẻ tấn công vận hành.
Kẻ tấn công đã thu được chứng chỉ Let's Encrypt hợp lệ trong thời gian chuyển hướng. Do đó, các kết nối qua máy chủ của chúng không hiển thị cảnh báo chứng chỉ. Bất kỳ cài đặt Virtualizor nào thực hiện kiểm tra cập nhật trong khoảng thời gian bị chuyển hướng đều có thể nhận được gói cài đặt đã bị sửa đổi. Do trình cập nhật thiếu cơ chế xác minh gói phần mềm bằng mật mã, nó đã không từ chối gói cài đặt độc hại này.
Tài khoản AlbaHost, một thành viên trên diễn đàn LowEndTalk, cho biết các lệnh độc hại đã được chèn vào ba tệp tin hợp lệ của Virtualizor. Sau đó, một tiến trình root cron job đã thực thi đoạn mã bị sửa đổi này.
Đoạn mã được chèn vào đã thêm một SSH key do kẻ tấn công kiểm soát vào tài khoản root. Nó tự động cài đặt Java 17 nếu chưa có, tải xuống Java payload và thực thi payload đó với quyền root.
Payload này thiết lập sự hiện diện lâu dài thông qua một dịch vụ systemd. Nó cũng tạo ra một tài khoản trái phép có tên proxyuser. Nhật ký của nhà cung cấp cho thấy một lần đăng nhập thành công qua SSH bằng mật khẩu vào tài khoản này từ địa chỉ IP 193.32.127[.]248.
Trong môi trường đã kiểm tra, AlbaHost cho biết họ chưa xác nhận được việc sửa đổi các máy chủ ảo của khách hàng và cũng chưa xác nhận độc lập việc xuất dữ liệu database.
Virtualizor cảnh báo rằng các phiên làm việc tại khu vực khách hàng (client-area) và lưu lượng nhập thông tin thanh toán trong thời gian xảy ra sự cố có thể đã bị chuyển hướng đến máy chủ của kẻ tấn công. Tính đến ngày 2 tháng 9, nhà cung cấp chưa nhận được báo cáo xác nhận về việc mất cắp dữ liệu tài khoản khách hàng hay thông tin thanh toán.
Hướng dẫn dành cho các nhóm đối tượng bị ảnh hưởng
- Quản trị viên Virtualizor: Kiểm tra mọi máy chủ vì không có danh sách phiên bản hoặc máy chủ bị ảnh hưởng cụ thể.
- Người dùng đã đăng nhập hoặc nhập thông tin thanh toán trong thời gian sự cố: Đặt lại mật khẩu khu vực khách hàng, thay đổi mật khẩu ở bất kỳ nơi nào dùng chung, xem xét hoạt động tài khoản và sao kê thẻ ngân hàng. Người dùng Client Center API nên tạo lại key và cập nhật trên máy chủ của họ.
- Quản trị viên các sản phẩm Softaculous khác: Kiểm tra các máy chủ chạy Webuzo, Softaculous, Backuply, SitePad và các sản phẩm khác đã thực hiện cập nhật trong thời gian sự cố. Nhà cung cấp hiện chưa phát hiện gói cài đặt độc hại cho các sản phẩm này nhưng cuộc điều tra vẫn đang tiếp tục.
Các bước quản trị viên Virtualizor cần thực hiện
- Kiểm tra sự tồn tại của tệp
/etc/systemd/system/java-jre-update.service. Nếu có, hãy lưu giữ bằng chứng và liên hệ với bộ phận hỗ trợ của Virtualizor. - Thay đổi (rotate) tất cả Virtualizor API keys, giới hạn quyền truy cập API cho các địa chỉ IP tin cậy và xóa các key lạ.
- Kiểm tra các SSH keys lạ, người dùng mới, các tác vụ được lập lịch (cron jobs), các kết nối ra ngoài bất thường và giới hạn SSH cho các IP tin cậy.
- Chạy trình quét chính thức (official scanner). SHA-256 của script là
73e74402b3a61c7bab289fc11347bd54c7fcdc2fa2e410f4c3de9d6cd7377d48(tính đến ngày 2 tháng 9). - Liên hệ hỗ trợ trước khi xử lý máy chủ bị nhiễm để bảo toàn bằng chứng. Sau khi dùng trình quét để ngăn chặn các dấu hiệu đã biết, cần thực hiện thêm các bước khắc phục để khôi phục hoàn toàn độ tin cậy của máy chủ.
Danh sách các dấu hiệu xâm nhập (IoCs) được trình quét kiểm tra:
- Systemd unit:
/etc/systemd/system/java-jre-update.service - Payload đã cài đặt:
/usr/lib/jvm/.cache/jre-runtime.dat - Payload SHA-256:
b81a4e1fab9fc4e404d57224fe71e2c143aa93942bd46998789bdc944a7870c7 - Tệp đánh dấu (Marker file):
/usr/lib/jvm/.cache/.installed,/tmp/widdow.jar - Tệp cốt lõi (Core file):
/usr/local/virtualizor/globals.php,/usr/local/virtualizor/_universal.php,/usr/local/virtualizor/zzvirtservice - Chuỗi ký tự bị chèn:
cdn[.]nerat[.]cc/installer/widdow.jar,connect[.]ne-rat[.]xyz,jre-runtime.dat - Tên miền C2:
cdn[.]nerat[.]cc,connect[.]ne-rat[.]xyz - SSH key material:
AAAAC3NzaC1lZDI1NTE5AAAAIP13pPAm5jmInLQYD3XNb3HwrW4cAKDcphoT4kSKrnte - Địa chỉ IP nguồn SSH:
193.32.127[.]248
Lưu ý từ Patch 9: Trình phân tích bảo mật đã được thêm vào các nhánh Release Candidate và Stable. Virtualizor khuyến nghị rằng đối với các máy chủ đã bị xác nhận xâm nhập quyền root, cách khắc phục lâu dài và đáng tin cậy nhất là cài đặt lại hệ thống từ đầu (clean rebuild).