Chủ đề

(Chuyên đề) - MANDIANT – APT1
TIẾT LỘ VỀ MỘT TRONG NHỮNG ĐƠN VỊ GIÁN ĐIỆP MẠNG CỦA TRUNG QUỐC

“Gián điệp kinh tế Trung Quốc đã vượt quá giới hạn, tôi tin rằng Mỹ và các đồng minh tại Châu Âu và Châu Á có nghĩa vụ chống lại Bắc Kinh và yêu cầu họ chấm dứt hành động trộm cắp này.
Bắc Kinh đang tiến hành một cuộc chiến tranh thương mại khổng lồ nhằm vào tất cả chúng ta, do đó chúng ta cần đoàn kết để gây áp lực buộc Trung Quốc phải dừng lại. Khi kết hợp lại, Mỹ cùng các đồng minh Châu Âu và Châu Á sẽ tạo ra áp lực đòn bẩy ngoại giao và kinh tế vô cùng to lớn đối với Trung Quốc, vì vậy chúng ta nên sử dụng lợi thế này để chấm dứt mối tai họa này.”[1]

- Dân biểu Mỹ Mike Rogers, tháng 10/2011

“Thật thiếu trách nhiệm và vô căn cứ khi cáo buộc quân đội Trung Quốc phát động các cuộc tấn công mạng mà không có bất cứ bằng chứng thuyết phục nào.”[2]

- Bộ Quốc phòng Trung Quốc, tháng 01/2013

PHẦN 3.1: BACKDOORS, MALWARE THỰC HIỆN TẤN CÔNG NHƯ THẾ NÀO?

Họ malware là gì ?

Họ malware là một tập hợp các phần mềm độc hại trong đó mỗi mẫu có cùng một số lượng mã đáng kể với những mẫu khác. Để dễ hình dung hãy xem ví dụ thực tế sau. Hiện nay có hàng loạt các máy tính bảng được bán. Bao gồm iPad của Apple, Galaxy Tab của Samsung và Surface của Microsoft. Mặc dù tất cả đều là máy tính bảng, nhưng về thành phần nhưng chúng khá khác nhau. Tuy nhiên, chúng ta có thể thấy iPad 1 và iPad 2 khá giống nhau về thành phần cấu tạo, giống hơn nhiều khi so sánh giữa iPad 1 và Microsoft Surface. Điều này tạo nên các “họ” iPad và “họ” Surface.

Malware như là một chương trình máy tính, thông thường nếu có chung hơn 80% mã, chúng ta xem như chúng là một phần của họ phần mềm.

Khi nói đến chương trình máy tính, thông thường nếu có chung hơn 80% mã, chúng ta xem như chúng là một phần của họ phần mềm. Có những trường hợp ngoại lệ: ví dụ, một số tập tin chứa các các thư viện công khai và thư viện chuẩn, chúng ta sẽ không xét chúng khi tiến hành phân loại các họ phần mềm.

Backdoors Đổ bộ (Beachhead Backdoors)

Beachhead backdoors thường chỉ có các tính năng tối thiểu. Chúng cung cấp cho kẻ tấn công phương tiện để thực hiện các nhiệm vụ đơn giản như lấy các tập tin, thu thập thông tin cơ bản của hệ thống và khởi động các hành động khác quan trọng hơn như một backdoor chuẩn.

Mục lục
[ẩn]

