HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG KHOA
AN TOÀN THÔNG TIN
BÁO CÁO BÀI TẬP LỚN
HỌC PHẦN: PHÂN TÍCH MÃ ĐỘC MÃ
HỌC PHẦN: INT14164
ĐỀ TÀI: Phân tích tĩnh malware Trojan Zeus Banking
B21DCAT217 Nguyễn Khắc Tuyên
B21DCAT202 Phí Đức Tuân
B21DCAT085 Bùi Thanh Hiếu
B21DCAT099 Nguyễn Khắc Hưng
Tên nhóm: 02
Tên lớp: 01
Giảng viên hướng dẫn: Đinh Trường Duy
HÀ NỘI 2024
lOMoARcPSD| 58815430
PHÂN CÔNG NHIỆM VỤ NHÓM THỰC HIỆN
TT
Công việc / Nhiệm vụ
SV thực hiện
1
Viết kịch bản lần 1
Nguyễn Khắc Tuyên
2
Viết kịch bản lần cuối
Bùi Thanh Hiếu
3
Tổng quan về mã ộc
Phí Đức Tn
4
Tổng quan về phân tích tĩnh
Bùi Thanh Hiếu
5
Lỹ thuyết phân tích tĩnh
Nguyễn Khắc Hưng
6
Lỹ thuyết một số công cụ phân tích tĩnh
Nguyễn Khắc Tuyên
7
Cấu hình cài ặt
Cả nhóm
8
Xác ịnh loại tệp
Bùi Thanh Hiếu Phí
Đức Tuân
9
Xác ịnh mã hash
10
Phân tích mẫu sử dụng nhiều công cụ kết
hợp
11
Tách chuỗi chương trình
12
Xác ịnh cách che dấu tập tin
Nguyễn Khắc Tuyên
Nguyễn Khắc Hưng
13
Nhận biết mã ộc có bị nén không
14
Phân tích tệp tin PE
15
Phân loại
16
Viết báo cáo
Bùi Thanh Hiếu Phí
Đức Tuân
17
Làm slide
Nguyễn Khắc Tuyên
Nguyễn Khắc Hưng
18
Thuyết trình
Nguyễn Khắc Tuyên
19
Hoàn thiện báo cáo theo chuẩn ngành
Bùi Thanh Hiếu
Nguyễn Khắc Hưng
lOMoARcPSD| 58815430
NHÓM THỰC HIỆN TỰ ĐÁNH GIÁ
TT
SV thực hiện
Thái
tham gia
Mức hoàn
thành CV
Kỹ năng
giao tiếp
Kỹ năng
hợp tác
Kỹ năng
lãnh ạo
1
Bùi Thanh Hiếu
5
4
5
5
2
Nguyễn Khắc
Tuyên
5
4
5
5
4
3
Nguyễn
Khắc
Hưng
5
4
5
5
4
Phí Đức Tn
5
4
5
5
Ghi chú:
Thái ộ tham gia: Đánh giá iểm thái ộ tham gia công việc chung của nhóm (từ 0: không
tham gia, ến 5: chủ ộng, tích cực).
Mức hoàn thành CV: Đánh giá iểm mức ộ hoàn thành công việc ược giao (từ 0: không
hoàn thành, ến 5: hoàn thành xuất sắc).
Kỹ năng giao tiếp: Đánh giá iểm khả năng tương tác, giao tiếp trong nhóm (từ 0: không
hoặc giao tiếp rất yếu, ến 5: giao tiếp xuất sắc).
Kỹ năng hợp tác: Đánh giá iểm khả năng hợp tác, hỗ trợ lẫn nhau, giải quyết mâu thuẫn,
xung ột
Kỹ năng lãnh ạo: Đánh giá iểm khả năng lãnh ạo (từ 0: không có khả năng lãnh ạo, ến 5:
có khả năng lãnh ạo tốt, tổ chức và iều phối công việc trong nhóm hiệu quả).
MỤC LỤC
DANH MỤC CÁC TỪ VIẾT TẮT ........................................................................................ 7
MỞ ĐẦU .................................................................................................................................. 7
CHƯƠNG 1: TỔNG QUAN VỀ MÃ ĐỘC VÀ PHÂN TÍCH TĨNH ................................. 8
1.1. Tổng quan về mã ộc ................................................................................................. 8
1.2. Phân tích tĩnh ........................................................................................................... 8
lOMoARcPSD| 58815430
CHƯƠNG 2: CÀI ĐẶT VÀ CẤU HÌNH CÁC CÔNG CỤ PHÂN TÍCH ....................... 16
2.1. Một số công cụ ........................................................................................................ 16
2.1.1 PEstudio ................................................................................................................ 16
2.1.2. FLOSS (FireEye Labs Obfuscated String Solver) .............................................. 16
2.1.3. PEview .................................................................................................................. 16
2.1.4. Capa ...................................................................................................................... 17
2.2. Cài ặt và cấu hình .................................................................................................. 17
2.2.1 Một số công cụ ...................................................................................................... 17
2.2.2. Cấu hình cài ặt ..................................................................................................... 17
2.3. Trojan zeus banking ............................................................................................... 17
CHƯƠNG 3: PHÂN TÍCH – THỰC NGHIỆM ................................................................ 19
3.1. Phân tích – thực nghiệm ........................................................................................ 19
3.1.1 Xác ịnh loại của tệp .............................................................................................. 19
3.1.2. Phân tích mã Hash .............................................................................................. 21
3.1.3. Phân tích mẫu ang có sử dụng công cụ kết hợp nhiều Antivirus (AV) ............. 23
3.1.4. Tách chuỗi từ chương trình ................................................................................ 26
3.1.5. Xác ịnh các cách che giấu của tập tin ................................................................ 28
3.1.6. Tập tin PE ........................................................................................................ 29
3.1.7. Phân loại .............................................................................................................. 38
KẾT LUẬN ............................................................................................................................ 40
TÀI LIỆU THAM KHẢO .................................................................................................... 40
Mục lục hình ảnh
Hình 1.1: Cơ chế tiêm mã vào tiến trình và thực thi .................................................................. 14
Hình 1.2: Mô tả các phần của tệp thực thi (PE Sections) .......................................................... 15
Hình 1.3: Mô tả các trường trong phần của tệp thực thi .......................................................... 16
lOMoARcPSD| 58815430
Hình 1.4: Phân tích chi tiết tệp PE bằng PEStudio .................................................................... 16
Hình 4.1: Quy trình phân tích .................................................................................................... 20
Hình 4.2: File nghi ngờ ................................................................................................................ 20
Hình 4.3: Sử dụng PEStudio ể phân tích tệp áng ngờ ........................................................... 21
Hình 4.4: Phân tích dấu vết và hàm băm của tệp PE bằng PEStudio ....................................... 22
Hình 4.5: Phân tích hàm băm và thuộc tính tệp bằng HashMyFiles ........................................ 22
Hình 4.6: Kết quả phân tích tệp ộc hại trên VirusTotal ............................................................ 24
Hình 4.7: Kết quả phân tích tệp ộc hại trên VirusTotal ............................................................ 24
Hình 4.8: Thông tin chi tiết tệp ộc hại trên VirusTotal ............................................................. 25
Hình 4.9: Thông tin về các phần và hàm nhập của tệp PE trên VirusTotal .............................. 26
Hình 4.10: Phân tích tài nguyên chứa trong các tệp thực thi trên VirusTotal .......................... 26
Hình 4.11: Danh sách hàm nhập và kỹ thuật tấn công mã ộc trong PEStudio ...................... 27
Hình 4.12: Kết quả phân tích chuỗi tĩnh và giải mã từ FLOSS ................................................. 28
Hình 4.13: Kết quả phân tích chuỗi tĩnh và giải mã từ FLOSS ................................................. 28
Hình 4.14: Phân tích thông tin chi tiết tệp thực thi bằng Exeinfo PE....................................... 29
Hình 4.15: Phân tích các phần của tệp thực thi bằng PEStudio ............................................... 30
Hình 4.16: Phân tích thư viện và hàm nhập của tệp thực thi trên PEStudio30
Hình 4.17: Phân tích thư viện và hàm nhập của tệp thực thi trên PEStudio ............................ 32
Hình 4.18: Phân tích chi tiết tiêu ề DOS và các phần của tệp thực thi trên PEView ............. 35
Hình 4.19: Thông tin tệp xuất và các thành phần khác của tệp thực thi
....................................................................................................................................................... 36
Hình 4.20: Phân tích kỹ thuật né tránh và phát hiện máy ảo bằng CAPA ................................ 36
Hình 4.21: Phân tích mã máy: GetTickCount và AllowSetForegroundWindow ....................... 37
Hình 4.22: Biểu ồ dòng mã: GetTickCount và AllowSetForegroundWindow ......................... 38
Hình 4.23: Biểu ồ dòng mã: GetCapture trong mã ộc ............................................................ 38
Hình 4.24: Biểu ồ dòng mã: GetClipboardData trong mã ộc ................................................. 39 Hình
4.25: Biểu ồ dòng mã: GetDriveTypeA trong mã ộc ...................................................... 39
lOMoARcPSD| 58815430
Hình 4.26: Kết quả phát hiện ộc Trojan Backdoor trên VirusTotal .............................. 40 Hình
4.27: Kết quả phát hiện ộc Trojan và Backdoor trên VirusTotal .............................. 40 Hình 4.28:
Kết quả phát hiện mã ộc Trojan và Backdoor trên VirusTotal .............................. 41
lOMoARcPSD| 58815430
DANH MỤC CÁC TỪ VIẾT TẮT
Từ
viết tắt
Thuật ngữ tiếng Anh/Giải thích
Thuật ngữ tiếng Việt/Giải thích
PE
Portable Executable
Định dạng tệp thực thi chuẩn ược
sử dụng trên hệ iều hành
Windows
APIs
Application Programming
Interfaces
Windows Giao diện lập trình ứng
dụng, cung cấp cách thức ể các
ứng dụng , hệ thống hoặc dịch vụ
khác nhau giao tiếp với nhau
Zbot
Trojan Zeus
một trong những loại đc
nguy hiểm phổ biến nhất,
được thiết kế nhằm đánh cắp
thông n nhạy cảm, đặc biệt
dữ liệu ngân hàng trực tuyến
MỞ ĐẦU
Mã ộc Trojan Zeus (còn ược gọi là Zbot) là một trong những loại mã ộc nguy
hiểm và phổ biến nhất, ược thiết kế nhằm ánh cắp thông tin nhạy cảm, ặc biệt là dữ
liệu ngân hàng trực tuyến. Xuất hiện lần ầu vào năm 2007, Zeus nhanh chóng trở
thành công cụ ắc lực trong các chiến dịch tấn công mạng nhờ khả năng ẩn mình, lây
lan hiệu quả và tích hợp nhiều chức năng ộc hại.
Báo cáo này tập trung vào việc phân tích tĩnh mẫu mã ộc Zeus Banking, bao
gồm việc khám phá cấu trúc tệp, mã nguồn ược mã hóa, và các kỹ thuật che giấu
(obfuscation) mà mã ộc sử dụng ể tránh bị phát hiện. Qua quá trình phân tích, chúng
tôi không chỉ xác ịnh ược cách thức hoạt ộng của mã ộc mà còn làm sáng tỏ các thành
phần chính trong chuỗi tấn công, từ việc xâm nhập hệ thống nạn nhân ến quá trình thu
thập và gửi dữ liệu về máy chủ iều khiển.
lOMoARcPSD| 58815430
CHƯƠNG 1: TỔNG QUAN VỀ MÃ ĐỘC VÀ PHÂN TÍCH TĨNH
1.1. Tổng quan về mã ộc
1.1.1 Mã ộc là gì?
- Mã ộc (Malware) là phần mềm ộc hại ược thiết kế ể xâm nhập vào hệ thống
máy tính mà không có sự ồng ý của người dùng. Mục ích của mã ộc có thể là
gây hại cho hệ thống, ánh cắp dữ liệu cá nhân hoặc làm gián oạn hoạt ộng
của máy tính.
- Mã ộc có thể tồn tại dưới nhiều hình thức, như tập tin thực thi, script hoặc mã
nguồn. Kẻ tấn công sử dụng mã ộc ể thu thập thông tin nhạy cảm, theo dõi
hành vi người dùng hoặc chiếm quyền iều khiển máy tính.
- Thông thường, mã ộc xâm nhập qua email lừa ảo, trang web ộc hại hoặc thiết
bị lưu trữ USB.
1.1.2. Viruss Trojan Horses
- Đây là loại mã ộc ngụy trang dưới vỏ bọc phần mềm vô hại và thậm chí có
thể hoạt ộng.
- Như một chương trình hợp pháp trong hệ thống trước khi thực hiện các hành
vi ộc hại ược chỉ ịnh
- Các oạn mã của Trojan ược “che giấu” trong các phần mềm máy tính bình
thường ể bí mật xâm nhập vào máy tính.
- Tới thời iểm thuận lợi, chúng sẽ ánh cắp thông tin cá nhân và chiếm quyền
iều khiển máy tính…
1.2. Phân tích tĩnh
- Phân tích tĩnh là kỹ thuật phân tích tệp nghi ngờ (mẫu) mà không thực thi nó.
- Phân tích mã ộc có mục tiêu nữa là từ kết quả của việc phần tích ưa ra cách ể
gỡ bỏ và phòng tránh mã ộc ó.
- Phân tích tĩnh ược chia làm 2 loại:
o Phân tích tĩnh cơ bản.
o Phân tích tĩnh nâng cao.
1.2.1. Vai trò của phân tích tĩnh
- Cung cấp thông tin ban ầu mà không cần thực thi tệp: Phân tích tĩnh có thể
ược thực hiện mà không cần thực thi tệp. Điều này cho phép thu thập thông
tin ban ầu về tệp mà không kích hoạt mã ộc tiềm ẩn.
- Xác ịnh hành vi tiềm ẩn: Phân tích tĩnh có thể tiết lộ những gợi ý về hành vi
tiềm ẩn của tệp như kết nối mạng, truy cập hệ thống tập tin, v.v.
Điều này có thể giúp xác ịnh liệu tệp có áng nghi ngờ hay không.
lOMoARcPSD| 58815430
- Xác ịnh cách thức hoạt ộng: Phân tích tĩnh có thể tiết lộ cách thức hoạt ộng
của tệp thông qua việc khám phá cấu trúc, luồng iều khiển và các hàm.
- Hỗ trợ phân tích ộng sau ó: Thông tin thu thập ược từ phân tích tĩnh có thể
hỗ trợ phân tích ộng sau ó khi thực thi tệp trong môi trường cô lập
- Phân loại tệp: Phân tích tĩnh có thể cung cấp ủ thông tin ể phân loại nhanh
tệp là bening hoặc áng ngờ.
1.2.2. Một số công cụ phân tích tĩnh
- Capa: Capa tập trung vào việc xác ịnh các ặc iểm quan trọng của mã ộc, phát
hiện chữ ký.
- Floss: Cũng giống như Capa, công cụ Floss cũng tìm chữ ký trong tệp thực
thi, ngoài ra nó còn tìm chuỗi.
- Cutter: Công cụ có khả năng thực hiện debugging cho các tệp thực thi
- PEStudio: Công cụ này cung cấp thông tin chi tiết về các thành phần quan
trọng trong tệp thực thi: module, ký sự số bản quyền, thông tin nhúng giúp
kiểm tra tệp PE.
- CFF Explorer: Công cụ này cung cấp thông tin một cách chi tiết về các cấu
trúc của tệp thực thi, bao gồm module, bảng phân oạn.
1.2.3. Quy trình phân tích tĩnh
a. Xác ịnh loại của tệp
- Phần mở rộng tệp (File extension) là một phần của tên tệp ược gắn liền với
tên tệp ể chỉ ịnh ịnh dạng hoặc loại tệp, vd: .exe, .dll, .sys, docx, xlsx...
o Phần mở rộng tệp giúp hệ iều hành và các ứng dụng phần mềm nhận
biết loại tệp và sử dụng chương trình mở tương ứng ể xem hoặc xử lý
tệp.
o Các kẻ tấn công có thể sử dụng các chiêu trò khác nhau ể che dấu tệp
của họ bằng cách sửa ổi phần mở rộng tệp và thay ổi giao diện của tệp
ể lừa người dùng vào thực thi nó.
- Chữ ký tệp (File Signature) có thể ược sử dụng ể xác ịnh loại tệp, thay cho
phần mở rộng tệp.
o Chữ ký tệp là trình tự byte duy nhất ược viết vào phần ầu tệp.
o Các tệp khác nhau có chữ ký khác nhau có thể ược sử dụng ể xác ịnh
loại tệp.
- Timestamp: Phần mềm óng gói chứa thông tin xác ịnh thời iểm tệp ược ược
biên dịch; kiểm tra trường này có thể cho bạn biết khi phần mềm ộc hại ược
tạo lần ầu.
- Các công cụ sử dụng ể xác ịnh loại của tệp:
lOMoARcPSD| 58815430
o Sử dụng phương pháp thủ công ể xác ịnh loại tệp là tìm kiếm chữ ký
tệp bằng cách mở nó trong một trình chỉnh sửa hex.
o Trình chỉnh hex là một công cụ cho phép một nhà iều tra kiểm tra từng
byte của tệp; hầu hết trình chỉnh hex cung cấp nhiều chức năng giúp
trong việc phân tích tệp. o Sử dụng phương pháp xác ịnh bằng công c
b. Phân tích mã Hash
- Quá trình tạo các giá trị băm cho các tệp nghi ngờ dựa trên nội dung của
chúng, cũng giống như tạo vân tay (Fingerprinting) cho mã ộc.
- Các thuật toán băm thường ược sử dụng như MD5, SHA1 hoặc SHA256.
- Các công cụ có thể sử dụng:
o Linux: Md5sum, Sha256sum, Sha1sum … o Windows:
HashMyFiles, FsumFrontEnd, Jacksum …
c. Tách chuỗi từ chương trình mã ộng
- Sử dụng phần mềm ể lấy Strings từ các chương trình có thể là mã ộc o Để
trích xuất chuỗi từ một tập tin nhị phân nghi ngờ, bạn có thể sử dụng tiện
ích strings trên hệ thống Linux.
o Đối với các mẫu mã ộc hại, cũng sử dụng chuỗi Unicode (2 byte mỗi
ký tự).
o Trên Windows, PEStudio là một công cụ tiện ích hiển thị cả chuỗi
ASCII và chuỗi Unicode. o PEStudio là một công cụ phân tích PE
tuyệt vời ể thực hiện ánh giá ban ầu về phần mềm ộc hại từ một tập
tin nhị phân nghi ngờ và ược thiết kế ể thu thập các mẫu thông tin
hữu ích từ một tập tin thực thi PE.
d. Lấy những chuỗi ã bị che dấu bằng Floss
- Trong hầu hết các trường hợp, tác giả phần mềm ộc hại sử dụng các kỹ
thuật che dấu chuỗi ơn giản ể tránh bị phát hiện.
- Trong những trường hợp như vậy, những chuỗi ã ược che giấu sẽ không
xuất hiện trong tiện ích strings và các công cụ trích xuất chuỗi khác.
- FireEye Labs Obfuscated String Solver (FLOSS) là một công cụ ược thiết
kế ể tự ộng xác ịnh và trích xuất chuỗi ã ược làm mờ từ phần mềm ộc hại.
- Xác ịnh cách che giấu của tập tin o Dù việc trích xuất chuỗi là một kỹ thuật
xuất sắc ể thu thập thông tin có giá trị, thường tác giả phần mềm ộc hại sẽ
che giấu hoặc bảo vệ tập tin nhị phân của họ.
o Điều này ược sử dụng bởi tác giả phần mềm ộc hại ể bảo vệ cấu trúc
bên trong của phần mềm ộc hại khỏi các nhà nghiên cứu bảo
lOMoARcPSD| 58815430
mật, các chuyên gia phân tích phần mềm ộc hại và kỹ sư ảo ngược
mã. o Các kỹ thuật làm mờ này làm cho việc phát hiện/phân tích tập tin
trở nên khó khăn; việc trích xuất chuỗi từ tập tin nhị phân như vậy dẫn
ến rất ít chuỗi, và hầu hết các chuỗi ược che giấu.
- Packers and Cryptors o Packer là một chương trình lấy tập tin thực thi làm
ầu vào và sử dụng nén ể ể che giấu nội dung của tập tin thực thi. o Một
Cryptor tương tự như một Packer, nhưng thay vì sử dụng nén, nó sử dụng
mã hóa ể giấu nội dung của tập tin thực thi, và nội dung ã ược mã hóa ược
lưu trữ trong tập tin thực thi mới
e. Phát hiện các tệp tin ẩn giấu bằng Exeinfo PE
- Hầu hết các tập tin thực thi hợp pháp không che giấu nội dung, nhưng một s
tập tin thực thi có thể thực hiện iều này ể ngăn người khác kiểm tra mã
nguồn của họ.
- Khi bạn gặp một mẫu mã ã ược óng gói, có khả năng cao nó sẽ là ộc hại.
- Để phát hiện các chương trình óng gói trên Windows, bạn có thể sử dụng một
công cụ miễn phí như Exeinfo PE ,nó có giao diện người dùng dễ sử dụng, ể
phát hiện các trình biên dịch, chương trình óng gói hoặc mã hóa ược sử dụng
ể xây dựng chương trình.
f. Phân tích cách che giấu - Obfuscated strings(che giấu chuỗi): là các chuỗi
ã bị “che giấu”, bị xáo trộn làm cho các công cụ phân tích chuỗi như strings
utility không thể trích xuất ra các chuỗi.
- Các kỹ thuật Obfuscated strings: XOR Encryption, Base64 Encoding,
Unicode Escaping, String Concatenation, Dynamic String Decryption.
S
ử dụng FireEye Labs Obfuscated String Solver (FLOSS). FLOSS có thể phân
tích chuỗi thông thường cũng như các chuỗi bị obfuscated.
g. Nhận biết mã ộc có bị nén hay mã hóa không?
- Các công cụ nhận dạng gói (packers) ã biết sẽ ược xác ịnh bằng các nhận
dạng gói như Detect it Easy, PEiD, và các công cụ tương tự.
- Tuy nhiên, phần mềm ộc hại thường ược gói bởi các gói tùy chỉnh, ược tạo ra
ặc biệt ể tránh các chương trình antivirus.
- Những gói này không thể ược xác ịnh bằng những công cụ này.
- Có một số nguyên tắc tổng quát có thể chỉ ra liệu một tập tin có ược gói hay
không, như:
o Có ộ entropy cao
lOMoARcPSD| 58815430
o Các hàm nhập iển hình của packed files hay nhiễm ộc
Hình 1.1: Cơ chế êm mã vào ến trình và thực thi
- Có dòng rác, không có nghĩa trong tệp nhị phân
h. Tệp tin PE
- Các tệp thực thi Windows (như .exe, .dll, .sys, .ocx và .drv) phải tuân thủ
theo ịnh dạng PE (Portable Executable).
- Tệp PE là một loạt các cấu trúc và thành phần con chứa thông tin cần
thiết cho hệ iều hành ể tải nó vào bộ nhớ.
- Công cụ:
CFF Explorer: http://www.ntcore.com/exsuite.php
PEInternals:http://www.andreybazhan.com/pe-internals.html
PPEE(puppy): https://www.mzrst.com
- Thường, phần mềm ộc hại tương tác với tệp, registry, mạng, và các thành
phần khác.
- Để thực hiện các tương tác như vậy, phần mềm ộc hại thường phụ thuộc vào
các hàm ược hệ iều hành cung cấp.
- Windows xuất ra hầu hết các hàm của nó, gọi là Application
lOMoARcPSD| 58815430
Programming Interfaces (API), cần thiết cho các tương tác này trong các tệp
Dynamic Link Library (DLL).
- Các tệp thực thi nhập và gọi các hàm này thường từ các DLL khác nhau cung
cấp các chức năng khác nhau.
- Các hàm mà một tệp thực thi nhập từ các tệp khác (chủ yếu là DLL) ược gọi
là các hàm nhập (hàm imports). o Kiểm tra các imports có thể:
o Kiểm tra Exports
- Nội dung của tệp PE ược chia thành các Section.
- Các section này ại diện cho code hoặc data và chúng có các thuộc tính trong
bộ nhớ như read/ write .
Trong quá trình biên dịch của tệp thực thi, các trình biên dịch thêm các tên
section liên tục. Bảng sau ây cho biết một số section thông thường trong một tệp PE:
Hình
1.2: Mô tả các phần của tệp thực thi (PE Secons)
- Các tên section này chủ yếu dành cho con người và không ược hệ iều hành
sử dụng, iều này có nghĩa rằng có khả năng một kẻ tấn công hoặc phần mềm
làm mờ thông tin có thể tạo ra các section với tên khác nhau.
- Thông tin về các section này (như tên phần, vị trí của phần và các ặc iểm của
nó) có sẵn trong bảng phần trong PE header (Portable Executable). Kiểm tra
bảng phần sẽ cung cấp thông tin về phần và các ặc iểm của nó.
- Khi bạn tải một tệp thực thi trong pestudio và nhấp vào mục "sections," nó sẽ
hiển thị thông tin về các phần ược trích xuất từ bảng phần và các thuộc tính
của chúng.
lOMoARcPSD| 58815430
Hình 1.3: Mô tả các trường trong phần của tệp thực thi (PE Secon Fields)
Hình
1.4: Phân ch chi ết tệp PE bằng PEStudio
- Kiểm tra PE Resources: Các tài nguyên cần thiết bởi tệp thực thi như biểu
tượng, menu, hộp thoại và chuỗi ược lưu trữ trong phần tài nguyên (.rsrc) của
tệp thực thi. Thường, các kẻ tấn công lưu trữ thông tin như các tệp nhị phân
bổ sung, tài liệu mạo danh và dữ liệu cấu hình trong phần tài nguyên, vì vậy
kiểm tra tài nguyên có thể tiết lộ thông tin quý giá về một tệp thực thi.
- Phân Loại mã ộc
Phân tích mẫu mã ộc có thể cho biết mẫu ó có thuộc họ mã ộc (family), hoặc
có tính chất giống với những mẫu ã phân tích trước ó hay không. Cụ thể:
o Phân tích mẫu mã ộc có thể xác ịnh nó thuộc gia ình malware nào,
chẳng hạn như ransomware, trojan, backdoor, ...
o So sánh mẫu ó với các mẫu ã biết ể xác ịnh nó có ặc trưng giống với
mẫu ã biết trước ó hay không, ví dụ so sánh mã, hành vi, kỹ thuật lây
lan, ...
o Nếu so sánh có kết quả gần giống thì có thể kết luận ó là một mẫu
thuộc cùng gia ình (family) hoặc biến thể của một mã ã biết
Mặc dù việc tạo băm mã hóa (MD5/SHA1/SHA256) là một kỹ thuật tốt ể phát
hiện các mẫu giống nhau, nhưng nó không giúp xác ịnh các mẫu tương tự.
lOMoARcPSD| 58815430
Rất nhiều lần, tác giả phần mềm ộc hại thay ổi những khía cạnh rất nhỏ của phần mềm
ộc hại, iều này thay ổi hoàn toàn giá trị băm.
Phân loại mã ộc sử dụng Fuzzy Hashing:
Fuzzy hashing là một phương pháp ể so sánh sự tương ồng giữa các tập
tin.
Kỹ thuật này so sánh một nhị phân nghi ngờ với các mẫu trong kho lưu
trữ ể xác ịnh các mẫu tương tự là xác ịnh các mẫu thuộc cùng gia ình malware
hoặc cùng nhóm tác nhân
Phân loại mã ộc sử dụng Import Hash (imphash):
Phân tích mã ộc sử dụng các hàm API (hay còn gọi là imphash) là một kỹ
thuật có thể ược sử dụng ể xác ịnh mẫu liên quan và mẫu ược sử dụng bởi các
nhóm tác nhân e dọa.
Đặc iểm này dựa trên việc tính toán giá trị băm dựa trên tên hàm/ hàm
nhập (API) và thứ tự của chúng trong tập tin thực thi. Nếu các tập tin ược biên
dịch từ cùng một nguồn và theo cùng một cách, những tập tin ó sẽ có giá trị
imphash giống nhau.
lOMoARcPSD| 58815430
CHƯƠNG 2: CÀI ĐẶT VÀ CẤU HÌNH CÁC CÔNG CỤ PHÂN TÍCH
2.1. Một số công cụ
2.1.1 PEstudio
- PEstudio là một công cụ phân tích tĩnh mã ộc ược thiết kế ể kiểm tra các tệp
PE (Portable Executable). Công cụ này giúp phát hiện các dấu hiệu áng ngờ
mà không cần thực thi mã, bảo ảm an toàn khi phân tích phần mềm ộc hại.
- Các tính năng chính:
- Phân tích các thành phần của tệp PE như: header, sections, imported
functions, exported functions, resources, và signatures.
- Cung cấp thông tin về chứng chỉ (nếu có) của tệp tin.
- Phân tích các APIs mà tệp PE có thể sử dụng ể kiểm tra khả năng chứa mã
ộc.
- Tương thích với VirusTotal ể kiểm tra tệp tin có bị phát hiện là mã ộc hay
không.
2.1.2. FLOSS (FireEye Labs Obfuscated String Solver)
- FLOSS là công cụ ược sử dụng ể giải mã các chuỗi ký tự (string) bị ẩn hoặc
mã hóa trong phần mềm mã ộc. Nó ược phát triển bởi FireEye Labs nhằm
mục tiêu phát hiện các chuỗi ã bị làm xáo trộn hoặc ẩn trong mã.
- Các tính năng chính:
- Tự ộng phát hiện và giải mã các chuỗi ký tự ã bị mã hóa trong mã thực thi.
- Kết hợp với các công cụ phân tích tĩnh và ộng ể cung cấp thêm thông tin chi
tiết về mã ộc.
- FLOSS có thể giúp phát hiện tên miền, URL, key ăng nhập ẩn, và nhiều
thông tin khác mà kẻ tấn công cố ý giấu.
2.1.3. PEview
- PEview là một công cụ phân tích tĩnh khác dành cho việc kiểm tra cấu trúc
các tệp PE (Portable Executable). PEview cung cấp một giao diện ơn giản ể
người dùng có thể xem từng thành phần chi tiết trong cấu trúc PE của tệp tin.
- Các tính năng chính:
- Xem các section header, import/export tables, và dữ liệu của tệp PE một cách
chi tiết.
- Kiểm tra các cấu trúc nội tại của tệp PE mà không cần thực thi mã.
- Phân tích các trường thông tin quan trọng như thời gian biên dịch, tham
chiếu ến thư viện DLL, và iểm nhập chương trình.
lOMoARcPSD| 58815430
2.1.4. Capa
- Capa là công cụ phân tích mã ộc do FireEye phát triển, giúp xác ịnh các chức
năng của phần mềm mã ộc dựa trên cách chúng ược viết và vận hành.
- Nó thực hiện phân tích tĩnh và tìm kiếm các mẫu mã (patterns) ể nhận diện
các hành vi hoặc chức năng ặc biệt.
- Các tính năng chính:
- Phân tích các chức năng mã ộc như kết nối mạng, mã hóa, tương tác với hệ
thống tệp, hoặc thao tác bộ nhớ.
- Cung cấp thông tin chi tiết về chức năng của mã ộc mà không cần phải thực
thi nó.
- Dựa trên quy tắc (rules) ể phát hiện các hành vi khác nhau của phần mềm ộc
hại.
2.2. Cài ặt và cấu hình
2.2.1 Một số công cụ
- PEStudio: https://pestudio.en.lo4d.com/download/mirror-ls1
- Cutter: https://cutter.re/
- Capa: https://github.com/mandiant/capa/releases
- CFF Explorer: https://ntcore.com/?page_id=388
2.2.2. Cấu hình cài ặt
- Sau khi tải về PEStudio, Cutter, và CFF Explorer, tiến hành giải nén các tệp ã tải
xuống và chạy trực tiếp các công cụ từ các tệp này mà không cần cài ặt thêm.
- Đối với Cmder, sau khi giải nén, bạn có thể chạy trực tiếp công cụ này. Sau ó,
bắt ầu cấu hình Capa và Floss bằng cách cài ặt chúng vào môi trường làm việc
thông qua các ường dẫn tương ứng.
2.3. Trojan zeus banking
- Virus trojan Zeus ược tạo ra lần ầu tiên vào năm 2007, khi tin tặc ở Đông Âu
sử dụng nó ể nhắm vào Bộ Giao thông Vận tải Hoa Kỳ.
- Mặc dù khó có thể nói chắc chắn ai ã tạo ra nó, nhưng cuộc tấn công thực sự
bùng nổ khi mã ộc của nó bị công khai vào năm 2011.
- Kể từ ó, nó ã tạo ra hàng chục biến thể khiến các chuyên gia bảo mật internet
và cơ quan thực thi pháp luật bận rộn.
- Có hai vectơ tấn công phổ biến mở máy tính Windows cho các cuộc tấn công
của phần mềm ộc hại trojan Zeus. o Tải xuống tự ộng yêu cầu người dùng
truy cập trang web có mã trojan cửa sau trên ó. Sau ó, chúng tải xuống các tệp
vào máy tính
lOMoARcPSD| 58815430
của người dùng người dùng không biết. Các trình duyệt hiện ại như
Google Chrome thường chặn các lượt tải xuống này các trang web
chúng ược tìm thấy, nhưng tin tặc liên tục triển khai các giải pháp thay thế
mới cho việc này. Trong khi ó, các trình duyệt web hơn như Internet
Explorer thể không chặn ược các lượt tải xuống tự ộng. o Phương thức
lây nhiễm chính khác của Zeus là thông qua các cuộc tấn công lừa ảo, trong
ó người dùng nghĩ rằng họ ang tải xuống phần mềm lành tính từ các liên kết
trong email lừa ảo hoặc bài ăng trên phương tiện truyền thông xã hội.
- Zeus Banking Trojan hay còn gọi là ZueS hoặc Zbot, là một gói phần mềm mãi
ộc dạng Trojan, nó phổ biến và áng ngại trong lĩnh vực tài chính trên internet.
Nó ược thiết kế ể ánh cắp thông tin ăng nhập của người dùng, cho phép kẻ tấn
công truy cập và lừa ảo trong quá trình giao dịch tài khoản trực tuyến.
- Mã ộc này hoạt ộng như một phần mềm ộc hại có khả năng ánh cắp thông tin
và hoạt ộng trong các môi trường trực tuyến, chủ yếu là tập trung vào việc tấn
công hệ thống ngân hàng và tài chính. Nó có thể ghi lại thông tin ăng nhập, số
thẻ tín dụng, mật khẩu và các thông tin nhạy cảm từ máy tính của nạn nhân.
- Nó gây ra nguy cơ lớn ối với người dùng và tổ chức tài chính. Nó có thể gây ra
mất cắp tài sản, mất thông tin cá nhân, và tiềm tàng nguy cơ cho sự riêng tư và
an ninh tài chính của người dùng. Nó cũng có thể gây ra thiệt hại danh tiếng và
kinh tế ối với các tổ chức bị tấn công.
- Link tải:
TrojanBankingMalware:
https://github.com/ytisf/theZoo/tree/master/malware/Binarie
s/ZeusBankingVersion_26Nov2013
lOMoARcPSD| 58815430
CHƯƠNG 3: PHÂN TÍCH – THỰC NGHIỆM
3.1. Phân tích – thực nghiệm
- Quy trình phân tích
Hình
4.1: Sơ đồ quy trình phân ch
3.1.1 Xác ịnh loại của tệp
- Phát hiện một tệp áng ngờ trong máy với uôi file là .pdf
Hình
4.2: File nghi ngờ
- Sử dụng PE studio ể xem kĩ file nghi ngờ
lOMoARcPSD| 58815430
Hình
4.3: Sử dụng PEStudio để phân ch tệp đáng ngờ
- Khi sử dụng PEStudio ể phân tích một tệp áng ngờ ta thấy tên file là
invoice_2318362983713_823931342io.pdf.exe . Như có thể thấy ịnh dạng
của file là exe nhưng nó ang cố giả dạng thành file pdf ể ánh lừa người dùng.
- Loại tệp hiển thị là Portable Executable 32-bit, cho thấy ây là tệp ược phát
triển nhằm mục tiêu tấn công hệ iều hành Windows.
- Trong phần "Stamps", chúng ta có thể xác ịnh rằng tệp này lần ầu tiên ược
biên dịch vào ngày Thứ Hai, 25/11/2013 lúc 10:32:03

