Phân tích bộ công cụ tấn công mạng của nhóm tin tặc APT36
TỔNG QUAN VỀ NHÓM APT36
APT36 là nhóm tin tặc đã hoạt động từ năm 2013 và chủ yếu nhắm vào các cơ quan chính phủ, quốc phòng và giáo dục của Ấn Độ. Nhóm này thường tiến hành các cuộc tấn công mạng đánh cắp thông tin xác thực và phân phối phần mềm độc hại để hoạt động gián điệp và thu thập tình báo. APT36 sử dụng:
- Các công cụ quản trị từ xa được xây dựng tùy chỉnh nhắm mục tiêu trên hệ điều hành Windows.
- Các công cụ gián điệp mạng được phát triển trên nền tảng Python với mục đích cụ thể vào Windows và Linux.
- Các framework C2 (Command and control) mã nguồn mở được vũ khí hóa, ví dụ như công cụ “Mythic”.
- Trình cài đặt bị Trojan hóa của các ứng dụng trong Chính phủ Ấn Độ như xác thực đa yếu tố KAVACH.
- Ứng dụng Android độc hại bị Trojan hóa.
- Các trang web lừa đảo thông tin xác thực nhắm mục tiêu vào các quan chức Chính phủ Ấn Độ.
PHÂN TÍCH ELIZARAT - RAT WINDOWS MỚI
ThreatLabz đã gán biệt danh “ElizaRAT” cho backdoor mới trên Windows được APT36 sử dụng, nó được phân phối dưới dạng tệp nhị phân .NET được gửi bên trong các tệp lưu trữ được bảo vệ bằng mật khẩu và lưu trữ trên các liên kết Google Drive. Trong quá trình phân tích mối đe dọa, nhóm nghiên cứu đã thu thập một số mẫu ElizaRAT và có chung những đặc điểm sau:
- Chúng đều là các tệp nhị phân .NET được biên dịch dưới dạng Control Panel Applet (CPL) và sử dụng phần mở rộng tệp “.cpl”. ThreatLabz tin rằng, đây là lần đầu tiên APT36 vũ khí hóa định dạng tệp CPL.
- Các tệp nhị phân có kích thước lớn, từ 4MB đến 16MB.
- Framework Costura .NET đã được sử dụng để nhúng .NET thiết yếu bên trong phần mềm độc hại dẫn đến thay đổi kích thước nhị phân.
- API Telegram đã được sử dụng để liên lạc C2.
Vì RAT Windows này đến điểm cuối dưới dạng một Applet của Control Panel, nên phương thức đầu tiên được gọi khi thực thi là “CplApplet()”. Phương thức này chuyển quyền điều khiển sang “Program().Main()” để gọi một tác vụ không đồng bộ - “MainAsync()”. Bên trong tác vụ này, tất cả các hoạt động độc hại quan trọng đều được thực hiện.
Hình 1 dưới đây hiển thị “Program().Main()” khởi động các tiến trình độc hại trên các điểm cuối.
Hình 1. Phương thức MainAsync() được sử dụng để bắt đầu các hoạt động độc hại trên điểm cuối
Một số thao tác chính được thực hiện bởi ElizaRAT là:
1. Khởi tạo bot Telegram (với “Communication.ConnectMe()”) bằng cách sử dụng mã thông báo bot Telegram tích hợp và thiết lập bot này ở chế độ thăm dò ý kiến để nhận lệnh từ tác nhân đe dọa.
2. Tạo một thư mục: “%appdata%\TextSource”.
3. Tạo UUID và tên người dùng dành riêng cho máy bị nhiễm.
4. Nhúng và hiển thị tệp PDF mồi nhử cho người dùng.
5. Duy trì sự tồn tại trên máy bị nhiễm.
6. Tìm nạp thông tin chi tiết về phần mềm chống virus đang chạy trên máy và gửi thông tin đến bot Telegram do tin tặc kiểm soát.
Tạo mã định danh duy nhất
UUID và tên người dùng được tạo cho mỗi máy bị nhiễm để tin tặc có thể nhận dạng duy nhất nạn nhân. Nó sử dụng Công cụ quản lý Windows (WMI) để tìm nạp CPUID và UUID của máy, đồng thời sử dụng cả hai thông tin này để tạo UUID và tên người dùng dành riêng cho máy bị nhiễm
Sự khác biệt duy nhất giữa UUID được tạo và tên người dùng là phần mở rộng “.cookie”. Tên người dùng là UUID không có phần mở rộng “.cookie”.
Hình 2 hiển thị mã liên quan được sử dụng để tạo các giá trị này.
Hình 2. Phương thức getusername() được sử dụng để tạo UUID và tên người dùng nhằm xác định máy bị nhiễm
Định dạng lệnh C2
Vì tin tặc sử dụng cùng một bot Telegram để quản lý nhiều điểm cuối bị nhiễm, nên chúng sử dụng định dạng lệnh C2 cụ thể để đồng bộ hóa các hoạt động và đảm bảo rằng một lệnh nhất định chỉ thực thi trên điểm cuối nào đó. Định dạng lệnh C2 bao gồm: “<lệnh>*<tên người dùng>*<đối số>”.
Tất cả các lệnh C2 được xử lý trong câu lệnh “switch-case” bằng phương thức “Bot_OnMessage()” bên trong lớp “Communicate”. Trước khi thực thi bất kỳ lệnh nào, RAT trích xuất tên người dùng từ lệnh C2 và so sánh nó với tên người dùng của máy bị nhiễm. Lệnh chỉ được thực thi thành công nếu cả hai giá trị đều khớp.
Duy trì sự tồn tại trên máy bị nhiễm
Để duy trì sự tồn tại trên máy bị nhiễm, bot tạo một tệp lối tắt Windows (LNK) trong thư mục “Windows Startup”. Hình 3 hiển thị mã được sử dụng để tạo tệp lối tắt này. Tên của tệp được tìm nạp từ cài đặt “orig_name” được xác định trong phần cấu hình. Trong trường hợp này, tệp lối tắt có tên “TextSource.lnk”.
Hình 3. Phương thức buildforts() được sử dụng để tạo một tệp lối tắt Windows trong thư mục Startup để duy trì
Mô tả của tệp lối tắt này được đặt thành “Text Editing APP for Windows - Ứng dụng chỉnh sửa văn bản cho Windows” để ngụy trang thành một ứng dụng chỉnh sửa văn bản, khiến nó có vẻ vô hại. Ngoài ra, dòng lệnh đích được thiết lập để thực thi Applet bằng cách sử dụng “rundll32”.
Hiển thị nội dung giả mạo
Phương thức “dosome()” được định nghĩa trong lớp Program có nhiệm vụ hiển thị tệp PDF giả mạo cho người dùng, được sử dụng với mục đích đánh lạc hướng nạn nhân và làm cho có vẻ như đã xảy ra lỗi khi mở tệp. Tệp mồi nhử này hiện diện bên trong phần tài nguyên của tệp nhị phân .NET.
Hình 4. Tệp PDF giả mạo hiển thị cho người dùng
Các tệp mục nhập máy tính để bàn Linux độc hại là vectơ tấn công mới
Việc APT36 sử dụng các tệp mục nhập máy tính để bàn (Desktop Entry Files) Linux làm vectơ tấn công chưa từng được ghi nhận trước đây.
Lần đầu tiên các nhà nghiên cứu phát hiện hình thức tấn công này là một sự việc xảy ra vào tháng 5/2023, khi một trang web lừa đảo thông tin xác thực là “email9ov[.]in” nhắm mục tiêu vào các quan chức Chính phủ Ấn Độ bằng cách giả dạng cổng đăng nhập của Trung tâm Tin học quốc gia Ấn Độ (NIC). ThreatLabz nhận thấy rằng trang web lưu trữ một trình chuyển hướng để phân phối các kho lưu trữ ZIP chứa các tệp mục nhập máy tính để bàn Linux độc hại.
Email được liên kết với các liên kết Google Drive độc hại
ElizaRAT được phát tán bằng các liên kết Google Drive độc hại. Tận dụng ID Google Drive từ các liên kết, các nhà nghiên cứu đã thu thập thông tin bổ sung về chủ sở hữu Google Drive và địa chỉ email tương ứng.
Hình 5. Chi tiết liên kết Google Drive tiết lộ thông tin chủ sở hữu
Địa chỉ email và tên chủ sở hữu được liên kết với liên kết Google Drive lần lượt là: “nandk1689@gmail.com” và “Nand Kishore”. Vì “Nand Kishore” là cái tên phổ biến ở Ấn Độ nên chủ sở hữu giả mạo đã được thêm vào để ám chỉ tác nhân đe dọa đến từ Ấn Độ chứ không phải Pakistan - nơi bắt nguồn của APT36.
CÁC CÔNG CỤ GIÁN ĐIỆP MẠNG DỰA TRÊN PYTHON MỚI NHẮM MỤC TIÊU VÀO LINUX
Trong quá trình phân tích, các nhà nghiên cứu cũng phát hiện ra các tệp nhị phân ELF dựa trên Python mới được APT36 sử dụng cho mục đích gián điệp mạng. Các tệp nhị phân này nhắm mục tiêu vào môi trường Linux trong các tổ chức Chính phủ Ấn Độ và được đặt tên có vẻ giống như các dịch vụ hệ thống Linux hợp pháp.
GLOBSHELL - Công cụ trên Linux lọc tệp được xây dựng tùy chỉnh
Công cụ gián điệp được các nhà nghiên cứu phân tích là tệp tin: “rcu-tasks-kthread”. Tệp nhị phân ELF này được biên dịch bằng PyInstaller. ThreatLabz đã trích xuất mã Python đã dịch ngược để hiểu chức năng của nó.
Hình 6. Mã dịch ngược của công cụ gián điệp mạng dựa trên Python loại 1
Các thao tác chính được thực hiện bởi tập lệnh này như sau:
1. Tập lệnh chứa danh sách các phần mở rộng tệp được quét đệ quy trong thư mục “/media”. Danh sách này bao gồm tệp hình ảnh, Microsoft Office, LibreOffice và PDF.
2. Sau khi danh sách các tệp được tạo, nó sẽ sao chép các tệp vào một thư mục ẩn trong đường dẫn: “~/.config/bossconfig/usnconfig/”.
3. Nội dung bên trong thư mục này được lưu trữ vào một tệp ZIP có tên “usnconfig.zip”.
4. Dữ liệu được lọc sang URL “hxxp://baseuploads[.]com/myf/test.php” trong yêu cầu HTTP POST. Cùng với tệp ZIP, tên người dùng, tên máy chủ và dấu thời gian hiện tại của máy sẽ được gửi.
Các nhà nghiên cứu đã tìm thấy một tệp nhị phân ELF khác có tên “mm-precpu-wq” có chức năng tương tự. Tuy nhiên, tệp này bao gồm một danh sách chi tiết hơn về các phần mở rộng tệp và đường dẫn tệp được xác định trước mà nó quét để lọc các tệp. Ngoài thư mục “/media”, tệp nhị phân này còn tìm kiếm các đường dẫn sau: “/home/{user}/Downloads/**/”; “/home/{user}/Documents/**/”; “/home/{user}/Desktop/**/”; “/home/{user}/Pictures/**/”; “/home/{user}/.local/share/Trash/**/”.
PYSHELLFOX - Công cụ đánh cắp phiên Firefox được xây dựng tùy chỉnh
Loại công cụ gián điệp mạng thứ hai có chức năng đánh cắp thông tin chi tiết về phiên trình duyệt Firefox của người dùng nếu người dùng mở tab trình duyệt với bất kỳ tiêu đề hoặc URL nào sau đây: “email.gov.in/#”; “inbox”; “web.whatsapp.com”.
Như có thể thấy, các tin tặc quan tâm đến việc lấy cắp thông tin chi tiết về hộp thư đến của người dùng cũng như các cuộc trò chuyện WhatsApp.
Hình 7. Mã dịch ngược của công cụ gián điệp mạng dựa trên Python loại 2
Công cụ gián điệp được các nhà nghiên cứu phân tích là tệp tin: “events-highpri”. Các thao tác chính được thực hiện bởi tập lệnh này như sau:
1. Tìm nạp danh sách tất cả các phiên Firefox trực tiếp bằng cách quét đường dẫn “.mozilla/firefox/*default*/sessionstore-backups/recovery.js*”.
2. Đối với mỗi tệp trong danh sách, mã sẽ định vị tệp chứa magic byte, “mozLz40\x00” dưới dạng 8 byte đầu tiên.
3. Sử dụng tính năng giải nén LZ4 để trích xuất dữ liệu JSON từ tệp magic byte. Dữ liệu JSON này có thông tin chi tiết về các cửa sổ và tab trong phiên Firefox trực tiếp hiện tại.
4. Lặp lại mọi tab trong mọi cửa sổ Firefox, trích xuất tiêu đề và URL từ mỗi tab. Sau đó, mã sẽ kiểm tra xem chúng có khớp với bất kỳ giá trị nào trong danh sách xác định trước được đề cập trước đó hay không.
5. Nếu và khi tìm thấy kết quả khớp, mã sẽ lưu trữ nội dung thư mục “~/.mozilla/firefox” vào kho lưu trữ ZIP “/dev/shm/firefox.zip”.
6. Tải kho lưu trữ ZIP lên “hxxp://baseuploads[.]com/myf/test.php” trong yêu cầu HTTP POST. Ngoài ra, mã còn tải lên tên người dùng, tên máy chủ và dấu thời gian hiện tại.
VECTƠ TẤN CÔNG MỚI
Theo các nhà nghiên cứu, có hai lý do APT36 bổ sung thêm các vectơ tấn công mới cho môi trường Linux:
Thứ nhất, các hệ điều hành dựa trên Linux được sử dụng rộng rãi trong các cơ quan, tổ chức Chính phủ Ấn Độ. Hệ điều hành dựa trên Debian, BOSS (giải pháp phần mềm trực tuyến Bharat) do CDAC phát triển, được nhiều cơ quan các bộ, bang khác nhau và thậm chí cả lực lượng quân đội Ấn Độ sử dụng.
Thứ hai, mở rộng sang các ngành liên quan đến chính phủ: Thông báo gần đây của Chính phủ Ấn Độ giới thiệu Maya OS, một hệ điều hành dựa trên Debian Linux sẽ thay thế Windows trong các lĩnh vực chính phủ và quốc phòng. Do đó, hiện có động lực đáng kể để APT36 và các tác nhân đe dọa quốc gia khác, được biết đến với việc nhắm mục tiêu vào Ấn Độ, kết hợp các vectơ tấn công mới và payload Linux vào kho kho vũ khí của họ. Việc sử dụng phổ biến các hệ thống dựa trên Linux ở nhiều ngành dọc hơn đồng nghĩa với việc có nhiều nạn nhân tiềm năng hơn.
CƠ SỞ HẠ TẦNG TÁC NHÂN ĐE DỌA
Trong các cuộc tấn công APT36 được quan sát kể từ tháng 4/2023, các tin tặc đã thực hiện các kỹ thuật ẩn mình để che giấu mọi mối liên hệ với Pakistan bằng cách thể hiện như cơ sở hạ tầng được kiểm soát bởi các tin tặc từ Ấn Độ. Các nhà nghiên cứu đánh giá rằng đây không phải là sự trùng hợp ngẫu nhiên mà là một chiến thuật đánh lừa có chủ đích được APT36 sử dụng để tránh các cuộc tấn công bị quy kết cho Pakistan.
Đăng ký tên miền C2
Bắt đầu từ tháng 6/2023, các tin tặc bắt đầu đăng ký một số tên miền trên máy chủ có địa chỉ IP 153[.]92[.]220[.]59, địa chỉ IP này có liên quan đến Hostinger ASN.
Đối với hầu hết các tên miền, các tin tặc đã thực hiện các biện pháp thích hợp để đảm bảo quốc gia đăng ký là Ấn Độ (IN). Tuy nhiên, đối với một trong các tên miền như “admindesk[.]in”, có thể thấy quốc gia đăng ký là PK (Pakistan).
Hình 8. So sánh thông tin WHOIS từ hai tên miền do tin tặc đăng ký có liên quan đến cùng một chiến dịch và cơ sở hạ tầng
Trong tất cả các cuộc tấn công mà ThreatLabz đã quan sát được, tên miền cấp cao nhất (TLD) luôn được đặt thành “.in” - tương ứng với quốc gia Ấn Độ. Một chiến thuật khác được APT36 sử dụng trong một số trường hợp là ngụy trang các URL độc hại thành địa chỉ web chính thức liên quan đến Chính phủ Ấn Độ.
Chồng chéo cơ sở hạ tầng C2
Có sự chồng chéo về cơ sở hạ tầng C2 giữa chiến dịch mới nhất và các trường hợp tấn công trước đó của APT36. Vào năm 2022, máy chủ có địa chỉ IP là 153[.]92[.]220[.]48 đã được sử dụng để lưu trữ các tên miền dưới đây được APT36 đăng ký: “Govscholarships[.]in”; “Kavach-apps[.]com”; “Kavach-app[.]in”; “Rodra[.]in”; “ksboard[.]in”.
Trong trường hợp mới nhất, một máy chủ có địa chỉ IP là 153[.]92[.]220[.]59 đã được sử dụng để lưu trữ các tên miền C2. Cả hai địa chỉ IP đều thuộc cùng một mạng con: 153[.]92[.]220[.]0/24. Các địa chỉ IP này thuộc về ASN - AS 47583 (Hostinger) đã bị APT36 lạm dụng trước đây.
GIẢ MẠO YOUTUBE TRÊN ANDROID
Mới đây nhất, các nhà nghiên cứu tại SentinelLab đã phát hiện một chiến dịch được thực hiện bởi APT36 khi các tin tặc sử dụng ít nhất ba ứng dụng Youtube trên Android giả mạo để lây nhiễm Trojan truy cập từ xa vào các thiết bị.
Có tên gọi là “CapraRAT”, sau khi phần mềm độc hại được cài đặt trên thiết bị của nạn nhân, nó có thể thu thập dữ liệu, sửa đổi tệp tin hệ thống, bắt đầu cuộc gọi điện thoại, gửi và chặn tin nhắn SMS, chụp ảnh màn hình, ghi lại âm thanh và video hoặc truy cập thông tin liên lạc nhạy cảm khác, về cơ bản nó hoạt động giống như một công cụ phần mềm gián điệp.
Các gói APK độc hại được phân phối bên ngoài Google Play, cửa hàng ứng dụng chính thức của Android, vì vậy rất có thể nhiều nạn nhân đã tải xuống và cài đặt chúng. Các gói APK này đã được tải lên VirusTotal vào tháng 4, tháng 7 và tháng 8/2023, trong đó hai tệp APK được gọi là “YouTube” và một tệp APK là “Piya Sharma”.
Trong quá trình cài đặt, các ứng dụng phần mềm độc hại yêu cầu nhiều quyền nguy hiểm, một số quyền mà nạn nhân có thể xử lý mà không nghi ngờ gì đối với ứng dụng truyền phát phương tiện như YouTube. Giao diện của các ứng dụng giả mạo độc hại cố gắng bắt chước ứng dụng YouTube thực của Google, nhưng nó giống một trình duyệt web hơn là ứng dụng gốc do sử dụng WebView từ bên trong ứng dụng bị Trojan hóa để tải dịch vụ. Ngoài ra, nó còn thiếu một số tính năng có sẵn trên nền tảng thực tế.
Hình 9. Giao diện của ứng dụng giả mạo
SentinelLabs cho biết các biến thể CapraRAT được phát hiện trong chiến dịch gần đây có những cải tiến về tính năng so với các mẫu được phân tích trước đó, cho thấy sự phát triển liên tục. Trong khi đó, các địa chỉ máy chủ C2 mà CapraRAT giao tiếp được mã hóa cứng trong tệp cấu hình của ứng dụng và được liên kết với các hoạt động của APT36 hoạt động trước đây.
KẾT LUẬN
Nhóm nghiên cứu của ThreatLabz đang tích cực giám sát cơ sở hạ tầng C2 của APT36 - được sử dụng để đăng ký các tên miền mới trong các cuộc tấn công nhắm vào hệ điều hành Windows và cả Linux. Việc APT36 giới thiệu các định dạng tệp, vectơ tấn công và backdoor mới cho kho vũ khí tấn công cho thấy rằng chúng đang tích cực cập nhật các chiến thuật, kỹ thuật và quy trình (TTP) của mình.
Hồng Đạt