Backdoor beachhead của APT1 thường được chúng tôi gọi là backdoor WEBC2 . Backdoor WEBC2 có lẽ là backdoor thông dụng nhất của APT1, và đó là lý do một vài công ty bảo mật coi APT1 như là Nhóm Bình luận (“Comment Crew.”) Một backdoor WEBC2 được thiết kế để lấy nội dung một trang web từ một máy chủ C2. Nội dung trang web có chứa các thẻ HTML đặc biệt; backdoor sẽ thử biên dịch các dữ liệu giữa các thẻ đó để nhận các lệnh điều khiển. Các phiên bản cũ hơn của WEBC2 thì đọc dữ liệu giữa các chú thích của HTML, dù theo thời gian các biến thể của WEBC2 đã phát triển để đọc dữ liệu chứa trong các loại thẻ khác. Từ quá trình trực tiếp theo dõi, chúng tôi có thể xác nhận APT1 sử dụng backdoor WEBC2 vào đầu tháng 7/2006. Tuy nhiên, chúng tôi có dữ liệu WEBC2-KT3 đã được biên dịch [32] lần đầu vào 13/01/2004, cho thấy APT1 đã tạo backdoor WEBC2 từ đầu năm 2004. Dựa trên hơn 400 mẫu biến thể WEBC2 mà chúng tôi thu thập được, dường như APT1 có liên lạc trực tiếp tới đội ngũ lập trình viên phát triển và cung cấp liên tục các biến thể mới của WEBC2 trong hơn sáu năm qua.

Ví dụ, có hai hướng phát triển đã được phát hiện bên trong các mẫu WEBC2-TABLE, giúp minh hoạ cách thức APT1 đã đều đặn tạo ra các biến thể của WEBC2 như một phần của quá trình phát triển liên tục:

Hai hướng phát triển bên trong các mẫu WEBC2-TABLE.

“Build path“ (đường dẫn xây dựng) làm lộ ra thư mục mà các lập trình viên đã xây dựng và biên dịch mã nguồn. Những mẫu này, biên dịch cách nhau 2,5 năm, được biên dịch trong thư mục có tên “workcode..mywork”. Sự xuất hiện từ “work” cho thấy việc phát triển WEBC2 là công việc hàng ngày của một người chứ không phải là một dự án làm riêng ngoài hay phục vụ sở thích cá nhân. Hơn nữa, chuỗi xây dựng trong mẫu A có chứa “2012-2-23” – trùng khớp với ngày biên dịch mẫu A. Mẫu B có chuỗi xây dựng không có đoạn “2012-2-23” nhưng chứa đoạn “2009-8-7” – cũng trùng khớp với ngày biên dịch mẫu B. Điều này cho thấy mã nguồn được sử dụng để biên dịch mẫu A được chỉnh sửa từ mã nguồn mẫu B từ hai năm rưỡi trước. Việc tồn tại chuỗi “2008-7-8” cho thấy mã của 2 mẫu trên đã được chỉnh sửa từ một phiên bản tồn tại vào tháng 7/2008, một năm trước khi mẫu B được tạo ra. Chuỗi các ngày này cho thấy sự phát triển và sửa đổi của backdoor WEBC2 là một quá trình lặp lại trong dài hạn.

Build path: đường dẫn xây dựng.

Backdoor WEBC2 thường cung cấp cho những kẻ tấn công của APT1 một số dòng lệnh ngắn và thô sơ để điều khiển hệ thống máy nạn nhân, bao gồm:

• Khởi tạo một cửa sổ lệnh điều khiển (thường là Window cmd.exe)
• Tải về và thực thi một tập tin
• Sleep (ngủ đông) trong một thời gian nhất định.

Backdoor WEBC2 thường được đính kèm trong các các email lừa đảo. Sau khi cài đặt backdoor thành công, những kẻ xâm nhập APT1 sẽ có các tuỳ chọn để ra lệnh cho hệ thống nạn nhân tải và thực thi các phần mềm độc hại khác. Backdoor WEBC2 hoạt động theo cách này, nhưng chúng thường ít tính năng hơn các “Standard Backdoor” được miêu tả dưới đây:

Cửa hậu chuẩn (Standard Backdoor)

Cửa hậu chuẩn, không phải họ backdoor WEBC2 của APT1, thường giao tiếp bằng cách sử dụng giao thức HTTP (để trộn lẫn với các truy cập web bình thường khác) hoặc các giao thức riêng do nhóm phát triển mã độc xây dựng. Các backdoor của những kẻ xâm nhập APT cung cấp các phương thức sau để kiểm soát máy nạn nhân:

• Tạo/chỉnh sửa/xóa/thực thi các chương trình
• Tải lên/tải về tập tin
• Tạo/xóa các thư mục
• Liệt kê danh sách/khởi động/dừng các tiến trình
• Sửa đổi hệ thống registry
• Chụp ảnh màn hình của máy tính người dùng
• Ghi lại thao tác gõ phím
• Ghi lại thao tác di chuyển chuột
• Mở một cửa sổ lệnh tương tác
• Tạo giao diện quản trị từ xa (có thể là đồ hoạ)
• Thu thập mật khẩu
• Liệt kê các người dùng
• Liệt kê các hệ thống khác trên mạng
• Sleep (đưa máy tính về trạng thái không hoạt động) trong một thời gian nhất định
• Đăng xuất khỏi tài khoản người dùng hiện tại
• Tắt hệ thống

Backdoor BISCUIT (được đặt tên như vậy do lệnh “bdkzt”) là một ví dụ minh họa việc APT1 đã dùng một tập hợp lệnh để xây dựng thành backdoor “chuẩn”. APT1 đã sử dụng và liên tục chỉnh sửa BISCUIT từ khi xuất hiện năm 2007 cho tới nay.

Bảng tập lệnh của BISCUIT.

Các chức năng này là đặc trưng của hầu hết các backdoor chứ không chỉ có trong APT1 hay các nhóm APT khác, ví dụ: một người muốn điều khiển một hệ thống từ xa đều có thể thêm chức năng như “Tải lên/Tải về tập tin” vào một backdoor của họ.

Kênh liên lạc ngầm

Một số backdoor APT cố gắng để bắt chước lưu lượng truy cập internet hợp lệ khác ngoài giao thức HTTP. APT1 đã tạo được một số bao gồm:

Các cửa hậu giả dạng giao thức truyền tin hợp lệ.

Khi hệ thống phòng vệ mạng thấy các kênh liên lạc giữa các backdoor này và các máy chủ C2, họ có thể dễ dàng coi chúng như dữ liệu mạng hợp lệ. Ngoài ra, nhiều backdoor APT1 sử dụng mã hóa SSL để che dấu kênh liên lạc trong kênh mã hoá SSL. Chúng tôi đã cung cấp chứng chỉ số công khai SSL của APT1 trong Phụ lục F để mọi người có thể đưa vào cơ sở dữ liệu mạng của họ.

Leo thang Đặc quyền

Leo thang đặc quyền bao gồm việc thu thập các thông tin (thông thường là tên người dùng và mật khẩu) cho phép truy cập vào nhiều nguồn tài nguyên trong hệ thống mạng. Trong giai đoạn hiện tại và hai giai đoạn tiếp theo, APT1 không khác biệt đáng kể với những kẻ xâm nhập APT khác (hoặc kẻ xâm nhập, nói chung). APT1 chủ yếu là sử dụng các công cụ đã được công khai để lấy mật khẩu được mã hóa trên máy nạn nhân từ đó giải mã ra thông tin truy cập hợp pháp.

APT1 đã sử dụng các công cụ leo thang đặc quyền sau:

Những công cụ leo thang đặc quyền phổ biến mà APT1 sử dụng.

 

Hash của mật khẩu là gì?

Khi một người đăng nhập vào máy tính, trang web, email server, hoặc bất kỳ tài nguyên mạng nào cần mật khẩu, mật khẩu cung cấp cần được xác thực. Một cách để làm điều này là lưu trữ mật khẩu thật sự của người đó trên hệ thống họ cần truy cập, sau đó so sánh mật khẩu nhập vào với mật khẩu được lưu trữ đó. Mặc dù là đơn giản, phương pháp này rất không an toàn: bất cứ ai có thể truy cập vào cùng hệ thống cũng sẽ có thể thấy mật khẩu. Thay vào đó, hệ thống xác thực mật khẩu thường lưu trữ hash của mật khẩu. Nói đơn giản, một hash của mật khẩu là con số toán học được tạo ra từ mật khẩu người dùng. Trên thực tế các phương pháp toán học (thuật toán) sử dụng để tạo ra các hash của mật khẩu duy nhất. Khi một người nhập mật khẩu của họ, máy tính sẽ tạo ra mã hóa của mật khẩu nhập vào đó và so sánh với giá trị được lưu trữ. Nếu phù hợp, các mật khẩu sẽ được coi là giống nhau và người dùng được phép đăng nhập.

 

