Một Trojan Linux mới đang âm thầm kiểm soát máy chủ DevOps và đánh cắp dữ liệu quan trọng

Duy Linh
Duy Linh
Phản hồi: 0

Duy Linh

Writer
Quasar Linux (QLNX) đang nổi lên như một mối đe dọa mới nhắm trực tiếp vào hệ sinh thái Linux, đặc biệt là các máy trạm của lập trình viên và hệ thống DevOps. Đây là một Trojan truy cập từ xa (RAT) hoạt động âm thầm, được thiết kế để biến các môi trường phát triển phần mềm thành bàn đạp cho các cuộc tấn công chuỗi cung ứng quy mô lớn. Đáng chú ý, mã độc này sử dụng nhiều kỹ thuật tinh vi như thực thi không cần tệp, rootkit eBPF, cửa hậu PAM và mô hình điều khiển ngang hàng C2P nhằm vượt qua các lớp phòng thủ thông thường.
1779867752207.png

Dù mang tên Quasar Linux, QLNX không liên quan đến QuasarRAT trên Windows. Toàn bộ kiến trúc của nó được xây dựng riêng cho các môi trường Linux hiện đại.

Các nhà nghiên cứu phát hiện phần mềm độc hại này chủ yếu xuất hiện trên máy trạm Linux của lập trình viên và các máy chủ CI/CD chạy Debian, Ubuntu, RHEL, Fedora hoặc Arch Linux. Đây đều là những hệ thống thường nắm giữ quyền truy cập vào mã nguồn, pipeline build, kho gói phần mềm và tài khoản đám mây quan trọng.

Mục tiêu của QLNX là đánh cắp những dữ liệu có giá trị cao như khóa SSH cá nhân, token Git, token NPM và PyPI, bí mật AWS, thông tin Kubernetes, mật khẩu lưu trong trình duyệt cũng như các tệp .env của dự án. Những dữ liệu này có thể bị lợi dụng để giả mạo mã nguồn hoặc mở rộng tấn công vào toàn bộ chuỗi cung ứng phần mềm.

QLNX ban đầu được triển khai dưới dạng một tệp ELF duy nhất, nhưng ngay sau khi khởi chạy, nó gần như chuyển hoàn toàn sang hoạt động trong bộ nhớ RAM để tránh bị phát hiện bằng các phương pháp quét tệp truyền thống.

Khi hoạt động, mã độc tận dụng các lời gọi hệ thống Linux như memfd_create để tạo tệp ẩn danh trong bộ nhớ, sau đó ghi payload vào vùng nhớ này và thực thi bằng execveat. Sau khi hoàn tất, tệp nhị phân gốc trên ổ đĩa sẽ bị xóa liên kết, khiến tiến trình tiếp tục chạy mà không để lại tệp thực thi hiển thị trên hệ thống.

Để tăng khả năng che giấu, QLNX còn chỉnh sửa các trường comm và argv nhằm giả dạng thành các tiến trình kernel như [kworker/0:0] hoặc [migration/0]. Điều này khiến quản trị viên khó phát hiện nếu chỉ kiểm tra bằng các lệnh phổ biến như ps hoặc top.

Theo Trend Micro, QLNX là một RAT Linux hoàn chỉnh với 58 trình xử lý lệnh khác nhau, cho phép truy cập shell từ xa, quản lý tệp và tiến trình, đánh cắp thông tin xác thực, điều khiển rootkit và vận hành proxy SOCKS.

Cơ chế rootkit và đánh cắp thông tin của QLNX

Một điểm đáng chú ý là mã độc có khả năng tự biên dịch các thành phần rootkit và backdoor PAM trực tiếp trên máy nạn nhân bằng gcc. Các mô-đun này được tạo tại các thư mục như /tmp hoặc /dev/fd dưới dạng các đối tượng chia sẻ riêng biệt cho từng hệ thống, khiến việc phát hiện bằng chữ ký tĩnh trở nên khó khăn hơn đáng kể.

QLNX sử dụng mô hình rootkit hai lớp. Ở tầng người dùng, nó triển khai rootkit LD_PRELOAD thông qua tệp /etc/ld.so.preload với các tên như libsecurity_utils.so.1. Việc này buộc mọi tiến trình liên kết động phải tải thư viện độc hại, từ đó giúp mã độc che giấu tệp, tiến trình và nhiều thành phần khác khỏi các công cụ giám sát thông thường.

