SVF Botnet: Khai Thác SSH & DDoS Trên Máy Chủ Linux Không Bảo Mật

AhnLab Security Intelligence Center (ASEC) đã liên tục theo dõi các mối đe dọa mạng khai thác máy chủ Linux dễ bị tổn thương thông qua các honeypot được triển khai chiến lược. Các dịch vụ SSH sử dụng thông tin xác thực yếu nổi lên như một mục tiêu chính cho các tác nhân tấn công từ chối dịch vụ phân tán (DDoS) và khai thác tiền điện tử.

Sự Kiện Khai Thác SVF Botnet

Trong một sự cố gần đây, ASEC đã quan sát thấy các tác nhân đe dọa thành công xâm nhập một máy chủ Linux honeypot thông qua các cuộc tấn công brute-force vào SSH. Sau đó, chúng đã triển khai mã độc SVF Botnet.

Đặc Điểm Kỹ Thuật của SVF Botnet

SVF Botnet là một bot DDoS dựa trên Python, được cho là thuộc về “SVF Team”. Mã độc này tận dụng Discord làm cơ sở hạ tầng chỉ huy và kiểm soát (C&C) và tích hợp các máy chủ proxy để nâng cao khả năng né tránh các biện pháp phòng thủ.

Quy Trình Triển Khai SVF Botnet

Quá trình cài đặt SVF Botnet trên máy chủ bị xâm nhập bao gồm một số bước cụ thể. Đầu tiên, mã độc tạo một môi trường ảo để cô lập các thư viện và phiên bản Python cần thiết, tránh xung đột với các thành phần hệ thống hiện có. Tiếp theo, nó cài đặt các phụ thuộc Python cần thiết cho hoạt động của botnet. Các thư viện này bao gồm:

  • discord.py: Được sử dụng để giao tiếp với API Discord, cho phép bot nhận lệnh và gửi báo cáo thông qua nền tảng này.
  • requests: Một thư viện HTTP để thực hiện các yêu cầu web, có thể được sử dụng để tải xuống các thành phần bổ sung hoặc tương tác với các dịch vụ web.
  • aiohttp: Một framework HTTP client/server không đồng bộ, khả năng cao được sử dụng cho các hoạt động mạng hiệu suất cao, bao gồm các cuộc tấn công DDoS.
  • lxml: Một thư viện xử lý XML và HTML, có thể được dùng để phân tích cú pháp các danh sách proxy được thu thập từ các trang web.

Sau khi các phụ thuộc được cài đặt, mã độc tải xuống tập lệnh chính, thường là main.py, từ một URL termbin cụ thể. Cuối cùng, tập lệnh này được thực thi với một tham số nhóm máy chủ, chẳng hạn như -s 5, nhằm mục đích tạo điều kiện thuận lợi cho việc thực thi lệnh theo nhóm và quản lý các máy chủ bị nhiễm.

Một ví dụ về lệnh thực thi có thể tương tự như sau (cú pháp cụ thể có thể khác nhau tùy thuộc vào phiên bản mã độc):

python3 main.py -s 5

Cơ Chế Hoạt Động và Kiểm Soát

Khi được thực thi, SVF Botnet xác thực bằng một Discord bot token. Việc xác thực này cho phép điều khiển từ xa thông qua các kênh Discord. Đồng thời, botnet báo cáo nhóm được chỉ định của máy chủ bị nhiễm thông qua một webhook, hỗ trợ việc điều phối các cuộc tấn công DDoS có mục tiêu.

Tập lệnh lệnh của SVF Botnet chủ yếu hỗ trợ các cuộc tấn công flooding ở hai lớp mạng chính:

  • Layer 7 (L7) HTTP flood: Các cuộc tấn công này nhắm mục tiêu vào lớp ứng dụng, tạo ra một lượng lớn yêu cầu HTTP đến máy chủ mục tiêu, làm quá tải tài nguyên của nó.
  • Layer 4 (L4) UDP flood: Các cuộc tấn công này nhắm mục tiêu vào lớp truyền tải, gửi một lượng lớn gói UDP đến máy chủ mục tiêu, làm tắc nghẽn băng thông và làm cạn kiệt tài nguyên mạng.

