Trong thời gian vừa qua, các hãng truyền thông đồng loạt đưa tin về nhóm tấn công APT có tên Platinum. Từ tháng 6/2018, nhóm chuyên gia của Kaspersky đã phát hiện ra các mẫu mã độc sử dụng kỹ thuật ẩn mã, lan rộng khắp Nam Á và Đông Nam Á, nhắm vào các tổ chức, cơ quan ngoại giao, chính phủ và quân đội. Bài viết sẽ giới thiệu một số nội dung của chiến dịch tấn công APT này.
Nhóm chuyên gia của Kaspersky gồm
Andrey Dolgushev, Vasily Berdnikov, Ilya Pomerantsev (AVI) cho rằng, chiến dịch
mã độc của nhóm Platinum đã bắt đầu từ năm 2012, nổi bật với cách tiếp cận nhiều
giai đoạn và được đặt tên là EasternRoppels. Đứng đằng sau chiến dịch này được
cho là nhóm tấn công APT Platinum nổi tiếng, đã sử dụng một kỹ thuật ẩn mã
(steganography) tinh vi, chưa từng thấy trước đây để che giấu các hành vi trao
đổi thông tin.
Ở giai đoạn đầu, tin tặc sử dụng
các đăng ký Windows Management Instrumentation (WMI) để thực thi trình tải
PowerShell khởi đầu, sau đó tải xuống cửa hậu PowerShell khác. Nhóm AVI đã thu
thập nhiều tập lệnh WMI PowerShell khởi đầu và nhận thấy rằng chúng có các yếu
tố khác nhau bao gồm: địa chỉ IP ra lệnh và điều khiển (C&C) được mã định dạng
cứng (hardcoded), các khóa mã hóa, chuỗi mã hóa (salt) (khác nhau cho mỗi trình
tải khởi đầu) và giờ hoạt động (phần mềm độc hại chỉ hoạt động trong một khoảng
thời gian nhất định mỗi ngày). Các địa chỉ C&C nằm trên các dịch vụ lưu trữ
miễn phí và tin tặc đã sử dụng rất nhiều tài khoản Dropbox để lưu trữ trọng tải
và dữ liệu đánh cắp. Mục đích của cửa hậu PowerShell là thực hiện việc nhận dạng
ban đầu của một hệ thống vì nó hỗ trợ một bộ lệnh ngắn gồm: tải về, tải lên tệp
và thực thi mã lệnh PowerShell.
Vào thời điểm đó, nhóm AVI đang
điều tra một mối đe dọa khác mà họ cho rằng đây là giai đoạn thứ hai của cùng một
chiến dịch. Nhóm AVI đã tìm thấy một cửa hậu được hoạt động dưới dạng DLL như
nhà cung cấp dịch vụ tên (name space provider) WinSock để tự duy trì khi khởi động
lại. Cửa hậu này có cùng một số tính năng với cửa hậu PowerShell được mô tả ở
trên: có giờ hoạt động được mã cứng, sử dụng các tên miền miễn phí làm địa chỉ
C&C.... Cửa hậu này cũng có một vài tính năng riêng như có thể ẩn tất cả
các giao tiếp với máy chủ C&C bằng cách sử dụng ẩn mã bằng văn bản.
Sau khi phân tích sâu hơn, nhóm
AVI đã phát hiện ra hai mối đe dọa này có liên quan đến nhau. Hai cuộc tấn công
sử dụng cùng một tên miền để lưu trữ dữ liệu đánh cắp và một số nạn nhân đã bị
nhiễm cả hai loại mã độc cùng một lúc. Đáng chú ý, trong giai đoạn thứ hai, tất
cả các tệp thực thi được bảo vệ bằng chức năng mã hóa, che giấu mã độc
(crypter) theo thời gian thực. Sau khi giải mã được chúng, nhóm AVI đã tìm thấy
một cửa hậu khác chưa được phát hiện trước đó, có liên quan đến nhóm Platinum.
Cửa hậu ẩn mã
(steganography backdoor)
Cửa hậu nhị phân chính được cài đặt
bởi một trình “nhỏ giọt” (dropper) chuyên dụng để phát tán mã độc. Khi trình được
thực thi, nó sẽ giải mã các tệp được nhúng trong phần .arch.

Tiếp theo, nó tạo các thư mục để
cửa hậu hoạt động và lưu các tệp liên quan đến mã độc trong đó. Những đường dẫn
mà nó sử dụng giống của các phần mềm hợp pháp. Thông thường, mã độc truyền vào
hệ thống hai tệp: tệp cửa hậu và tệp cấu hình của nó.
Sau đó, trình nhỏ giọt bắt đầu thực
thi cửa hậu, cài đặt mã độc để kích hoạt cơ chế dai dẳng rồi tự gỡ bỏ chính nó
ra khỏi hệ thống. Tệp cấu hình luôn có phần mở rộng .cfg hoặc .dat
và chứa các tùy chọn được mã định dạng và mã hóa bằng AES-256 CBC như sau:

