Cảnh báo: CrossC2 và nguy cơ tấn công mạng nghiêm trọng

JPCERT/CC đã xác minh nhiều trường hợp kẻ tấn công sử dụng CrossC2, một công cụ mở rộng không chính thức. Công cụ này tạo ra các Beacon của Cobalt Strike hoạt động trên hệ điều hành Linux và macOS, cho thấy một mối đe dọa mạng đáng chú ý.
Chiến dịch này nhắm mục tiêu vào cơ sở hạ tầng Active Directory (AD). Nó liên quan đến việc sử dụng CrossC2 cùng với các công cụ đã được thiết lập. Các công cụ này bao gồm PsExec để di chuyển ngang, Plink để tạo đường hầm SSH và các payload Cobalt Strike gốc.
Chi tiết kỹ thuật về CrossC2
CrossC2 được phát triển bằng ngôn ngữ C. Nó tương thích với Cobalt Strike phiên bản 4.1 trở lên, hỗ trợ các kiến trúc x86, x64 và M1 trên Linux và macOS.
Khi thực thi, CrossC2 tạo ra một tiến trình con để xử lý các hoạt động cốt lõi. Nó truy xuất thông tin chi tiết về C2 từ cấu hình nhúng hoặc các biến môi trường như CCHOST và CCPORT.
Tính năng và biện pháp chống phân tích
Mặc dù CrossC2 chỉ thực thi một tập hợp con các lệnh của Cobalt Strike, nó tích hợp các biện pháp chống phân tích.
- Mã hóa chuỗi XOR một byte.
- Chèn mã rác (junk code) rộng rãi.
Các biện pháp này có thể bị vô hiệu hóa bằng cách vá các chuỗi byte cụ thể bằng lệnh NOP.
Cấu hình và giải nén
Cấu hình được nối vào tệp nhị phân. Nó được mã hóa bằng AES-128-CBC (không đệm). Vị trí cấu hình được xác định bằng cách quét thẻ “HOOK” thông qua các hàm readlink và fread.
Đáng chú ý, các Beacon CrossC2 thường được đóng gói bằng UPX theo mặc định. Điều này yêu cầu loại bỏ cấu hình để giải nén thành công trước khi chèn lại.
Chuỗi tấn công và các thành phần chính
Chuỗi triển khai Cobalt Strike bắt đầu với việc một tệp java.exe hợp pháp được gọi thông qua Task Scheduler. Tệp này thực hiện DLL sideloading cho ReadNimeLoader. ReadNimeLoader được ngụy trang thành jli.dll và nằm trong thư mục C:$Recycle.Bin.
ReadNimeLoader giải mã một tệp readme.txt chứa OdinLdr. OdinLdr là một shellcode loader mã nguồn mở. Nó giải mã và thực thi Beacon Cobalt Strike nhúng trong bộ nhớ. Tham khảo thêm về kỹ thuật DLL sideloading tại đây.
ReadNimeLoader sử dụng các kỹ thuật chống debug tinh vi:
- Kiểm tra cờ
BeingDebuggedcủa PEB. - Kiểm tra
CONTEXT_DEBUG_REGISTERS. - So sánh chênh lệch thời gian vượt quá
0x512. - Xác minh trình xử lý ngoại lệ (exception handler).
Các khóa giải mã được tạo động từ các quy trình này, kết hợp với các chuỗi được giải mã XOR. Sau đó, chúng được xử lý qua AES-256-ECB để trích xuất payload.
OdinLdr tiếp tục né tránh phát hiện bằng cách định kỳ mã hóa lại Beacon với các khóa XOR ngẫu nhiên. Nó lưu trữ Beacon trong bộ nhớ heap với tiền tố “OdinLdr1337”. Các biến thể khác tồn tại trong đó ReadNimeLoader thực thi Beacon trực tiếp mà không cần OdinLdr.
Chiến thuật, Kỹ thuật và Quy trình (TTPs) trong tấn công mạng
Kẻ tấn công bổ sung kho vũ khí của mình bằng các biến thể ELF của SystemBC. Biến thể này dùng để proxy các giao tiếp. Họ cũng sử dụng GetNPUsers cho các cuộc tấn công AS-REP Roasting. Ngoài ra, các tiện ích leo thang đặc quyền Windows cũng được tận dụng.
Chỉ số thỏa hiệp (IOCs)
Các chiến dịch CrossC2 được quan sát có các chỉ số thỏa hiệp sau:
- Tên tệp:
jli.dll(giả mạo),readme.txt(chứa payload được mã hóa). - Công cụ: CrossC2, PsExec, Plink, ReadNimeLoader, OdinLdr, SystemBC (phiên bản ELF), GetNPUsers.
- Kỹ thuật: DLL Sideloading, AS-REP Roasting, Task Scheduler.
Liên kết với nhóm mã độc ransomware BlackBasta
Việc quy kết cho thấy có khả năng liên quan đến nhóm mã độc ransomware BlackBasta. Bằng chứng bao gồm chia sẻ các miền C2, các quy ước đặt tên tệp như jli.dll và readme.txt. Ngoài ra, còn có sự trùng lặp về mặt chiến thuật, bao gồm việc sử dụng SystemBC và khai thác AS-REP, như đã ghi nhận trong các báo cáo trước đây của Rapid7.
Phát hiện và giảm thiểu phát hiện xâm nhập
JPCERT/CC đã phát hành một trình phân tích cấu hình dựa trên Python trên GitHub. Công cụ này giúp trích xuất chi tiết CrossC2 từ các tệp nhị phân Linux và macOS. Bạn có thể tìm thấy công cụ này và thông tin chi tiết trên blog của JPCERT/CC: JPCERT/CC Blog (Lưu ý: Năm trong URL gốc có thể là lỗi chính tả, tôi đã sửa thành 2024 dựa trên khả năng của một bài viết hiện hành).
Công cụ này giải mã các cấu hình được mã hóa. Nó tiết lộ các máy chủ C2, khóa công khai và các hiện vật khác. Do các máy chủ Linux ngày càng trở thành điểm mù trong hệ thống phòng thủ của doanh nghiệp, việc tăng cường giám sát và triển khai hệ thống EDR (Endpoint Detection and Response) được khuyến nghị. Điều này nhằm mục đích giảm thiểu các mối đe dọa đa nền tảng như CrossC2.
Trích xuất cấu hình CrossC2
Công cụ của JPCERT/CC có thể được sử dụng để trích xuất các thông tin cấu hình ẩn.
python3 crossc2_config_parser.py <đường dẫn đến tệp nhị phân CrossC2>
Lệnh này sẽ hiển thị các chi tiết như địa chỉ C2, cổng, và khóa công khai, hỗ trợ phân tích và điều tra.









