Bandook được phát hiện lần đầu tiên vào năm 2007 và cho thấy sự phát triển mạnh mẽ theo từng giai đoạn. Đáng chú ý, Bandook được trang bị nhiều tính năng để giành quyền kiểm soát từ xa các hệ thống bị nhiễm. Phần mềm độc hại này đã được các tác nhân đe dọa khác nhau sử dụng trong nhiều chiến dịch khác nhau trong nhiều năm qua.
Các nhà nghiên cứu của FortiGuard Labs đã xác định một biến thể Bandook mới đang được phân phối qua tệp PDF vào tháng 10/2023. Tệp PDF này chứa một URL rút gọn tải xuống tệp .7z được bảo vệ bằng mật khẩu. Sau khi nạn nhân trích xuất phần mềm độc hại bằng mật khẩu trong tệp PDF, Bandook sẽ nhúng payload của nó vào tiến trình msinfo32[.]exe.
Vào tháng 7/2021, công ty an ninh mạng ESET của Slovakia đã trình bày chi tiết về một chiến dịch gián điệp mạng lợi dụng biến thể nâng cao của Bandook để xâm nhập mạng công ty ở các quốc gia nói tiếng Tây Ban Nha như Venezuela.
Điểm bắt đầu của chuỗi tấn công mới nhất là một thành phần Injector được thiết kế để giải mã và tải payload vào msinfo32[.]exe, một tệp nhị phân Windows hợp pháp thu thập thông tin hệ thống để chẩn đoán sự cố máy tính. Phần mềm độc hại ngoài việc thực hiện các thay đổi trong Registry để thiết lập tính bền vững trên máy chủ bị xâm nhập, còn thiết lập liên hệ với máy chủ C2 để truy xuất các payload và hướng dẫn bổ sung.
Thành phần Injector
Như đã đề cập trước đó, Injector sẽ giải mã payload trong bảng tài nguyên và nhúng vào msinfo32[.]exe. Trước khi chèn, khóa Registry sẽ được tạo để kiểm soát hành vi của payload. Tên khóa này là PID của msinfo32[.]exe và giá trị chứa mã điều khiển cho payload. Sau khi thực thi với bất kỳ đối số nào, Bandook sẽ tạo một khóa Registry chứa một mã kiểm soát khác cho phép payload của nó thiết lập tính bền vững và sau đó đưa payload đó vào một tiến trình mới của msinfo32[.]exe. Có hai khóa Registry được hiển thị trong Hình 1.
Hình 1. Các khóa Registry được tạo bởi Bandook
Một biến thể của Bandook được báo cáo vào năm 2021 yêu cầu bốn mã kiểm soát và tạo ra bốn tiến trình explorer[.]exe mà nó đưa vào trong một lần thực thi. Trong khi đó, biến thể mới này sử dụng ít mã điều khiển hơn và phân chia nhiệm vụ chính xác hơn.
Thành phần payload
Hình 2. Luồng thực thi của payload
Hình 2 là luồng thực thi payload của biến thể mới Bandook. Sau khi được chèn, payload sẽ khởi tạo các chuỗi cho tên khóa của Registry, cờ, API,… Sau đó, phần mềm độc hại sử dụng PID của msinfo32[.]exe được chèn để tìm khóa Registry, rồi giải mã và phân tích giá trị khóa để thực hiện tác vụ được chỉ định bởi mã điều khiển.
Biến thể mà các nhà nghiên cứu phát hiện vào tháng 10/2023 có thêm hai mã kiểm soát, nhưng thành phần Injector của nó không tạo khóa Registry cho chúng. Một yêu cầu payload tải fcd.dll, tải xuống bởi một tiến trình được chèn khác và gọi hàm init của fcd.dll. Cơ chế còn lại thiết lập tính bền vững và thực thi bản sao của Bandook. Các mã kiểm soát không được sử dụng này đã bị xóa khỏi các biến thể mới hơn. Trong số hai mã kiểm soát còn lại, ACG là mã kiểm soát chính cho một cuộc tấn công, trong khi GUM thiết lập cơ chế duy trì.
Mã kiểm soát GUM
Khi mã kiểm soát là GUM, Bandook tạo một bản sao vào thư mục SMC trong appdata dưới dạng “SMC[.]exe” hoặc “SMC[.]cpl” và tạo khóa Registry để tự động thực thi bản sao.
Hình 3. Ba khóa Registry chạy SMC.exe
Hình 4. Khóa Registry và giá trị của nó khi bản sao là SMC[.]cpl
Mã điều khiển ACG
Khi mã điều khiển là ACG, payload có thể tải xuống các tệp cho các mô-đun khác, bao gồm fcd[.]dll, pcd[.]dll, tệp thực thi và các tệp khác. Đây là chức năng tùy chọn dựa trên các cờ được đặt khi payload khởi chạy. Các tệp tin cũng có thể được tải xuống từ máy chủ C2 khi cần thiết. Nếu fcd[.]dll được tải xuống, Bandook sẽ gọi các hàm của nó và chuyển tên khóa của Registry làm đối số. Tương tự, nhiều khóa Registry lưu trữ thông tin được sử dụng trong các hành động khác.
Một hành động có thể được tách thành nhiều phần và cần phải ghép tất cả các lệnh và khóa Registry liên quan lại với nhau. Ví dụ, giao tiếp C2 có thể sử dụng một lệnh để ghi khóa Registry và một lệnh riêng để đọc nó.
Kết nối C2
Hình 5. Dữ liệu thu thập lưu lượng truy cập và giải mã AES của thông tin nạn nhân
Đầu tiên, Bandook gửi thông tin nạn nhân đến máy chủ C2. Nếu máy chủ này khả dụng, Bandook sẽ nhận các lệnh từ máy chủ, bao gồm một số lệnh như: *DJDSR^, @0001, @0002,... Mặc dù chuỗi string trong các biến thể mới nhất là @0155, một số chuỗi chỉ được sử dụng khi gửi kết quả đến máy chủ và một số chuỗi khác chỉ tồn tại trong các mô-đun khác. Hình 5 minh họa việc payload không sử dụng lệnh @0133, mặc dù nó có thể được tìm thấy trong fcd[.]dll.
Hình 6. Lệnh @0133 có thể được tìm thấy trong fcd[.]dll
Mặc dù được đánh số, nhưng payload chỉ hỗ trợ 139 hành động. Ngoài ra, một số lệnh đặc biệt chỉ được gửi đến máy chủ trong những điều kiện cụ thể. Vì hầu hết các hành động đều giống như trong các biến thể trước đó nên các nhà nghiên cứu tập trung vào việc liên lạc giữa Bandook và máy chủ C2 bằng cách sử dụng các lệnh mới được thêm vào các biến thể gần đây nhất.
Những hành động này có thể được phân loại bao gồm các thao tác tệp, thao tác tạo khóa Registry, tải xuống, đánh cắp thông tin, thực thi tệp, gọi các chức năng trong dll từ C2, kiểm soát máy tính của nạn nhân, xóa tiến trình và gỡ cài đặt phần mềm độc hại. Dữ liệu từ máy chủ C2 có định dạng sau: {Command}~!{Arg2}~!{Arg3}~!{Arg4}~!{Arg5}~!{Arg6}~!. Trong đó, đối số đầu tiên là lệnh. Arg2 đến Arg6 là tùy chọn.
Các lệnh và hành động thực thi
Dưới đây là các ví dụ về hành động yêu cầu nhiều lệnh và hành động có cơ chế phức tạp.
Lệnh @0003, @0004
Hành động này thể hiện việc đọc tệp tin. Nếu Arg3 là R, nó sẽ tiếp tục gọi hàm Sleep cho đến khi máy chủ C2 gửi @0004 và các đối số liên quan của nó tới Bandook. Lệnh @0004 đưa ra một giá trị để xác định nơi đọc tệp hoặc không làm gì cả. Cuối cùng, Bandook gửi tệp do Arg2 chỉ định đến máy chủ C2.
Hình 7. Luồng quy trình khi Bandook nhận được @0003 từ máy chủ
Lệnh @0006, @0007
Hành động này là về việc ghi tệp tin. Tương tự như @0003, @0006 đợi @0007. @0007 xác định cách ghi dữ liệu từ máy chủ C2 vào tệp cục bộ.
Hình 8. Luồng quy trình khi Bandook nhận được @0007 từ máy chủ
Lệnh @0126, @0127, @0128
Các lệnh này thực thi một tệp Python. Lệnh chính là @0128 gọi hàm ShellExecute để chạy tệp Python {Parent directory}\Lib\dpx.pyc với các đối số Arg2 đến Arg6. Thư mục {Parent directory} được lưu trữ trong khóa Registry pthma trong HKCU\Software. Lệnh @0126 kiểm tra giá trị của pthma và gửi kết quả đến máy chủ. Đối với @0127, lệnh này ghi Arg2 của nó vào pthma nếu fcd[.]dll được khởi tạo trong máy tính của nạn nhân.
Lệnh @0124
Lệnh này giám sát màn hình của nạn nhân và điều khiển máy tính. Khi Bandook nhận được lệnh này, nó sẽ ghi đè lên tệp cấu hình của Firefox pref[.]js bằng mã được mã hóa cứng trong payload và vô hiệu hóa các cơ chế bảo vệ trong Microsoft Edge.
Sau đó, Bandook tạo một máy tính ảo và gán nó cho một luồng mới được tạo (Thread_Control) để thiết lập giao tiếp mới với máy chủ C2. Đầu tiên nó gửi chuỗi AVE_MARIA, theo sau là một gói khác chứa số 1 đến máy chủ.
Hình 9. Mã nguồn mã độc Bandook thực hiện gửi chuỗi AVE_MARIA và số
Nếu máy chủ phản hồi, Bandook sẽ tạo một luồng khác để tiếp tục gửi ảnh chụp màn hình đến máy chủ. Luồng này cũng gửi hai gói bao gồm chuỗi AVE_MARIA và số 0. Trong khi đó, Thread_Control nhận vị trí và mã điều khiển từ máy chủ. Ngoài ra, còn có 3 lệnh mới so với biến thể năm 2021:
Lệnh @0138
Thao tác này ghi các URL sao lưu được mã hóa vào khóa Registry kPYXM trong HKCU\Software\AkZhAyV0\. Khi máy chủ C2 hiện tại không khả dụng, Bandook sẽ giải mã nó và cố gắng truy cập các URL. Mã độc này sẽ trích xuất các URL và thử các URL này một cách tuần tự nếu URL trước đó không có sẵn.
Lệnh @0139
Lệnh này yêu cầu Bandook phân tích cú pháp cookie từ trình duyệt do C2 chỉ định, bao gồm Chrome, Edge, Firefox và lưu kết quả dưới dạng Default.json trong tệp .zip.
Lệnh @0140
Trong biến thể trước, lệnh @0140 bị thiếu. Lệnh này sẽ yêu cầu Bandook thiết lập cơ chế lưu giữ lâu dài với sub_13160400, cũng được gọi khi mã điều khiển là GUM (như trong Hình 10).
Hình 10. Biến thể mới sử dụng chức năng tương tự trong mã điều khiển và lệnh
KẾT LUẬN
Bài viết này giải mã những chi tiết mới về cơ chế C2 của phần mềm độc hại Bandook và các tính năng nâng cao trong biến thể mới nhất của nó. Một số lượng lớn các lệnh liên lạc C2 có thể được tìm thấy trong phần mềm độc hại này. Tuy nhiên, các tác vụ do payload thực hiện ít hơn số lượng trong lệnh. Điều này là do nhiều lệnh được sử dụng cho một hành động, một số lệnh gọi hàm trong các mô-đun khác và một số lệnh chỉ được sử dụng để phản hồi máy chủ.
Hồng Đạt
(Tổng hợp)
16:00 | 01/12/2023
17:00 | 22/12/2023
10:00 | 21/02/2024
12:00 | 14/08/2023
09:00 | 16/10/2024
10:00 | 01/10/2024
MoneyGram, công ty cung cấp dịch vụ chuyển tiền lớn thứ hai thế giới đã xác nhận bị tấn công mạng sau nhiều ngày người dùng gặp sự cố và phàn nàn về dịch vụ. Sự cố bắt đầu từ ngày 20/9 khiến người dùng không thể nhận tiền hay xử lý giao dịch, website cũng không thể truy cập.
21:00 | 29/08/2024
Cục Điều tra Liên bang Mỹ (FBI) mới đây đã đưa ra thông báo về sự cố gián đoạn cơ sở hạ tầng trực tuyến liên quan đến một nhóm tin tặc mã độc tống tiền mới nổi có tên là Dispossessor. Trong một nỗ lực nhằm giảm thiểu rủi ro do nhóm tội phạm này gây ra, FBI đã thu giữ 03 máy chủ tại Mỹ, 03 máy chủ tại Anh, 18 máy chủ tại Đức, 08 tên miền tại Mỹ và 01 tên miền tại Đức.
10:00 | 14/08/2024
Trong bối cảnh khoa học công nghệ đang ngày càng phát triển, đi cùng với đó là những nguy cơ gây mất an ninh, an toàn thông tin đang ngày càng phổ biến. Một trong số những nguy cơ người dùng dễ gặp phải đó là bị lây nhiễm mã độc tống tiền (ransomware) trên thiết bị di động. Sau khi xâm nhập trên thiết bị di động, mã độc sẽ tự động mã hóa các dữ liệu có trên thiết bị đó hoặc ngăn chặn các phần mềm được kích hoạt trên smartphone, đồng thời sẽ yêu cầu người dùng phải trả tiền cho các tin tặc đứng sau như một hình thức trả tiền chuộc, gây thiệt hại vô cùng lớn cho nạn nhân. Trong bài viết này, tác giả sẽ đưa ra những điểm yếu, lỗ hổng tồn tại trên điện thoại di động dễ bị tin tặc tấn công. Qua đó, cũng đề xuất một số khuyến nghị nâng cao cảnh giác khi sử dụng di động, góp phần cho công tác phòng, chống phần mềm độc hại và chia sẻ dữ liệu mã độc.
17:00 | 19/07/2024
Phần mềm độc hại DarkGate khét tiếng đã hoạt động trở lại, lợi dụng sự kết hợp giữa các tệp Microsoft Excel và các chia sẻ Samba công khai để phân phối phần mềm độc hại. Chiến dịch tinh vi này được tiết lộ trong một báo cáo gần đây của Công ty an ninh mạng Palo Alto Networks (Mỹ) cho biết nhóm tin tặc đã nhắm mục tiêu vào nhiều người dùng ở khu vực Bắc Mỹ, Châu Âu và Châu Á.
Một lỗ hổng bảo mật hiện đã được vá trong ứng dụng ChatGPT của OpenAI dành cho macOS có thể cho phép kẻ tấn công cài phần mềm gián điệp vào bộ nhớ của công cụ trí tuệ nhân tạo (AI).
11:00 | 24/10/2024