Trong đó, pr - là viết tắt
của cụm từ “Poll Retries”, chỉ định khoảng thời gian tính bằng phút sau
khi mã độc gửi yêu cầu các lệnh mới để thực thi tới máy chủ C&C; ht
- không sử dụng; sl - chỉ định ngày và giờ để mã độc bắt đầu thực thi. Tới
thời điểm được chỉ định, mã độc sẽ xóa tùy chọn này; opt - là viết tắt của
“Office Hours”, chỉ định giờ và phút trong ngày khi mã độc hoạt động; die
- là viết tắt của từ “Eradicate Days”, xác định mã độc sẽ hoạt động
trong máy tính của nạn nhân bao nhiêu ngày; Mục “p” liệt kê các địa chỉ
máy chủ C&C của mã độc; Mục “t” liệt kê các URL hợp pháp sẽ được sử
dụng để đảm bảo rằng máy tính được kết nối Internet.
Giai đoạn dai dẳng
Cửa hậu chính được hoạt động như
một thư viện liên kết động (DLL) và xuất một hàm với tên là “NSPStartup”. Sau
khi đưa cửa hậu này vào hệ thống, trình nhỏ giọt đăng ký cửa hậu là nhà cung cấp
không gian tên winsock2 với sự trợ giúp của hàm API WSCInstallNameSpace, rồi thực
thi nó bằng cách gọi hàm WSCEnableNSProvider.
Với quá trình cài đặt này, trong quá
trình khởi tạo quy trình “svchost -k netsvcs” khi khởi động hệ thống, nhà cung
cấp không gian tên đã đăng ký sẽ được tải vào không gian địa chỉ của quy trình,
đồng thời hàm NSPStartup sẽ được gọi.
Tương tác C&C
Sau khi được thực hiện, cửa hậu sẽ
so sánh thời gian hiện tại với các giá trị của Eradicate Days, ngày kích
hoạt và Office Hours và xác định các thông tin xác thực proxy hợp lệ
trong “Lưu trữ thông tin xác thực” và “Lưu trữ được bảo vệ”.
Khi tất cả các luật đã đầy đủ, cửa
hậu sẽ kết nối với máy chủ độc hại và tải xuống một trang HTML. Theo giao diện
của trang thì cho rằng máy chủ C&C không hoạt động:

Tuy nhiên, đây chỉ là bản ẩn mã.
Trang chứa các lệnh nhúng được mã hóa bằng khóa mã hóa cũng được nhúng vào
trang. Dữ liệu nhúng được mã hóa bằng hai kỹ thuật ẩn mã và được đặt bên trong
thẻ <- 1234567890>:

Trên dòng 31, các thuộc tính “align”,
“bgcolor”, “colspan” và “rowspan” được liệt kê theo thứ tự
bảng chữ cái; trong khi đó trên dòng 32, các thuộc tính tương tự được liệt kê
theo thứ tự khác. Kỹ thuật ẩn mã đầu tiên dựa trên nguyên tắc rằng HTML không
phân biệt thứ tự các thuộc tính thẻ, do đó có thể mã (encode) một thông điệp bằng
cách hoán vị các thuộc tính.
Dòng 31 trong ví dụ trên bao gồm
bốn thẻ; số lượng hoán vị trong bốn thẻ là 4! = 24, do đó dòng đã mã hóa log2(24)
= 4 bit thông tin. Cửa hậu giải mã (decode) từng dòng và thu thập khóa mã hóa
cho dữ liệu đặt ngay sau các thẻ HTML cũng ở trạng thái mã, nhưng sử dụng kỹ
thuật ẩn mã thứ hai.

Hình ảnh trên cho thấy dữ liệu được
mã thành các nhóm riêng biệt được phân tách bằng các tab. Mỗi nhóm chứa từ 0 đến
7 khoảng trắng và số lượng khoảng trắng biểu thị 3 bit dữ liệu tiếp theo. Ví dụ,
nhóm đầu tiên trên dòng 944 chứa sáu khoảng trắng, vì vậy nó sẽ được giải mã
thành 610 = 1102.

