Sâu FritzFrog đã được xác định, lây nhiễm vào các máy chủ thông qua SSH và xây dựng mạng botnet phi tập trung

Công ty Guardicore, chuyên bảo vệ trung tâm dữ liệu và hệ thống đám mây, tiết lộ FritzFrog, một phần mềm độc hại công nghệ cao mới tấn công các máy chủ dựa trên Linux. FritzFrog kết hợp một loại sâu lây lan thông qua cuộc tấn công bruteforce vào các máy chủ có cổng SSH mở và các thành phần để xây dựng một mạng botnet phi tập trung hoạt động mà không có nút điều khiển và không có điểm lỗi duy nhất.

Để xây dựng mạng botnet, giao thức P2P độc quyền được sử dụng, trong đó các nút tương tác với nhau, điều phối tổ chức các cuộc tấn công, hỗ trợ vận hành mạng và giám sát trạng thái của nhau. Các nạn nhân mới được tìm thấy bằng cách thực hiện một cuộc tấn công bruteforce vào các máy chủ chấp nhận yêu cầu qua SSH. Khi phát hiện một máy chủ mới, một từ điển gồm các kết hợp thông tin đăng nhập và mật khẩu điển hình sẽ được tìm kiếm. Việc kiểm soát có thể được thực hiện thông qua bất kỳ nút nào, điều này gây khó khăn cho việc xác định và chặn những kẻ vận hành mạng botnet.

Theo các nhà nghiên cứu, mạng botnet này đã có khoảng 500 nút, bao gồm máy chủ của một số trường đại học và một công ty đường sắt lớn. Cần lưu ý rằng mục tiêu chính của cuộc tấn công là mạng lưới các cơ sở giáo dục, trung tâm y tế, cơ quan chính phủ, ngân hàng và các công ty viễn thông. Sau khi máy chủ bị xâm phạm, quá trình khai thác tiền điện tử Monero sẽ được tổ chức trên đó. Hoạt động của phần mềm độc hại được đề cập đã được theo dõi từ tháng 2020 năm XNUMX.

Điều đặc biệt ở FritzFrog là nó chỉ giữ tất cả dữ liệu và mã thực thi trong bộ nhớ. Các thay đổi trên đĩa chỉ bao gồm việc thêm khóa SSH mới vào tệp ủy quyền, sau đó được sử dụng để truy cập máy chủ. Các tập tin hệ thống không bị thay đổi, điều này làm cho sâu không thể nhìn thấy được đối với các hệ thống kiểm tra tính toàn vẹn bằng cách sử dụng tổng kiểm tra. Bộ nhớ cũng lưu trữ từ điển về mật khẩu cưỡng bức và dữ liệu để khai thác, được đồng bộ hóa giữa các nút bằng giao thức P2P.

Các thành phần độc hại được ngụy trang dưới dạng các tiến trình ifconfig, libexec, php-fpm và nginx. Các nút Botnet giám sát trạng thái của các nút lân cận và nếu máy chủ được khởi động lại hoặc thậm chí hệ điều hành được cài đặt lại (nếu tệp ủy quyền đã sửa đổi được chuyển sang hệ thống mới), chúng sẽ kích hoạt lại các thành phần độc hại trên máy chủ. Để liên lạc, SSH tiêu chuẩn được sử dụng - phần mềm độc hại còn khởi chạy thêm một "netcat" cục bộ liên kết với giao diện localhost và lắng nghe lưu lượng truy cập trên cổng 1234 mà các máy chủ bên ngoài truy cập thông qua đường hầm SSH, sử dụng khóa từ ủy quyền để kết nối.

Sâu FritzFrog đã được xác định, lây nhiễm vào các máy chủ thông qua SSH và xây dựng mạng botnet phi tập trung

Mã thành phần FritzFrog được viết bằng Go và chạy ở chế độ đa luồng. Phần mềm độc hại bao gồm một số mô-đun chạy trong các luồng khác nhau:

  • Cracker - tìm kiếm mật khẩu trên các máy chủ bị tấn công.
  • CryptoComm + Parser - tổ chức kết nối P2P được mã hóa.
  • CastVotes là một cơ chế để cùng lựa chọn các máy chủ mục tiêu để tấn công.
  • TargetFeed - Nhận danh sách các nút để tấn công từ các nút lân cận.
  • DeployMgmt là một triển khai sâu phát tán mã độc đến máy chủ bị xâm nhập.
  • Owned - chịu trách nhiệm kết nối với các máy chủ đang chạy mã độc.
  • Lắp ráp - tập hợp một tập tin trong bộ nhớ từ các khối được chuyển riêng biệt.
  • Antivir - một mô-đun ngăn chặn phần mềm độc hại cạnh tranh, xác định và chấm dứt các tiến trình bằng chuỗi “xmr” tiêu tốn tài nguyên CPU.
  • Libeexec là một mô-đun để khai thác tiền điện tử Monero.

Giao thức P2P được sử dụng trong FritzFrog hỗ trợ khoảng 30 lệnh chịu trách nhiệm truyền dữ liệu giữa các nút, chạy tập lệnh, chuyển các thành phần phần mềm độc hại, trạng thái bỏ phiếu, trao đổi nhật ký, khởi chạy proxy, v.v. Thông tin được truyền qua một kênh được mã hóa riêng biệt được tuần tự hóa ở định dạng JSON. Mã hóa sử dụng mật mã AES bất đối xứng và mã hóa Base64. Giao thức DH được sử dụng để trao đổi khóa (Diffie – Hellman). Để xác định trạng thái, các nút liên tục trao đổi yêu cầu ping.

Tất cả các nút botnet đều duy trì cơ sở dữ liệu phân tán với thông tin về các hệ thống bị tấn công và bị xâm nhập. Các mục tiêu tấn công được đồng bộ hóa trên toàn bộ mạng botnet - mỗi nút tấn công một mục tiêu riêng biệt, tức là. hai nút botnet khác nhau sẽ không tấn công cùng một máy chủ. Các nút cũng thu thập và truyền số liệu thống kê cục bộ tới các nút lân cận, chẳng hạn như kích thước bộ nhớ trống, thời gian hoạt động, tải CPU và hoạt động đăng nhập SSH. Thông tin này được sử dụng để quyết định xem có nên bắt đầu quá trình khai thác hay chỉ sử dụng nút để tấn công các hệ thống khác (ví dụ: việc khai thác không bắt đầu trên các hệ thống đã tải hoặc các hệ thống có kết nối quản trị viên thường xuyên).

Để xác định FritzFrog, các nhà nghiên cứu đã đề xuất một phương pháp đơn giản tập lệnh shell. Để xác định thiệt hại hệ thống
các dấu hiệu như sự hiện diện của kết nối nghe trên cổng 1234, sự hiện diện khóa độc hại trong ủy quyền (cùng một khóa SSH được cài đặt trên tất cả các nút) và sự hiện diện trong bộ nhớ của các tiến trình đang chạy “ifconfig”, “libexec”, “php-fpm” và “nginx” không có tệp thực thi liên quan (“/proc/ /exe" trỏ đến một tệp từ xa). Một dấu hiệu cũng có thể là sự hiện diện của lưu lượng truy cập trên cổng mạng 5555, xảy ra khi phần mềm độc hại truy cập vào nhóm web.xmrpool.eu điển hình trong quá trình khai thác tiền điện tử Monero.

Nguồn: opennet.ru

Thêm một lời nhận xét