-
09/04/2020
-
113
-
1.114 bài viết
MuddyWater tung bộ mã độc đa tầng tùy chỉnh, ẩn toàn bộ hạ tầng sau Cloudflare
Chiến dịch mới nhất của MuddyWater cho thấy nhóm APT này đã bước sang một giai đoạn tấn công hoàn toàn khác. Thay vì dựa vào các công cụ quản lý từ xa có sẵn, chúng đã tự phát triển bộ mã độc đa tầng, tinh chỉnh đến từng chi tiết để vừa tránh bị phát hiện vừa bám trụ lâu dài trong hệ thống nạn nhân. Chuỗi tấn công được dàn dựng khép kín: mở đầu bằng email mồi nhử, nối tiếp bằng nhiều lớp nạp mã độc và kết thúc với hạ tầng C2 ẩn mình sau Cloudflare, biến cả chiến dịch thành một cuộc vây hãm bài bản, từng bước siết chặt vòng kiểm soát.
Chiến dịch bắt đầu bằng một loạt email spear-phishing được soạn thảo kỹ lưỡng, kèm theo tài liệu Office chứa macro VBA độc hại. Khi nạn nhân mở tệp, macro lập tức kích hoạt và triển khai Fooder, bộ nạp giai đoạn đầu của MuddyWater. Fooder có thể được side-load vào các tiến trình hợp pháp của Windows hoặc chạy như một tệp thực thi độc lập, giúp kẻ tấn công có điểm tựa vững chắc để xâm nhập sâu hơn.
Ngay sau khi chiếm được chỗ đứng, Fooder sử dụng Windows Cryptographic API với các hàm CryptHashData và CryptDeriveKey để tạo cặp khóa AES và RSA, sau đó giải mã các payload tiếp theo trực tiếp trong bộ nhớ. Việc giải mã trong RAM giúp các thành phần nhạy cảm không để lại dấu vết trên đĩa, làm công tác phân tích forensic trở nên khó khăn. Để né các môi trường sandbox, Fooder chủ động chèn các khoảng trễ và sử dụng đa luồng, khiến quá trình phân tích hành vi trở nên tốn thời gian và dễ bỏ sót.
Tiếp theo, Phoenix backdoor được kích hoạt. Phoenix tạo mã định danh duy nhất cho mỗi máy bằng cách băm tên người dùng và tên thiết bị, sau đó thiết lập kết nối HTTP tới các endpoint “ialive” và “register”. Phoenix hỗ trợ shell tương tác từ xa, cho phép thay đổi thời gian chờ và thực hiện truyền tệp một cách bí mật. Song song, nhóm triển khai BugSleep backdoor giao tiếp qua TCP, mã hóa lệnh bằng XOR đơn giản và thiết lập dịch vụ bám trụ để duy trì quyền kiểm soát lâu dài.
Bộ công cụ của MuddyWater còn bao gồm các tiện ích in-memory như LiteInject dùng để chèn mã vào tiến trình tin cậy nhằm né các cơ chế kiểm soát ứng dụng. Các module CannonRat và UDPGangster hỗ trợ mở rộng hoạt động trinh sát và di chuyển ngang trong mạng nội bộ thông qua kênh UDP, giúp nhóm thu thập thông tin đầy đủ trước khi tiến hành giai đoạn khai thác sâu hoặc đánh cắp dữ liệu.
Những IP thuộc dải Cloudflare, như 104.21.81.7 và 172.67.136.150, đóng vai trò “lá chắn”, khiến lưu lượng độc hại trông không khác gì truy cập web hợp pháp. Backend server chạy các framework Python nhẹ như Werkzeug (cho StealthCache) và Uvicorn (cho Phoenix), đôi khi trả về phản hồi 503 giả để đánh lạc hướng hệ thống quét tự động. Điều khiến các đội SOC đau đầu nhất là hạ tầng này thường bị gỡ bỏ chỉ vài ngày sau khi hoàn tất một đợt tấn công, để lại rất ít dấu vết.
Về phía giám sát mạng, cần baseline lưu lượng HTTP/HTTPS ra ngoài, săn tìm các bất thường liên quan đến tên miền ẩn sau Cloudflare, và liên tục cập nhật IOC vào hệ thống SIEM để chủ động truy vết. Đồng thời, hợp tác với nhà cung cấp threat intelligence nhằm theo dõi đăng ký tên miền mới và mẫu phát hành chứng chỉ sẽ giúp phát hiện sớm và ngăn chặn các đợt tấn công kế tiếp của MuddyWater.
Chiến dịch bắt đầu bằng một loạt email spear-phishing được soạn thảo kỹ lưỡng, kèm theo tài liệu Office chứa macro VBA độc hại. Khi nạn nhân mở tệp, macro lập tức kích hoạt và triển khai Fooder, bộ nạp giai đoạn đầu của MuddyWater. Fooder có thể được side-load vào các tiến trình hợp pháp của Windows hoặc chạy như một tệp thực thi độc lập, giúp kẻ tấn công có điểm tựa vững chắc để xâm nhập sâu hơn.
Ngay sau khi chiếm được chỗ đứng, Fooder sử dụng Windows Cryptographic API với các hàm CryptHashData và CryptDeriveKey để tạo cặp khóa AES và RSA, sau đó giải mã các payload tiếp theo trực tiếp trong bộ nhớ. Việc giải mã trong RAM giúp các thành phần nhạy cảm không để lại dấu vết trên đĩa, làm công tác phân tích forensic trở nên khó khăn. Để né các môi trường sandbox, Fooder chủ động chèn các khoảng trễ và sử dụng đa luồng, khiến quá trình phân tích hành vi trở nên tốn thời gian và dễ bỏ sót.
Mô-đun tấn công đa tầng trong bộ nhớ
Khi quá trình giải mã hoàn tất, StealthCache backdoor được nạp trực tiếp vào bộ nhớ. Backdoor này giao tiếp qua HTTPS ẩn sau Cloudflare và sử dụng giao thức pseudo-TLV tùy chỉnh để kiểm tra tiến trình, khai thác Windows prompt injection nhằm đánh cắp thông tin đăng nhập và âm thầm trích xuất dữ liệu. StealthCache còn tận dụng Alternate Data Stream có tên “wtfbbq” để xóa dấu vết, tránh bị phát hiện bởi các công cụ antivirus dựa trên heuristic.Tiếp theo, Phoenix backdoor được kích hoạt. Phoenix tạo mã định danh duy nhất cho mỗi máy bằng cách băm tên người dùng và tên thiết bị, sau đó thiết lập kết nối HTTP tới các endpoint “ialive” và “register”. Phoenix hỗ trợ shell tương tác từ xa, cho phép thay đổi thời gian chờ và thực hiện truyền tệp một cách bí mật. Song song, nhóm triển khai BugSleep backdoor giao tiếp qua TCP, mã hóa lệnh bằng XOR đơn giản và thiết lập dịch vụ bám trụ để duy trì quyền kiểm soát lâu dài.
Bộ công cụ của MuddyWater còn bao gồm các tiện ích in-memory như LiteInject dùng để chèn mã vào tiến trình tin cậy nhằm né các cơ chế kiểm soát ứng dụng. Các module CannonRat và UDPGangster hỗ trợ mở rộng hoạt động trinh sát và di chuyển ngang trong mạng nội bộ thông qua kênh UDP, giúp nhóm thu thập thông tin đầy đủ trước khi tiến hành giai đoạn khai thác sâu hoặc đánh cắp dữ liệu.
Hạ tầng C2: “tàng hình” sau Cloudflare
Điểm đặc sắc trong chiến dịch là cách MuddyWater xây dựng hạ tầng chỉ huy-điều khiển (C2) cực kỳ khó lần vết. Nhóm đăng ký tên miền qua Namecheap, phát hành chứng chỉ TLS ngắn hạn từ Let’s Encrypt và Google Trust Services, sau đó triển khai máy chủ C2 trên AWS, DigitalOcean, M247, OVH và thậm chí cả Stark Industries.Những IP thuộc dải Cloudflare, như 104.21.81.7 và 172.67.136.150, đóng vai trò “lá chắn”, khiến lưu lượng độc hại trông không khác gì truy cập web hợp pháp. Backend server chạy các framework Python nhẹ như Werkzeug (cho StealthCache) và Uvicorn (cho Phoenix), đôi khi trả về phản hồi 503 giả để đánh lạc hướng hệ thống quét tự động. Điều khiến các đội SOC đau đầu nhất là hạ tầng này thường bị gỡ bỏ chỉ vài ngày sau khi hoàn tất một đợt tấn công, để lại rất ít dấu vết.
Bài học cho phòng thủ
Trước sự tinh vi của chiến dịch, các tổ chức cần siết chặt chính sách bảo mật: vô hiệu hóa macro VBA qua Group Policy, áp dụng whitelisting cho executable và trang bị EDR có khả năng nhận diện thao túng Alternate Data Stream.Về phía giám sát mạng, cần baseline lưu lượng HTTP/HTTPS ra ngoài, săn tìm các bất thường liên quan đến tên miền ẩn sau Cloudflare, và liên tục cập nhật IOC vào hệ thống SIEM để chủ động truy vết. Đồng thời, hợp tác với nhà cung cấp threat intelligence nhằm theo dõi đăng ký tên miền mới và mẫu phát hành chứng chỉ sẽ giúp phát hiện sớm và ngăn chặn các đợt tấn công kế tiếp của MuddyWater.
Theo Cyber Press