Các lệnh
Cửa hậu mà nhóm AVI đã phát hiện
có hỗ trợ tải lên, tài xuống và thực thi các tệp. Nó có thể xử lý các yêu cầu
cho danh sách quy trình và danh sách thư mục, nâng cấp và gỡ cài đặt chính nó,
sửa đổi tệp cấu hình của nó. Mỗi lệnh có các tham số riêng, ví dụ máy chủ
C&C mà nó yêu cầu tải lên và tải xuống tệp hoặc tách tệp trong khi upload.
Trình quản lý cấu hình
Trong khi điều tra sâu hơn, nhóm
AVI đã tìm thấy một công cụ khác mà cuối cùng được phát hiện chính là trình quản
lý cấu hình - một tệp thực thi có mục đích là tạo các tệp cấu hình và lệnh cho
các cửa hậu. Tiện ích này có thể cấu hình hơn 150 tùy chọn.
Trình quản lý cấu hình hỗ trợ các
lệnh như Xem cấu hình, Tải lên, Tải xuống, Thực thi, Tìm kiếm, Cập nhật cấu
hình, Thêm từ khóa, Thay đổi tệp tin từ khóa, Thay đổi khóa, Nâng cấp và Gỡ cài
đặt. Sau khi thực hiện một trong số các lệnh trên, trình quản lý cấu hình tạo
ra một tệp lệnh, được bảo vệ giống như tệp cấu hình và lưu trữ trong thư mục “CommandDir”
(đường dẫn được chỉ định trong cấu hình, tùy chọn 11). Như được mô tả trong phần
“Cửa hậu ẩn mã”, cửa hậu này không xử lý các tệp lệnh và không hỗ trợ các lệnh
như Thay đổi tệp tin từ khóa và Thay đổi khóa, vì vậy nhóm AVI đã tìm ra một cửa
hậu khác liên hệ với trình quản lý cấu hình. Mặc dù cửa hậu này thường được thực
thi bên phía kẻ tấn công, nhóm AVI cũng tìm thấy một nạn nhân bị nhiễm cửa hậu
tương ứng. Nhóm AVI gọi nó là một cửa hậu ngang hàng (P2P).
Cửa hậu P2P
Cửa hậu này có nhiều tính năng giống
với cửa hậu trước. Ví dụ, nhiều lệnh có tên giống nhau, tệp cấu hình của cả hai
cửa hậu đều có các tùy chọn có tên giống nhau và được bảo vệ theo cùng một
cách, đồng thời các đường dẫn tới các tệp cửa hậu giống như đường dẫn của các tệp
hợp pháp. Tuy vậy, cũng có những khác biệt đáng kể. Cửa hậu mới chủ động sử dụng
nhiều tùy chọn hơn từ cấu hình, hỗ trợ nhiều lệnh hơn, có khả năng tương tác với
các nạn nhân bị lây nhiễm khác và kết nối họ vào mạng, đồng thời cũng hoạt động
với máy chủ C&C theo một phương thức khác. Ngoài ra, cửa hậu này tích cực sử
dụng log: nhóm AVI đã tìm thấy một tệp log từ năm 2012 trên một máy tính của nạn
nhân.
Cửa hậu này có khả năng theo dõi
lưu lượng mạng. Sau khi cửa hậu được kích hoạt, nó sẽ khởi động trình theo dõi
cho từng giao diện mạng để nhận dạng một gói tin. Gói tin này có cấu trúc đặc
biệt, được gửi đến cổng ProbePort của nạn nhân mà đã được chỉ định trong cấu
hình. Khi trình theo dõi tìm thấy một gói tin như vậy, nó sẽ hiểu gói tin này
là một yêu cầu thiết lập kết nối, đồng thời đặt cổng TransferPort (được chỉ định
trong cấu hình) sang chế độ nghe. Bên gửi yêu cầu ngay lập tức kết nối với cổng
TransferPort của nạn nhân, cả hai bên thực hiện kiểm tra bổ sung và trao đổi
các khóa mã hóa cho nhau. Sau đó, bên yêu cầu kết nối gửi các lệnh cho nạn nhân
và bên nạn nhân xử lý chúng.
Kết luận
Nhóm AVI đã phát hiện ra tấn công
mới của nhóm APT Platinum và lưu ý rằng, tin tặc vẫn đang nỗ lực cải thiện mã độc
và sử dụng các kỹ thuật mới để tấn công APT được tinh vi và kín đáo hơn. Một
vài năm trước, nhóm AVI đã dự đoán rằng, ngày càng nhiều tin tặc phát triển mã
độc và tấn công APT sẽ sử dụng kỹ thuật ẩn mã. Phát hiện lần này chính là bằng
chứng cho thấy tin tặc đã sử dụng kỹ thuật ẩn mã kép trong tấn công trong APT.
Ngoài ra, tin tặc cũng sẽ triển khai các công cụ tấn công cần thiết theo một bộ
cài đặt lớn. Điều này cho thấy cấu trúc tấn công APT dựa trên nền tảng ẩn mã
đang ngày càng trở nên phổ biến. Dựa trên chức năng mã hóa tùy chỉnh được sử dụng
bởi tin tặc, nhóm AVI đã quy kết các cuộc tấn công nêu trên có liên hệ với nhóm
tin tặc Platinum khét tiếng. Điều này cho thấy rằng, nhóm tấn công APT Platinum
vẫn đang hoạt động tại khu vực Nam Á và Đông Nam Á.