Ở cấp kernel, QLNX tiếp tục sử dụng eBPF để ẩn ID tiến trình, cổng mạng và đường dẫn tệp thông qua các bản đồ và chương trình BPF. Điều này khiến nhiều công cụ bảo mật dòng lệnh khó có thể phát hiện dấu vết bất thường.

Không dừng lại ở đó, mã độc còn cài các mô-đun PAM độc hại như pam_security.so và libpam_cache.so nhằm tạo cửa hậu xác thực và ghi lại mật khẩu dạng văn bản thuần trong các lần đăng nhập nội bộ hoặc khi sử dụng sudo.

Những thông tin đánh cắp được sẽ được lưu dưới dạng mã hóa XOR trong các tệp ẩn như /var/log/.ICE-unix, /var/log/.Test-unix hoặc /tmp/.pam_cache. Ngoài mật khẩu, QLNX còn thu thập khóa SSH, token và dữ liệu xác thực từ các thư mục ~/.ssh, ~/.npmrc, ~/.pypirc, ~/.aws, ~/.kube cùng các tệp .env của dự án.
1779867802450.png

Tiêm rootkit (Nguồn: GuardSix).

Mạng P2P khiến QLNX khó bị phát hiện hơn

Thay vì phụ thuộc vào một máy chủ điều khiển tập trung, QLNX xây dựng mạng ngang hàng P2P giữa các máy đã bị xâm nhập. Các hệ thống này sẽ chuyển tiếp lệnh cho nhau thông qua giao thức tùy chỉnh được mã hóa TLS.

Dù giao thức sử dụng một giá trị “ma thuật” cố định trong quá trình bắt tay, nhưng với phần lớn hệ thống giám sát, lưu lượng truy cập ban đầu vẫn trông giống các kết nối TLS bình thường. Điều này khiến việc phát hiện bằng phương pháp chặn lưu lượng đơn giản trở nên kém hiệu quả.

Do QLNX chủ yếu tồn tại trong RAM và hạn chế tối đa dấu vết lưu trữ lâu dài, việc phát hiện đòi hỏi phải kết hợp nhiều nguồn dữ liệu như nhật ký xác thực, lưu lượng mạng, giám sát tính toàn vẹn tệp và dữ liệu lời gọi hệ thống.

Một số dấu hiệu đáng nghi bao gồm thực thi ẩn danh từ memfd, hoạt động gcc bất thường tạo tệp .so trong /tmp hoặc /dev/fd, thay đổi đối với /etc/ld.so.preload, sự xuất hiện của các tệp ẩn có độ nhiễu cao trong /tmp và /var/log, cũng như các kết nối TLS mang đặc điểm bắt tay riêng của QLNX.

Trend Micro và nhiều hãng bảo mật khác khuyến nghị rằng nếu phát hiện hệ thống bị nhiễm QLNX, quản trị viên nên xóa toàn bộ hệ điều hành và cài đặt lại từ ảnh hệ thống sạch đã được xác minh. Nguyên nhân là bởi sự kết hợp giữa rootkit eBPF, hook PAM, kỹ thuật chèn thư viện và khả năng duy trì kết nối P2P khiến việc làm sạch hoàn toàn gần như không đáng tin cậy.

Song song với đó, các đội ngũ an ninh mạng cần nhanh chóng cô lập máy bị ảnh hưởng, loại bỏ toàn bộ cơ chế tồn tại của QLNX, giám sát chặt chẽ các cấu hình PAM và /etc/ld.so.preload, đồng thời triển khai hệ thống FIM cùng cảnh báo nghiêm ngặt đối với các đường dẫn và tệp mutex liên quan đến mã độc trên toàn bộ hạ tầng máy chủ phát triển.
 
Được phối hợp thực hiện bởi các chuyên gia của Bkav, cộng đồng An ninh mạng Việt Nam WhiteHat và cộng đồng Khoa học công nghệ VnReview


Đăng nhập một lần thảo luận tẹt ga
Thành viên mới đăng
http://textlink.linktop.vn/?adslk=aHR0cHM6Ly93d3cudm5yZXZpZXcudm4vdGhyZWFkcy9tb3QtdHJvamFuLWxpbnV4LW1vaS1kYW5nLWFtLXRoYW0ta2llbS1zb2F0LW1heS1jaHUtZGV2b3BzLXZhLWRhbmgtY2FwLWR1LWxpZXUtcXVhbi10cm9uZy44MzQ0Mi8=
Top