Các biến thể lệnh cho phép tùy chỉnh các tham số như số lượng luồng (threads), cường độ gói tin (packet strength), và số lượng kết nối đồng thời (concurrency). Điều này mang lại sự linh hoạt cho kẻ tấn công trong việc điều chỉnh cường độ và loại hình tấn công.

Chức Năng Tích Hợp Proxy

Một tính năng độc đáo của SVF Botnet là khả năng tích hợp proxy để che giấu nguồn gốc của các cuộc tấn công và vượt qua các biện pháp phòng thủ. Botnet thực hiện việc này bằng cách:

  • Thu thập danh sách proxy công khai: Nó quét và thu thập các danh sách proxy từ nhiều kho lưu trữ GitHub và các trang web công khai khác.
  • Xác thực proxy: Các proxy được thu thập sẽ được xác thực bằng cách cố gắng đăng nhập vào Google thông qua chúng. Bước này đảm bảo rằng chỉ các proxy đang hoạt động và hiệu quả mới được sử dụng.
  • Lựa chọn proxy ngẫu nhiên: Trong các cuộc tấn công HTTP flood, botnet sẽ ngẫu nhiên chọn và sử dụng các proxy từ nhóm đã xác thực để liên tục thay đổi địa chỉ IP nguồn, gây khó khăn cho việc theo dõi và chặn.

Các lệnh chuyên biệt được cung cấp để quản lý nhóm proxy. Ví dụ:

$load

Lệnh $load được sử dụng để nạp các proxy vào nhóm. Ngoài ra, SVF Botnet còn có các lệnh cho phép tùy chỉnh các cuộc tấn công theo yêu cầu:

$customhttp
$customudp

Các lệnh $customhttp$customudp cho phép thực hiện các cuộc tấn công HTTP và UDP với các thông số tùy chỉnh. Các chỉ thị bổ sung xử lý việc khởi động lại bot, xử lý sự cố (crash) và dừng các cuộc tấn công, phản ánh một thiết kế mô-đun dù có vẻ đơn giản.

Sau khi có bản cập nhật, botnet sẽ tự động tải về các phiên bản cải tiến từ một địa chỉ IP cụ thể, cho thấy tiềm năng phát triển thành các chủng loại phức tạp hơn trong tương lai.

Tác Động và Biện Pháp Đối Phó

Việc khai thác này nhấn mạnh rủi ro đối với các môi trường Linux không được bảo mật đầy đủ, biến chúng thành các nút DDoS không tự nguyện dưới sự kiểm soát của tác nhân đe dọa.

Khuyến Nghị Bảo Mật

Để giảm thiểu rủi ro từ các cuộc tấn công như SVF Botnet, các quản trị viên hệ thống phải thực hiện các biện pháp bảo mật mạnh mẽ và toàn diện:

  • Thiết lập mật khẩu mạnh và xoay vòng thường xuyên: Áp dụng chính sách mật khẩu phức tạp, dài và duy nhất cho dịch vụ SSH để ngăn chặn các cuộc tấn công brute-force và từ điển. Thay đổi mật khẩu định kỳ.
  • Áp dụng các bản vá lỗi bảo mật mới nhất: Thường xuyên cập nhật hệ điều hành và tất cả các phần mềm chạy trên máy chủ Linux để vá các lỗ hổng đã biết mà kẻ tấn công có thể khai thác.
  • Triển khai tường lửa (firewall): Cấu hình tường lửa để hạn chế quyền truy cập bên ngoài vào các cổng và dịch vụ không cần thiết, đặc biệt là SSH (mặc định cổng 22). Chỉ cho phép truy cập SSH từ các địa chỉ IP đáng tin cậy.
  • Cập nhật giải pháp bảo vệ điểm cuối (Endpoint Protection): Đảm bảo các giải pháp bảo vệ điểm cuối như AhnLab V3 được cập nhật liên tục để phát hiện và ngăn chặn mã độc một cách chủ động.

Khi các tác nhân đe dọa ngày càng chuyển hướng sang các hệ sinh thái mã nguồn mở, việc giám sát chủ động thông qua honeypot vẫn giữ vai trò quan trọng trong việc thu thập thông tin tình báo về mối đe dọa và giảm thiểu rủi ro.