Tổ hợp phần mềm độc hại Drovorub lây nhiễm vào hệ điều hành Linux

Cơ quan An ninh Quốc gia và Cục Điều tra Liên bang Hoa Kỳ đã công bố một báo cáo, theo đó, trung tâm dịch vụ đặc biệt thứ 85 Tổng cục trưởng Bộ Tổng tham mưu các lực lượng vũ trang Nga (85 GCSS GRU) một phức hợp phần mềm độc hại có tên “Drovorub” được sử dụng. Drovorub bao gồm một rootkit dưới dạng mô-đun hạt nhân Linux, một công cụ để truyền tệp và chuyển hướng các cổng mạng cũng như một máy chủ điều khiển. Phần máy khách có thể tải xuống và tải lên các tệp, thực thi các lệnh tùy ý với tư cách là người dùng root và chuyển hướng các cổng mạng đến các nút mạng khác.

Trung tâm điều khiển Drovorub nhận đường dẫn đến tệp cấu hình ở định dạng JSON dưới dạng đối số dòng lệnh:

{
"db_host" : " ",
"db_port" : " ",
"db_db" : " ",
"db_user" : " ",
"db_password" : " ",

"lport" : " ",
"lhost" : " ",
"ping_sec" : " ",

"priv_key_file" : " ",
"cụm từ" : " »
}

MySQL DBMS được sử dụng làm phụ trợ. Giao thức WebSocket được sử dụng để kết nối các máy khách.

Máy khách có cấu hình tích hợp, bao gồm URL máy chủ, khóa chung RSA, tên người dùng và mật khẩu. Sau khi cài đặt rootkit, cấu hình được lưu dưới dạng tệp văn bản ở định dạng JSON, tệp này bị mô-đun hạt nhân Drovoruba ẩn khỏi hệ thống:

{
«id» : «cbcf6abc-466b-11e9-853b-000c29cb9f6f»,
"chìa khóa": "Y2xpZW50a2V5"
}

Ở đây "id" là mã định danh duy nhất do máy chủ cấp, trong đó 48 bit cuối cùng tương ứng với địa chỉ MAC của giao diện mạng của máy chủ. Tham số "khóa" mặc định là chuỗi "clientkey" được mã hóa base64 được máy chủ sử dụng trong quá trình bắt tay ban đầu. Ngoài ra, tệp cấu hình có thể chứa thông tin về các tệp, mô-đun và cổng mạng ẩn:

{
«id» : «6fa41616-aff1-11ea-acd5-000c29283bbc»,
"chìa khóa": "Y2xpZW50a2V5",
"màn hình" : {
"tài liệu" : [
{
"hoạt động" : "đúng"
«id» : «d9dc492b-5a32-8e5f-0724-845aa13fff98»,
"mặt nạ" : "testfile1"
}
],
"mô-đun" : [
{
"hoạt động" : "đúng"
«id» : «48a5e9d0-74c7-cc17-2966-0ea17a1d997a»,
"mặt nạ" : "testmodule1"
}
],
"mạng lưới" : [
{
"hoạt động" : "đúng"
«id» : «4f355d5d-9753-76c7-161e-7ef051654a2b»,
"cổng" : "12345",
"giao thức" : "tcp"
}
]}
}

Một thành phần khác của Drovorub là tác nhân; tệp cấu hình của nó chứa thông tin để kết nối với máy chủ:

{
"client_login" : "user123",
"client_pass" : "pass4567",
"clientid" : "e391847c-bae7-11ea-b4bc-000c29130b71",
«clientkey_base64» : «Y2xpZW50a2V5»,
"pub_key_file" :"khóa công khai",
"server_host" : "192.168.57.100",
"server_port" :"45122",
"server_uri" :"/ws"
}

Các trường “clientid” và “clientkey_base64” ban đầu bị thiếu; chúng được thêm vào sau lần đăng ký đầu tiên trên máy chủ.

Sau khi cài đặt, các thao tác sau được thực hiện:

  • mô-đun hạt nhân được tải, đăng ký các hook cho các cuộc gọi hệ thống;
  • máy khách đăng ký với mô-đun hạt nhân;
  • Mô-đun hạt nhân ẩn tiến trình máy khách đang chạy và tệp thực thi của nó trên đĩa.

Một thiết bị giả, ví dụ /dev/zero, được sử dụng để liên lạc giữa máy khách và mô-đun hạt nhân. Mô-đun hạt nhân phân tích tất cả dữ liệu được ghi vào thiết bị và để truyền theo hướng ngược lại, nó sẽ gửi tín hiệu SIGUSR1 đến máy khách, sau đó nó sẽ đọc dữ liệu từ cùng một thiết bị.

Để phát hiện Lumberjack, bạn có thể sử dụng phân tích lưu lượng mạng bằng NIDS (không thể phát hiện hoạt động mạng độc hại trong chính hệ thống bị nhiễm vì mô-đun hạt nhân ẩn các ổ cắm mạng mà nó sử dụng, quy tắc bộ lọc mạng và các gói có thể bị chặn bởi ổ cắm thô) . Trên hệ thống đã cài đặt Drovorub, bạn có thể phát hiện mô-đun hạt nhân bằng cách gửi cho nó lệnh ẩn tệp:

chạm vào testfile
echo “ASDFZXCV:hf:testfile” > /dev/zero
ls

Tệp “testfile” đã tạo sẽ trở nên vô hình.

Các phương pháp phát hiện khác bao gồm phân tích nội dung bộ nhớ và đĩa. Để ngăn ngừa lây nhiễm, bạn nên sử dụng xác minh chữ ký bắt buộc của hạt nhân và mô-đun, có sẵn bắt đầu từ phiên bản hạt nhân Linux 3.7.

Báo cáo chứa các quy tắc Snort để phát hiện hoạt động mạng của các quy tắc Drovorub và Yara để phát hiện các thành phần của nó.

Chúng ta hãy nhớ lại rằng GTSSS GRU thứ 85 (đơn vị quân đội 26165) được liên kết với nhóm APT28 (Gấu ưa thích), chịu trách nhiệm cho nhiều cuộc tấn công mạng.

Nguồn: opennet.ru