Preview text:


HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG KHOA AN TOÀN THÔNG TIN
BÁO CÁO BÀI TẬP LỚN
HỌC PHẦN: PHÂN TÍCH MÃ ĐỘC MÃ
HỌC PHẦN: INT14164
ĐỀ TÀI: Phân tích tĩnh malware Trojan Zeus Banking B21DCAT217 Nguyễn Khắc Tuyên B21DCAT202 Phí Đức Tuân B21DCAT085 Bùi Thanh Hiếu B21DCAT099 Nguyễn Khắc Hưng Tên nhóm: 02 Tên lớp: 01
Giảng viên hướng dẫn: Đinh Trường Duy HÀ NỘI 2024 lOMoAR cPSD| 58815430
PHÂN CÔNG NHIỆM VỤ NHÓM THỰC HIỆN Thời hạn TT
Công việc / Nhiệm vụ SV thực hiện hoàn thành 1 Viết kịch bản lần 1 Nguyễn Khắc Tuyên 21/08/2024
2 Viết kịch bản lần cuối Bùi Thanh Hiếu 15/09/2024 3 Tổng quan về mã ộc Phí Đức Tuân 01/10/2024
4 Tổng quan về phân tích tĩnh Bùi Thanh Hiếu 01/10/2024
5 Lỹ thuyết phân tích tĩnh Nguyễn Khắc Hưng 01/10/2024
6 Lỹ thuyết một số công cụ phân tích tĩnh Nguyễn Khắc Tuyên 01/10/2024 7 Cấu hình cài ặt Cả nhóm 05/10/2024 8 Xác ịnh loại tệp Bùi Thanh Hiếu Phí Đức Tuân 9 Xác ịnh mã hash
10 Phân tích mẫu sử dụng nhiều công cụ kết hợp
11 Tách chuỗi chương trình
12 Xác ịnh cách che dấu tập tin Nguyễn Khắc Tuyên 05/10/2024 Nguyễn Khắc Hưng
13 Nhận biết mã ộc có bị nén không 14 Phân tích tệp tin PE 15 Phân loại 16 Viết báo cáo Bùi Thanh Hiếu Phí 12/10/2024 Đức Tuân 17 Làm slide Nguyễn Khắc Tuyên 15/10/2024 Nguyễn Khắc Hưng 18 Thuyết trình Nguyễn Khắc Tuyên 19/10/2024
19 Hoàn thiện báo cáo theo chuẩn ngành Bùi Thanh Hiếu 21/11/2024 Nguyễn Khắc Hưng lOMoAR cPSD| 58815430
NHÓM THỰC HIỆN TỰ ĐÁNH GIÁ Thái ộ Mức hoàn Kỹ năng Kỹ năng Kỹ năng
TT SV thực hiện tham gia thành CV giao tiếp hợp tác lãnh ạo 1 Bùi Thanh Hiếu 5 4 5 5 2 Nguyễn Khắc 5 4 5 5 4 Tuyên 3 Nguyễn 5 4 5 5 Khắc Hưng 4 Phí Đức Tuân 5 4 5 5 Ghi chú:
▪ Thái ộ tham gia: Đánh giá iểm thái ộ tham gia công việc chung của nhóm (từ 0: không
tham gia, ến 5: chủ ộng, tích cực).
▪ Mức hoàn thành CV: Đánh giá iểm mức ộ hoàn thành công việc ược giao (từ 0: không
hoàn thành, ến 5: hoàn thành xuất sắc).
▪ Kỹ năng giao tiếp: Đánh giá iểm khả năng tương tác, giao tiếp trong nhóm (từ 0: không
hoặc giao tiếp rất yếu, ến 5: giao tiếp xuất sắc).
▪ Kỹ năng hợp tác: Đánh giá iểm khả năng hợp tác, hỗ trợ lẫn nhau, giải quyết mâu thuẫn, xung ột
▪ Kỹ năng lãnh ạo: Đánh giá iểm khả năng lãnh ạo (từ 0: không có khả năng lãnh ạo, ến 5:
có khả năng lãnh ạo tốt, tổ chức và iều phối công việc trong nhóm hiệu quả). MỤC LỤC
DANH MỤC CÁC TỪ VIẾT TẮT ........................................................................................ 7
MỞ ĐẦU .................................................................................................................................. 7
CHƯƠNG 1: TỔNG QUAN VỀ MÃ ĐỘC VÀ PHÂN TÍCH TĨNH ................................. 8
1.1. Tổng quan về mã ộc ................................................................................................. 8
1.2. Phân tích tĩnh ........................................................................................................... 8 lOMoAR cPSD| 58815430
CHƯƠNG 2: CÀI ĐẶT VÀ CẤU HÌNH CÁC CÔNG CỤ PHÂN TÍCH ....................... 16
2.1. Một số công cụ ........................................................................................................ 16
2.1.1 PEstudio ................................................................................................................ 16
2.1.2. FLOSS (FireEye Labs Obfuscated String Solver) .............................................. 16
2.1.3. PEview .................................................................................................................. 16
2.1.4. Capa ...................................................................................................................... 17
2.2. Cài ặt và cấu hình .................................................................................................. 17
2.2.1 Một số công cụ ...................................................................................................... 17
2.2.2. Cấu hình cài ặt ..................................................................................................... 17
2.3. Trojan zeus banking ............................................................................................... 17
CHƯƠNG 3: PHÂN TÍCH – THỰC NGHIỆM ................................................................ 19
3.1. Phân tích – thực nghiệm ........................................................................................ 19
3.1.1 Xác ịnh loại của tệp .............................................................................................. 19
3.1.2. Phân tích mã Hash .............................................................................................. 21
3.1.3. Phân tích mẫu ang có sử dụng công cụ kết hợp nhiều Antivirus (AV) ............. 23
3.1.4. Tách chuỗi từ chương trình ................................................................................ 26
3.1.5. Xác ịnh các cách che giấu của tập tin ................................................................ 28
3.1.6. Tập tin PE ........................................................................................................ 29
3.1.7. Phân loại .............................................................................................................. 38
KẾT LUẬN ............................................................................................................................ 40
TÀI LIỆU THAM KHẢO .................................................................................................... 40
Mục lục hình ảnh
Hình 1.1: Cơ chế tiêm mã vào tiến trình và thực thi .................................................................. 14
Hình 1.2: Mô tả các phần của tệp thực thi (PE Sections) .......................................................... 15
Hình 1.3: Mô tả các trường trong phần của tệp thực thi .......................................................... 16 lOMoAR cPSD| 58815430
Hình 1.4: Phân tích chi tiết tệp PE bằng PEStudio .................................................................... 16
Hình 4.1: Quy trình phân tích .................................................................................................... 20
Hình 4.2: File nghi ngờ ................................................................................................................ 20
Hình 4.3: Sử dụng PEStudio ể phân tích tệp áng ngờ ........................................................... 21
Hình 4.4: Phân tích dấu vết và hàm băm của tệp PE bằng PEStudio ....................................... 22
Hình 4.5: Phân tích hàm băm và thuộc tính tệp bằng HashMyFiles ........................................ 22
Hình 4.6: Kết quả phân tích tệp ộc hại trên VirusTotal ............................................................ 24
Hình 4.7: Kết quả phân tích tệp ộc hại trên VirusTotal ............................................................ 24
Hình 4.8: Thông tin chi tiết tệp ộc hại trên VirusTotal ............................................................. 25
Hình 4.9: Thông tin về các phần và hàm nhập của tệp PE trên VirusTotal .............................. 26
Hình 4.10: Phân tích tài nguyên chứa trong các tệp thực thi trên VirusTotal .......................... 26
Hình 4.11: Danh sách hàm nhập và kỹ thuật tấn công mã ộc trong PEStudio ...................... 27
Hình 4.12: Kết quả phân tích chuỗi tĩnh và giải mã từ FLOSS ................................................. 28
Hình 4.13: Kết quả phân tích chuỗi tĩnh và giải mã từ FLOSS ................................................. 28
Hình 4.14: Phân tích thông tin chi tiết tệp thực thi bằng Exeinfo PE....................................... 29
Hình 4.15: Phân tích các phần của tệp thực thi bằng PEStudio ............................................... 30
Hình 4.16: Phân tích thư viện và hàm nhập của tệp thực thi trên PEStudio30
Hình 4.17: Phân tích thư viện và hàm nhập của tệp thực thi trên PEStudio ............................ 32
Hình 4.18: Phân tích chi tiết tiêu ề DOS và các phần của tệp thực thi trên PEView ............. 35
Hình 4.19: Thông tin tệp xuất và các thành phần khác của tệp thực thi
....................................................................................................................................................... 36
Hình 4.20: Phân tích kỹ thuật né tránh và phát hiện máy ảo bằng CAPA ................................ 36
Hình 4.21: Phân tích mã máy: GetTickCount và AllowSetForegroundWindow ....................... 37
Hình 4.22: Biểu ồ dòng mã: GetTickCount và AllowSetForegroundWindow ......................... 38
Hình 4.23: Biểu ồ dòng mã: GetCapture trong mã ộc ............................................................ 38
Hình 4.24: Biểu ồ dòng mã: GetClipboardData trong mã ộc ................................................. 39 Hình
4.25: Biểu ồ dòng mã: GetDriveTypeA trong mã ộc ...................................................... 39 lOMoAR cPSD| 58815430
Hình 4.26: Kết quả phát hiện mã ộc Trojan và Backdoor trên VirusTotal .............................. 40 Hình
4.27: Kết quả phát hiện mã ộc Trojan và Backdoor trên VirusTotal .............................. 40 Hình 4.28:
Kết quả phát hiện mã ộc Trojan và Backdoor trên VirusTotal .............................. 41 lOMoAR cPSD| 58815430
DANH MỤC CÁC TỪ VIẾT TẮT Từ
Thuật ngữ tiếng Việt/Giải thích
viết tắt Thuật ngữ tiếng Anh/Giải thích
Định dạng tệp thực thi chuẩn ược PE Portable Executable
sử dụng trên hệ iều hành Windows
Windows Giao diện lập trình ứng Application Programming
dụng, cung cấp cách thức ể các APIs Interfaces
ứng dụng , hệ thống hoặc dịch vụ
khác nhau giao tiếp với nhau
Là một trong những loại mã độc
nguy hiểm và phổ biến nhất, Zbot Trojan Zeus
được thiết kế nhằm đánh cắp
thông tin nhạy cảm, đặc biệt là
dữ liệu ngân hàng trực tuyến MỞ ĐẦU
Mã ộc Trojan Zeus (còn ược gọi là Zbot) là một trong những loại mã ộc nguy
hiểm và phổ biến nhất, ược thiết kế nhằm ánh cắp thông tin nhạy cảm, ặc biệt là dữ
liệu ngân hàng trực tuyến. Xuất hiện lần ầu vào năm 2007, Zeus nhanh chóng trở
thành công cụ ắc lực trong các chiến dịch tấn công mạng nhờ khả năng ẩn mình, lây
lan hiệu quả và tích hợp nhiều chức năng ộc hại.
Báo cáo này tập trung vào việc phân tích tĩnh mẫu mã ộc Zeus Banking, bao
gồm việc khám phá cấu trúc tệp, mã nguồn ược mã hóa, và các kỹ thuật che giấu
(obfuscation) mà mã ộc sử dụng ể tránh bị phát hiện. Qua quá trình phân tích, chúng
tôi không chỉ xác ịnh ược cách thức hoạt ộng của mã ộc mà còn làm sáng tỏ các thành
phần chính trong chuỗi tấn công, từ việc xâm nhập hệ thống nạn nhân ến quá trình thu
thập và gửi dữ liệu về máy chủ iều khiển. lOMoAR cPSD| 58815430
CHƯƠNG 1: TỔNG QUAN VỀ MÃ ĐỘC VÀ PHÂN TÍCH TĨNH
1.1. Tổng quan về mã ộc
1.1.1 Mã ộc là gì?
- Mã ộc (Malware) là phần mềm ộc hại ược thiết kế ể xâm nhập vào hệ thống
máy tính mà không có sự ồng ý của người dùng. Mục ích của mã ộc có thể là
gây hại cho hệ thống, ánh cắp dữ liệu cá nhân hoặc làm gián oạn hoạt ộng của máy tính.
- Mã ộc có thể tồn tại dưới nhiều hình thức, như tập tin thực thi, script hoặc mã
nguồn. Kẻ tấn công sử dụng mã ộc ể thu thập thông tin nhạy cảm, theo dõi
hành vi người dùng hoặc chiếm quyền iều khiển máy tính.
- Thông thường, mã ộc xâm nhập qua email lừa ảo, trang web ộc hại hoặc thiết bị lưu trữ USB.
1.1.2. Viruss Trojan Horses
- Đây là loại mã ộc ngụy trang dưới vỏ bọc phần mềm vô hại và thậm chí có thể hoạt ộng.
- Như một chương trình hợp pháp trong hệ thống trước khi thực hiện các hành
vi ộc hại ược chỉ ịnh
- Các oạn mã của Trojan ược “che giấu” trong các phần mềm máy tính bình
thường ể bí mật xâm nhập vào máy tính.
- Tới thời iểm thuận lợi, chúng sẽ ánh cắp thông tin cá nhân và chiếm quyền iều khiển máy tính… 1.2. Phân tích tĩnh
- Phân tích tĩnh là kỹ thuật phân tích tệp nghi ngờ (mẫu) mà không thực thi nó.
- Phân tích mã ộc có mục tiêu nữa là từ kết quả của việc phần tích ưa ra cách ể
gỡ bỏ và phòng tránh mã ộc ó.
- Phân tích tĩnh ược chia làm 2 loại:
o Phân tích tĩnh cơ bản.
o Phân tích tĩnh nâng cao.
1.2.1. Vai trò của phân tích tĩnh
- Cung cấp thông tin ban ầu mà không cần thực thi tệp: Phân tích tĩnh có thể
ược thực hiện mà không cần thực thi tệp. Điều này cho phép thu thập thông
tin ban ầu về tệp mà không kích hoạt mã ộc tiềm ẩn.
- Xác ịnh hành vi tiềm ẩn: Phân tích tĩnh có thể tiết lộ những gợi ý về hành vi
tiềm ẩn của tệp như kết nối mạng, truy cập hệ thống tập tin, v.v.
Điều này có thể giúp xác ịnh liệu tệp có áng nghi ngờ hay không. lOMoAR cPSD| 58815430
- Xác ịnh cách thức hoạt ộng: Phân tích tĩnh có thể tiết lộ cách thức hoạt ộng
của tệp thông qua việc khám phá cấu trúc, luồng iều khiển và các hàm.
- Hỗ trợ phân tích ộng sau ó: Thông tin thu thập ược từ phân tích tĩnh có thể
hỗ trợ phân tích ộng sau ó khi thực thi tệp trong môi trường cô lập
- Phân loại tệp: Phân tích tĩnh có thể cung cấp ủ thông tin ể phân loại nhanh
tệp là bening hoặc áng ngờ.
1.2.2. Một số công cụ phân tích tĩnh
- Capa: Capa tập trung vào việc xác ịnh các ặc iểm quan trọng của mã ộc, phát hiện chữ ký.
- Floss: Cũng giống như Capa, công cụ Floss cũng tìm chữ ký trong tệp thực
thi, ngoài ra nó còn tìm chuỗi.
- Cutter: Công cụ có khả năng thực hiện debugging cho các tệp thực thi
- PEStudio: Công cụ này cung cấp thông tin chi tiết về các thành phần quan
trọng trong tệp thực thi: module, ký sự số bản quyền, thông tin nhúng giúp kiểm tra tệp PE.
- CFF Explorer: Công cụ này cung cấp thông tin một cách chi tiết về các cấu
trúc của tệp thực thi, bao gồm module, bảng phân oạn.
1.2.3. Quy trình phân tích tĩnh
a. Xác ịnh loại của tệp
- Phần mở rộng tệp (File extension) là một phần của tên tệp ược gắn liền với
tên tệp ể chỉ ịnh ịnh dạng hoặc loại tệp, vd: .exe, .dll, .sys, docx, xlsx...
o Phần mở rộng tệp giúp hệ iều hành và các ứng dụng phần mềm nhận
biết loại tệp và sử dụng chương trình mở tương ứng ể xem hoặc xử lý tệp.
o Các kẻ tấn công có thể sử dụng các chiêu trò khác nhau ể che dấu tệp
của họ bằng cách sửa ổi phần mở rộng tệp và thay ổi giao diện của tệp
ể lừa người dùng vào thực thi nó.
- Chữ ký tệp (File Signature) có thể ược sử dụng ể xác ịnh loại tệp, thay cho phần mở rộng tệp.
o Chữ ký tệp là trình tự byte duy nhất ược viết vào phần ầu tệp.
o Các tệp khác nhau có chữ ký khác nhau có thể ược sử dụng ể xác ịnh loại tệp.
- Timestamp: Phần mềm óng gói chứa thông tin xác ịnh thời iểm tệp ược ược
biên dịch; kiểm tra trường này có thể cho bạn biết khi phần mềm ộc hại ược tạo lần ầu.
- Các công cụ sử dụng ể xác ịnh loại của tệp: lOMoAR cPSD| 58815430
o Sử dụng phương pháp thủ công ể xác ịnh loại tệp là tìm kiếm chữ ký
tệp bằng cách mở nó trong một trình chỉnh sửa hex.
o Trình chỉnh hex là một công cụ cho phép một nhà iều tra kiểm tra từng
byte của tệp; hầu hết trình chỉnh hex cung cấp nhiều chức năng giúp
trong việc phân tích tệp. o Sử dụng phương pháp xác ịnh bằng công cụ
b. Phân tích mã Hash
- Quá trình tạo các giá trị băm cho các tệp nghi ngờ dựa trên nội dung của
chúng, cũng giống như tạo vân tay (Fingerprinting) cho mã ộc.
- Các thuật toán băm thường ược sử dụng như MD5, SHA1 hoặc SHA256.
- Các công cụ có thể sử dụng:
o Linux: Md5sum, Sha256sum, Sha1sum … o Windows:
HashMyFiles, FsumFrontEnd, Jacksum …
c. Tách chuỗi từ chương trình mã ộng
- Sử dụng phần mềm ể lấy Strings từ các chương trình có thể là mã ộc o Để
trích xuất chuỗi từ một tập tin nhị phân nghi ngờ, bạn có thể sử dụng tiện
ích strings trên hệ thống Linux.
o Đối với các mẫu mã ộc hại, cũng sử dụng chuỗi Unicode (2 byte mỗi ký tự).
o Trên Windows, PEStudio là một công cụ tiện ích hiển thị cả chuỗi
ASCII và chuỗi Unicode. o PEStudio là một công cụ phân tích PE
tuyệt vời ể thực hiện ánh giá ban ầu về phần mềm ộc hại từ một tập
tin nhị phân nghi ngờ và ược thiết kế ể thu thập các mẫu thông tin
hữu ích từ một tập tin thực thi PE.
d. Lấy những chuỗi ã bị che dấu bằng Floss
- Trong hầu hết các trường hợp, tác giả phần mềm ộc hại sử dụng các kỹ
thuật che dấu chuỗi ơn giản ể tránh bị phát hiện.
- Trong những trường hợp như vậy, những chuỗi ã ược che giấu sẽ không
xuất hiện trong tiện ích strings và các công cụ trích xuất chuỗi khác.
- FireEye Labs Obfuscated String Solver (FLOSS) là một công cụ ược thiết
kế ể tự ộng xác ịnh và trích xuất chuỗi ã ược làm mờ từ phần mềm ộc hại.
- Xác ịnh cách che giấu của tập tin o Dù việc trích xuất chuỗi là một kỹ thuật
xuất sắc ể thu thập thông tin có giá trị, thường tác giả phần mềm ộc hại sẽ
che giấu hoặc bảo vệ tập tin nhị phân của họ.
o Điều này ược sử dụng bởi tác giả phần mềm ộc hại ể bảo vệ cấu trúc
bên trong của phần mềm ộc hại khỏi các nhà nghiên cứu bảo lOMoAR cPSD| 58815430
mật, các chuyên gia phân tích phần mềm ộc hại và kỹ sư ảo ngược
mã. o Các kỹ thuật làm mờ này làm cho việc phát hiện/phân tích tập tin
trở nên khó khăn; việc trích xuất chuỗi từ tập tin nhị phân như vậy dẫn
ến rất ít chuỗi, và hầu hết các chuỗi ược che giấu.
- Packers and Cryptors o Packer là một chương trình lấy tập tin thực thi làm
ầu vào và sử dụng nén ể ể che giấu nội dung của tập tin thực thi. o Một
Cryptor tương tự như một Packer, nhưng thay vì sử dụng nén, nó sử dụng
mã hóa ể giấu nội dung của tập tin thực thi, và nội dung ã ược mã hóa ược
lưu trữ trong tập tin thực thi mới
e. Phát hiện các tệp tin ẩn giấu bằng Exeinfo PE
- Hầu hết các tập tin thực thi hợp pháp không che giấu nội dung, nhưng một số
tập tin thực thi có thể thực hiện iều này ể ngăn người khác kiểm tra mã nguồn của họ.
- Khi bạn gặp một mẫu mã ã ược óng gói, có khả năng cao nó sẽ là ộc hại.
- Để phát hiện các chương trình óng gói trên Windows, bạn có thể sử dụng một
công cụ miễn phí như Exeinfo PE ,nó có giao diện người dùng dễ sử dụng, ể
phát hiện các trình biên dịch, chương trình óng gói hoặc mã hóa ược sử dụng
ể xây dựng chương trình.
f. Phân tích cách che giấu -
Obfuscated strings(che giấu chuỗi): là các chuỗi
ã bị “che giấu”, bị xáo trộn làm cho các công cụ phân tích chuỗi như strings
utility không thể trích xuất ra các chuỗi.
- Các kỹ thuật Obfuscated strings: XOR Encryption, Base64 Encoding,
Unicode Escaping, String Concatenation, Dynamic String Decryption.
→ Sử dụng FireEye Labs Obfuscated String Solver (FLOSS). FLOSS có thể phân
tích chuỗi thông thường cũng như các chuỗi bị obfuscated.
g. Nhận biết mã ộc có bị nén hay mã hóa không?
- Các công cụ nhận dạng gói (packers) ã biết sẽ ược xác ịnh bằng các nhận
dạng gói như Detect it Easy, PEiD, và các công cụ tương tự.
- Tuy nhiên, phần mềm ộc hại thường ược gói bởi các gói tùy chỉnh, ược tạo ra
ặc biệt ể tránh các chương trình antivirus.
- Những gói này không thể ược xác ịnh bằng những công cụ này.
- Có một số nguyên tắc tổng quát có thể chỉ ra liệu một tập tin có ược gói hay không, như: o Có ộ entropy cao lOMoAR cPSD| 58815430
o Các hàm nhập iển hình của packed files hay nhiễm ộc
Hình 1.1: Cơ chế tiêm mã vào tiến trình và thực thi
- Có dòng rác, không có nghĩa trong tệp nhị phân h. Tệp tin PE -
Các tệp thực thi Windows (như .exe, .dll, .sys, .ocx và .drv) phải tuân thủ
theo ịnh dạng PE (Portable Executable). -
Tệp PE là một loạt các cấu trúc và thành phần con chứa thông tin cần
thiết cho hệ iều hành ể tải nó vào bộ nhớ. - Công cụ:
• CFF Explorer: http://www.ntcore.com/exsuite.php
• PEInternals:http://www.andreybazhan.com/pe-internals.html
• PPEE(puppy): https://www.mzrst.com
- Thường, phần mềm ộc hại tương tác với tệp, registry, mạng, và các thành phần khác.
- Để thực hiện các tương tác như vậy, phần mềm ộc hại thường phụ thuộc vào
các hàm ược hệ iều hành cung cấp.
- Windows xuất ra hầu hết các hàm của nó, gọi là Application lOMoAR cPSD| 58815430
Programming Interfaces (API), cần thiết cho các tương tác này trong các tệp Dynamic Link Library (DLL).
- Các tệp thực thi nhập và gọi các hàm này thường từ các DLL khác nhau cung
cấp các chức năng khác nhau.
- Các hàm mà một tệp thực thi nhập từ các tệp khác (chủ yếu là DLL) ược gọi
là các hàm nhập (hàm imports). o Kiểm tra các imports có thể: o Kiểm tra Exports
- Nội dung của tệp PE ược chia thành các Section.
- Các section này ại diện cho code hoặc data và chúng có các thuộc tính trong bộ nhớ như read/ write .
Trong quá trình biên dịch của tệp thực thi, các trình biên dịch thêm các tên
section liên tục. Bảng sau ây cho biết một số section thông thường trong một tệp PE: Hình
1.2: Mô tả các phần của tệp thực thi (PE Sections)
- Các tên section này chủ yếu dành cho con người và không ược hệ iều hành
sử dụng, iều này có nghĩa rằng có khả năng một kẻ tấn công hoặc phần mềm
làm mờ thông tin có thể tạo ra các section với tên khác nhau.
- Thông tin về các section này (như tên phần, vị trí của phần và các ặc iểm của
nó) có sẵn trong bảng phần trong PE header (Portable Executable). Kiểm tra
bảng phần sẽ cung cấp thông tin về phần và các ặc iểm của nó.
- Khi bạn tải một tệp thực thi trong pestudio và nhấp vào mục "sections," nó sẽ
hiển thị thông tin về các phần ược trích xuất từ bảng phần và các thuộc tính của chúng. lOMoAR cPSD| 58815430
Hình 1.3: Mô tả các trường trong phần của tệp thực thi (PE Section Fields) Hình
1.4: Phân tích chi tiết tệp PE bằng PEStudio
- Kiểm tra PE Resources: Các tài nguyên cần thiết bởi tệp thực thi như biểu
tượng, menu, hộp thoại và chuỗi ược lưu trữ trong phần tài nguyên (.rsrc) của
tệp thực thi. Thường, các kẻ tấn công lưu trữ thông tin như các tệp nhị phân
bổ sung, tài liệu mạo danh và dữ liệu cấu hình trong phần tài nguyên, vì vậy
kiểm tra tài nguyên có thể tiết lộ thông tin quý giá về một tệp thực thi.
- Phân Loại mã ộc
• Phân tích mẫu mã ộc có thể cho biết mẫu ó có thuộc họ mã ộc (family), hoặc
có tính chất giống với những mẫu ã phân tích trước ó hay không. Cụ thể:
o Phân tích mẫu mã ộc có thể xác ịnh nó thuộc gia ình malware nào,
chẳng hạn như ransomware, trojan, backdoor, ...
o So sánh mẫu ó với các mẫu ã biết ể xác ịnh nó có ặc trưng giống với
mẫu ã biết trước ó hay không, ví dụ so sánh mã, hành vi, kỹ thuật lây lan, ...
o Nếu so sánh có kết quả gần giống thì có thể kết luận ó là một mẫu
thuộc cùng gia ình (family) hoặc biến thể của một mã ã biết
Mặc dù việc tạo băm mã hóa (MD5/SHA1/SHA256) là một kỹ thuật tốt ể phát
hiện các mẫu giống nhau, nhưng nó không giúp xác ịnh các mẫu tương tự. lOMoAR cPSD| 58815430
Rất nhiều lần, tác giả phần mềm ộc hại thay ổi những khía cạnh rất nhỏ của phần mềm
ộc hại, iều này thay ổi hoàn toàn giá trị băm.
• Phân loại mã ộc sử dụng Fuzzy Hashing:
Fuzzy hashing là một phương pháp ể so sánh sự tương ồng giữa các tập tin.
Kỹ thuật này so sánh một nhị phân nghi ngờ với các mẫu trong kho lưu
trữ ể xác ịnh các mẫu tương tự là xác ịnh các mẫu thuộc cùng gia ình malware hoặc cùng nhóm tác nhân
• Phân loại mã ộc sử dụng Import Hash (imphash):
Phân tích mã ộc sử dụng các hàm API (hay còn gọi là imphash) là một kỹ
thuật có thể ược sử dụng ể xác ịnh mẫu liên quan và mẫu ược sử dụng bởi các nhóm tác nhân e dọa.
Đặc iểm này dựa trên việc tính toán giá trị băm dựa trên tên hàm/ hàm
nhập (API) và thứ tự của chúng trong tập tin thực thi. Nếu các tập tin ược biên
dịch từ cùng một nguồn và theo cùng một cách, những tập tin ó sẽ có giá trị imphash giống nhau. lOMoAR cPSD| 58815430
CHƯƠNG 2: CÀI ĐẶT VÀ CẤU HÌNH CÁC CÔNG CỤ PHÂN TÍCH
2.1. Một số công cụ 2.1.1 PEstudio
- PEstudio là một công cụ phân tích tĩnh mã ộc ược thiết kế ể kiểm tra các tệp
PE (Portable Executable). Công cụ này giúp phát hiện các dấu hiệu áng ngờ
mà không cần thực thi mã, bảo ảm an toàn khi phân tích phần mềm ộc hại.
- Các tính năng chính:
- Phân tích các thành phần của tệp PE như: header, sections, imported
functions, exported functions, resources, và signatures.
- Cung cấp thông tin về chứng chỉ (nếu có) của tệp tin.
- Phân tích các APIs mà tệp PE có thể sử dụng ể kiểm tra khả năng chứa mã ộc.
- Tương thích với VirusTotal ể kiểm tra tệp tin có bị phát hiện là mã ộc hay không.
2.1.2. FLOSS (FireEye Labs Obfuscated String Solver)
- FLOSS là công cụ ược sử dụng ể giải mã các chuỗi ký tự (string) bị ẩn hoặc
mã hóa trong phần mềm mã ộc. Nó ược phát triển bởi FireEye Labs nhằm
mục tiêu phát hiện các chuỗi ã bị làm xáo trộn hoặc ẩn trong mã.
- Các tính năng chính:
- Tự ộng phát hiện và giải mã các chuỗi ký tự ã bị mã hóa trong mã thực thi.
- Kết hợp với các công cụ phân tích tĩnh và ộng ể cung cấp thêm thông tin chi tiết về mã ộc.
- FLOSS có thể giúp phát hiện tên miền, URL, key ăng nhập ẩn, và nhiều
thông tin khác mà kẻ tấn công cố ý giấu. 2.1.3. PEview
- PEview là một công cụ phân tích tĩnh khác dành cho việc kiểm tra cấu trúc
các tệp PE (Portable Executable). PEview cung cấp một giao diện ơn giản ể
người dùng có thể xem từng thành phần chi tiết trong cấu trúc PE của tệp tin.
- Các tính năng chính:
- Xem các section header, import/export tables, và dữ liệu của tệp PE một cách chi tiết.
- Kiểm tra các cấu trúc nội tại của tệp PE mà không cần thực thi mã.
- Phân tích các trường thông tin quan trọng như thời gian biên dịch, tham
chiếu ến thư viện DLL, và iểm nhập chương trình. lOMoAR cPSD| 58815430 2.1.4. Capa
- Capa là công cụ phân tích mã ộc do FireEye phát triển, giúp xác ịnh các chức
năng của phần mềm mã ộc dựa trên cách chúng ược viết và vận hành.
- Nó thực hiện phân tích tĩnh và tìm kiếm các mẫu mã (patterns) ể nhận diện
các hành vi hoặc chức năng ặc biệt.
- Các tính năng chính:
- Phân tích các chức năng mã ộc như kết nối mạng, mã hóa, tương tác với hệ
thống tệp, hoặc thao tác bộ nhớ.
- Cung cấp thông tin chi tiết về chức năng của mã ộc mà không cần phải thực thi nó.
- Dựa trên quy tắc (rules) ể phát hiện các hành vi khác nhau của phần mềm ộc hại.
2.2. Cài ặt và cấu hình
2.2.1 Một số công cụ
- PEStudio: https://pestudio.en.lo4d.com/download/mirror-ls1
- Cutter: https://cutter.re/
- Capa: https://github.com/mandiant/capa/releases
- CFF Explorer: https://ntcore.com/?page_id=388
2.2.2. Cấu hình cài ặt
- Sau khi tải về PEStudio, Cutter, và CFF Explorer, tiến hành giải nén các tệp ã tải
xuống và chạy trực tiếp các công cụ từ các tệp này mà không cần cài ặt thêm.
- Đối với Cmder, sau khi giải nén, bạn có thể chạy trực tiếp công cụ này. Sau ó,
bắt ầu cấu hình Capa và Floss bằng cách cài ặt chúng vào môi trường làm việc
thông qua các ường dẫn tương ứng.
2.3. Trojan zeus banking
- Virus trojan Zeus ược tạo ra lần ầu tiên vào năm 2007, khi tin tặc ở Đông Âu
sử dụng nó ể nhắm vào Bộ Giao thông Vận tải Hoa Kỳ.
- Mặc dù khó có thể nói chắc chắn ai ã tạo ra nó, nhưng cuộc tấn công thực sự
bùng nổ khi mã ộc của nó bị công khai vào năm 2011.
- Kể từ ó, nó ã tạo ra hàng chục biến thể khiến các chuyên gia bảo mật internet
và cơ quan thực thi pháp luật bận rộn.
- Có hai vectơ tấn công phổ biến mở máy tính Windows cho các cuộc tấn công
của phần mềm ộc hại trojan Zeus. o Tải xuống tự ộng yêu cầu người dùng
truy cập trang web có mã trojan cửa sau trên ó. Sau ó, chúng tải xuống các tệp vào máy tính lOMoAR cPSD| 58815430
của người dùng mà người dùng không biết. Các trình duyệt hiện ại như
Google Chrome thường chặn các lượt tải xuống này và các trang web mà
chúng ược tìm thấy, nhưng tin tặc liên tục triển khai các giải pháp thay thế
mới cho việc này. Trong khi ó, các trình duyệt web cũ hơn như Internet
Explorer có thể không chặn ược các lượt tải xuống tự ộng. o Phương thức
lây nhiễm chính khác của Zeus là thông qua các cuộc tấn công lừa ảo, trong
ó người dùng nghĩ rằng họ ang tải xuống phần mềm lành tính từ các liên kết
trong email lừa ảo hoặc bài ăng trên phương tiện truyền thông xã hội.
- Zeus Banking Trojan hay còn gọi là ZueS hoặc Zbot, là một gói phần mềm mãi
ộc dạng Trojan, nó phổ biến và áng ngại trong lĩnh vực tài chính trên internet.
Nó ược thiết kế ể ánh cắp thông tin ăng nhập của người dùng, cho phép kẻ tấn
công truy cập và lừa ảo trong quá trình giao dịch tài khoản trực tuyến.
- Mã ộc này hoạt ộng như một phần mềm ộc hại có khả năng ánh cắp thông tin
và hoạt ộng trong các môi trường trực tuyến, chủ yếu là tập trung vào việc tấn
công hệ thống ngân hàng và tài chính. Nó có thể ghi lại thông tin ăng nhập, số
thẻ tín dụng, mật khẩu và các thông tin nhạy cảm từ máy tính của nạn nhân.
- Nó gây ra nguy cơ lớn ối với người dùng và tổ chức tài chính. Nó có thể gây ra
mất cắp tài sản, mất thông tin cá nhân, và tiềm tàng nguy cơ cho sự riêng tư và
an ninh tài chính của người dùng. Nó cũng có thể gây ra thiệt hại danh tiếng và
kinh tế ối với các tổ chức bị tấn công. - Link tải: TrojanBankingMalware:
https://github.com/ytisf/theZoo/tree/master/malware/Binarie
s/ZeusBankingVersion_26Nov2013 lOMoAR cPSD| 58815430
CHƯƠNG 3: PHÂN TÍCH – THỰC NGHIỆM
3.1. Phân tích – thực nghiệm - Quy trình phân tích Hình
4.1: Sơ đồ quy trình phân tích
3.1.1 Xác ịnh loại của tệp
- Phát hiện một tệp áng ngờ trong máy với uôi file là .pdf Hình
4.2: File nghi ngờ
- Sử dụng PE studio ể xem kĩ file nghi ngờ lOMoAR cPSD| 58815430 Hình
4.3: Sử dụng PEStudio để phân tích tệp đáng ngờ
- Khi sử dụng PEStudio ể phân tích một tệp áng ngờ ta thấy tên file là
invoice_2318362983713_823931342io.pdf.exe . Như có thể thấy ịnh dạng
của file là exe nhưng nó ang cố giả dạng thành file pdf ể ánh lừa người dùng.
- Loại tệp hiển thị là Portable Executable 32-bit, cho thấy ây là tệp ược phát
triển nhằm mục tiêu tấn công hệ iều hành Windows.
- Trong phần "Stamps", chúng ta có thể xác ịnh rằng tệp này lần ầu tiên ược
biên dịch vào ngày Thứ Hai, 25/11/2013 lúc 10:32:03