Menu bài viết
PAYLOAD #1 : AZORult Stealer
Trong phần này, chúng ta sẽ xem xét bản payload đầu tiên, đó là AZORult Stealer . Bây giờ chúng ta liệt kê các module được load bởi mã độc này và lấy một mẫu làm ví dụ xem xét .
Lưu ý rằng danh sách module trên là danh sách đầy đủ và chỉ khả dụng sau khi tiến trình tải hoàn tất . Khi chúng ta bắt đầu phân tích , danh sách này sẽ giảm bớt đáng kể.
Mã độc sẽ trích xuất một số dữ liệu quan trọng về máy nạn nhân. Thông tin này sau đó được gửi tới C2(CnC sever) của mã độc.
Sau đây chúng ta sẽ xem đoạn mã của hàm GetUserName
Trong một số phần khác , mã độc sẽ cố gắng đánh cắp dữ liệu trình duyệt ( cụ thể là login ….) .
Hình ảnh sau đây sẽ show cho bạn thấy đoạn gọi hàm và giá trị stack . Chúng ta sẽ xem xét một số thông tin được lấy làm mục tiêu .
Để kết nối với C2 , qúa trình này sẽ gọi hàm InternetConnectURL và chúng ta có thể thấy giá trị URL được chuyển vào stack. Chúng ta có thể bắt gói IOC tại điểm này .
Bước tiếp theo là chuẩn hóa URL để chúng có thể truyền đi vật lý (nhị phân đường truyền) để thiết lập kết nối đến C2.
Tiếp theo đó là việc gọi hàm chạy proxy trước khi gọi lệnh connect . InternetInitializeAutoProxyDll sẽ refresh trạng thái (nội bộ) của thông tin cấu hình proxy từ những gì đã đăng ký .
Bây giờ chúng ta hãy xem xét nhanh hàm crypto – được gọi để mã hóa dữ liệu trước khi gửi về lại C2 .Mã độc sử dụng cặp hàm mã hóa ,nhưng code trông có vẻ không đầy đủ vì một số hàm chính không được gọi / thực thi . Không có hàm băm được tạo ra hay nhân đôi , các hàm cryptEncrypt không được gọi ,khóa không bị phá hủy trong đoạn cuối và toàn bộ đoạn mã hóa sẽ không được sinh ra . Những hàm Crypto có thể vẫn thực thi theo cách chúng được thể hiện trong code nhưng không thể tái sử dụng khi có vấn đề . Sẽ rất thú vị nếu các coder đang cố gắng chuyển sang mã hóa AES đầy đủ cho các bản phát hành trong tương lai như chúng ta đã thấy trong trường hợp của Emotet.
CRYPTACQUIRECONTEXT
Hàm này được gọi để cung cấp CSP (cryptographic service provider ) .
CSP sẽ return và chuyển sang stack dưới dạng biến .
Giá trị trả về được đổ vào bộ nhớ .
Xem thêm : Giới thiệu kỹ thuật giấu tin trong ảnh Steganography
CRYPTGENRANDOM
Hàm CryptGenRandom được gọi để tạo ra một khóa ngẫu nhiên .
Thông tin mạng bây giờ được chuyển vào stack ,sau đó đổ vào bộ nhớ trống .Chú ý rằng dữ liệu đó đoạn định dạng nhỏ phía cuối mã .
Mã độc cũng đọc cookie khả dụng trên ổ đĩa .
Một ví dụ về cookie của bing.com
Mã độc cố gắng gửi dữ liệu về C2 sử dụng request POST . Đây là cách request được xây dựng .
Các giá trị được chuyển vào bộ nhớ, từng bước sử dụng chức năng ‘memcpy’
C2 trả lời bằng chuỗi được mã hóa base64 để phác thảo thông tin mà mã độccố gắng lấy cắp (Trình duyệt, tệp tệp, tệp tin vv).
NHẬN XÉT
Mã độc đính kèm với vô số các tệp DLL được lưu trong mục C:\Users\Administrator\AppData\Local\Temp\2fda.Sau khi thực thi thành công , quá trình này sinh ra một file cmd.exe , file mà sẽ tạo ra them một file timeout.exe . Cả hai process này được cho là không độc hại.