Lumma, một mã độc Lumma đánh cắp thông tin phát triển bằng C++ tinh vi, đã gia tăng mức độ phổ biến trong những năm gần đây. Nó gây ra rủi ro đáng kể cho cả cá nhân và tổ chức bằng cách trích xuất thông tin rò rỉ nhạy cảm như thông tin đăng nhập trình duyệt, ví tiền điện tử và tệp cá nhân.
Được phát triển từ tháng 12 năm 2022, Lumma được phân phối dưới dạng Malware-as-a-Service (MaaS) qua các kênh Telegram với các gói đăng ký theo cấp độ. Mã độc Lumma dựa vào các nhà môi giới truy cập ban đầu (IABs) để tạo điều kiện xâm nhập. Các IABs thường khai thác thông tin đăng nhập bị rò rỉ hoặc các chiến dịch lừa đảo.
Theo ENISA, các IABs tạo thành một liên kết quan trọng trong chuỗi tấn công hiện đại. Họ thường kết nối với các hoạt động mã độc tống tiền (ransomware).
Mặc dù có một cuộc trấn áp lớn vào năm 2025 bởi Bộ Tư pháp Hoa Kỳ, Europol và Trung tâm Tội phạm Mạng của Nhật Bản, nhưng mã độc Lumma vẫn tồn tại. Cuộc trấn áp đã thu giữ cơ sở hạ tầng của Lumma và xác định hơn 394.000 thiết bị Windows bị nhiễm trong khoảng thời gian từ tháng 3 đến tháng 5 năm 2025, theo Microsoft Threat Intelligence.
Phần mềm độc hại này tiếp tục thích nghi các chiến thuật để né tránh sự phát hiện. Trạng thái hoàn toàn không thể phát hiện (FUD) của nó được duy trì thông qua việc đóng gói bắt buộc. Điều này đảm bảo payload cốt lõi vẫn bị che khuất cho đến khi thực thi. Điều này làm nổi bật bản chất phát triển của các mối đe dọa đánh cắp thông tin trong bối cảnh an ninh mạng.
Phân tích Kỹ thuật mã độc Lumma
Mẫu mã độc Lumma được phân tích vào tháng 2 năm 2025 bắt đầu bằng một loader .NET/C# 32-bit. Loader này xác minh cấu trúc PE của chính nó bằng cách kiểm tra các header DOS và PE. Sau đó, nó giải nén và giải mã một phần `.CODE`.
Quá trình này sử dụng hàm `VirtualProtect` để cấp quyền RWX (đọc, ghi, thực thi). Hàm `CallWindowProcA` được sử dụng để thực thi payload đã giải mã.
Giai đoạn này tạo ra một tiến trình bị tạm dừng thông qua `CreateProcessW` với cờ `CREATE_SUSPENDED`. Bộ nhớ sau đó được cấp phát bằng `VirtualAllocEx` trong tiến trình đích.
Các payload đã giải mã được inject bằng cách ánh xạ các section PE (.text, .rdata, .data, .reloc) vào tiến trình đích. Việc này được thực hiện bằng `WriteProcessMemory`. Sau đó, `SetThreadContext` và `ResumeThread` hoàn tất quá trình injection từ xa.
Giai đoạn Unpacked và Cơ chế Evasion
Theo báo cáo từ WithSecure Labs, giai đoạn unpacked của mã độc Lumma sử dụng kỹ thuật làm phẳng luồng điều khiển (control flow flattening). Nó cũng sử dụng Heaven’s Gate để chuyển đổi giữa chế độ x86 và x64 cho các cuộc gọi hệ thống (syscalls) như `NtRaiseHardError`. Chi tiết kỹ thuật có sẵn tại WithSecure.
Các kiểm tra tiền thực thi (pre-flight checks) bao gồm xác minh tính toàn vẹn file dựa trên một chữ ký 20-byte. Mã độc Lumma cũng kiểm tra ngôn ngữ hệ điều hành và loại trừ các hệ thống tiếng Nga thông qua `GetUserDefaultUILanguage`.
Sau các kiểm tra ban đầu, mã độc Lumma giải quyết các API từ các thư viện như ntdll, kernel32, user32, ws2_32 và winhttp. Việc này được thực hiện thông qua phân tích PEB và tìm kiếm dựa trên hash.
Các miền Command-and-Control (C2) được giải mã bằng thuật toán ChaCha20. Lumma sau đó khởi tạo các yêu cầu POST qua HTTPS cổng 443 sử dụng các hàm WinHttp. Các yêu cầu này, ví dụ như “act=life”, được dùng để lấy cấu hình.
Chuỗi tấn công đa giai đoạn này né tránh các giải pháp EDR (Endpoint Detection and Response) hiệu quả. Nó tập trung vào các mẫu hành vi thay vì các chỉ số nguyên tử đơn lẻ. Điều này được ghi nhận trong phương pháp phát hiện tấn công nhiều lớp của WithSecure.
Chỉ số Compromise (IOC) quan sát được
Mặc dù các IOC cụ thể như hash tệp hoặc địa chỉ IP C2 không được cung cấp trong phân tích, các chỉ báo hành vi sau đây đã được quan sát liên quan đến mã độc Lumma:
- Giao tiếp C2 sử dụng các yêu cầu POST qua HTTPS cổng 443.
- Sử dụng chuỗi “act=life” trong các yêu cầu POST để lấy cấu hình.
- Sử dụng `VirtualProtect`, `CallWindowProcA`, `CreateProcessW` (với `CREATE_SUSPENDED`), `VirtualAllocEx`, `WriteProcessMemory`, `SetThreadContext`, `ResumeThread` cho quy trình tiêm payload.
- Kiểm tra ngôn ngữ hệ điều hành, tránh các hệ thống tiếng Nga.
Đặc điểm và Khuyến nghị Phòng ngừa
Các chiến thuật của mã độc Lumma nhấn mạnh nhu cầu săn lùng mối đe dọa nâng cao. Nó đặc biệt chú trọng giám sát hành vi, vượt trội so với các biện pháp phòng thủ dựa trên chữ ký.
Việc thuê ngoài các loader và yêu cầu đóng gói giúp kéo dài trạng thái FUD của Lumma. Việc trích xuất dữ liệu trình duyệt cho phép di chuyển ngang (lateral movement) và mạo danh người dùng. Điều này đặt ra thách thức lớn cho an ninh mạng.
Các nhà phòng thủ cần theo dõi sát sao các TTP (Tactics, Techniques, and Procedures) đang phát triển của Lumma. Các TTP này bao gồm thao túng tiêu đề PE và lạm dụng syscall. Việc này giúp phá vỡ các infostealer tương tự.
Đảm bảo quản lý thông tin xác thực mạnh mẽ là điều cần thiết. Đồng thời, triển khai bảo mật endpoint vững chắc cũng rất quan trọng. Điều này giúp giảm thiểu các vụ vi phạm do IAB tạo điều kiện và bảo vệ hệ thống khỏi các mối đe dọa từ mã độc Lumma.