Có thể coi là không thể “dịch ngược” từ mã hóa của mật khẩu để lấy mật khẩu gốc. Tuy nhiên, nếu có đủ nguồn lực tính toán để “bẻ khóa” các hash mật khẩu sẽ tìm ra mật khẩu ban đầu. (“Cracking” là cách sinh lượng mật khẩu lớn, mã hóa chúng, và so sánh với mã hóa đã có sẵn để tìm ra mã hóa trùng hợp). Những kẻ xâm nhập sẽ ăn cắp hash của mật khẩu từ hệ thống nạn nhân với hy vọng có thể sử dụng các kỹ thuật như “passing-the-hash” (sử dụng trực tiếp mã hoá của mật khẩu để đăng nhập mà không cần biết mật khẩu gốc) hoặc bẻ khóa chúng để lấy được mật khẩu người dùng.

Trinh sát Nội bộ

Trong giai đoạn Trinh sát Nội bộ, kẻ xâm nhập thu thập thông tin về môi trường mạng của nạn nhân. Giống như hầu hết những kẻ xâm nhập APT (hoặc xâm nhập thông thường), APT1 chủ yếu sử dụng các lệnh sẵn có của hệ điều hành để khám phá hệ thống đã bị xâm nhập và môi trường mạng của nó. Mặc dù họ thường chỉ sử dụng các dòng lệnh trên cửa sổ lệnh, đôi khi những kẻ xâm nhập có thể sử dụng các đoạn mã tự động để tăng tốc quá trình này. Hình dưới đây cho thấy các nội dung của một đoạn mã tự động mà APT1 sử dụng trên ít nhất trong bốn môi trường mạng của nạn nhân.

Tập chỉ thị tự động tiến hành thăm dò của APT1.

Đoạn mã này thực thi các lệnh và lưu kết quả vào một tập tin văn bản:
• Thông tin cấu hình mạng của nạn nhân
• Danh sách các dịch vụ được khởi động trên hệ thống của nạn nhân
• Danh sách các tiến trình đang chạy
• Danh sách các tài khoản trên hệ thống
• Danh sách các tài khoản có quyền quản trị hệ thống
• Danh sách các kết nối mạng hiện thời
• Danh sách các tài nguyên chia sẻ mạng đang kết nối
• Danh sách các hệ thống khác trong mạng.
• Danh sách các máy tính trên mạng và các tài khoản trong nhóm (“domain controllers,” “domain users,” “domain admins,” v.v…)

(Còn tiếp, mời bạn đón xem tiếp phần sau)

nguyentandung.org (lược dịch từ mandiant.com).

Chú thích:

[1] “Mike Rogers, phát biểu trước Hạ Viện Mỹ, Ủy ban Tình báo Thường trực, Phiên điều trần: Mối đe dọa mạng và những Nỗ lực đang thực hiện để bảo vệ quốc gia, phiên điều trần ngày 04/10/2011.

[2] “Tin tặc Trung Quốc bị nghi ngờ tấn công vào hệ thống máy tính của hãng tin The Washington Post”, Thời báo The Washington Post, ngày 01/02/2013.

[32] “Biên dịch” là quá trình chuyển mã nguồn của một ngôn ngữ lập trình thành một tập tin mà máy tính có thể hiểu và thực thi được. Thời gian biên dịch có thể xem trong PE header của tập tin sau khi biên dịch, trừ khi tin tặc cố tình thay đổi để che dấu vết.

Bài viết, video, hình ảnh đóng góp cho chuyên mục vui lòng gửi về [email protected]
Thích và chia sẻ bài này trên