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 trên hệ điều hành Windows SHA256 Sec
Trang 1HỌ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 MẪU MÃ ĐỘC NOT PETYA & BAD RABBIT
Các sinh viên thực hiện:
Nguyễn Khắc Vương B21DCAT226
Tên nhóm: 08 Tên lớp: INT14164-20241-02
Giảng viên hướng dẫn: TS Đinh Trường Duy
HÀ NỘI 2024
Trang 2PHÂN CÔNG NHIỆM VỤ NHÓM THỰC HIỆN
hoàn thành
1 Phân tích động với Cuckoo Sandbox Nguyễn Khắc Vương 10/10/2024
2 Phân tích tĩnh cơ bản + nâng cao Đặng Quý Nam 10/10/2024
3 Phân tích tĩnh cơ bản + nâng cao Nguyễn Quang Huy 10/10/2024
4 Phân tích động thủ công Lê Ngọc Quyền 10/10/2024
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
Trang 3MỤC LỤC
MỤC LỤC 3
DANH MỤC CÁC TỪ VIẾT TẮT 8
MỞ ĐẦU 9
CHƯƠNG 1 TỔNG QUAN VỀ MÃ ĐỘC VÀ PHƯƠNG PHÁP PHÂN TÍCH 10
1.1 Khái niệm về mã độc và Ransomware 10
1.2 Giới thiệu về Ransomware NotPetYa và Bad Rabbit 10
1.2.1 NotPetYa 10
1.2.2 Bad Rabbit 10
1.3 Các phương pháp phân tích mã độc 11
1.3.1 Phân tích tĩnh 11
1.3.2 Phân tích động 11
1.4 Quy trình phân tích mã độc 11
1.5 Kết chương 12
CHƯƠNG 2 PHÂN TÍCH MÃ ĐỘC NOT PETYA VÀ BAD RABBIT 13
2.1 Khái quát 13
2.2 Chuẩn bị môi trường phân tích 13
2.2.1 Lựa chọn mẫu mã độc 13
2.2.2 Thiết lập các công cụ phân tích 13
2.3 Phân tích mã độc Not Petya 13
2.3.1 Phân tích tĩnh cơ bản 13
2.3.2 Phân tích tĩnh nâng cao 14
2.3.3 Phân tích động trong Cuckoo Sandbox 16
2.3.4 Phân tích động thủ công 18
2.4 Phân tích mã độc Bad Rabbit 21
2.4.1 Phân tích tĩnh cơ bản 21
2.4.2 Phân tích tĩnh nâng cao 22
2.4.3 Phân tích động trong Cuckoo Sandbox 23
2.4.4 Phân tích động thủ công 24
2.5 Kết chương 32
CHƯƠNG 3 SO SÁNH VÀ ĐÁNH GIÁ 33
3.1 So sánh mã độc Not Petya và Bad Rabbit 33
3.1.1 Cơ chế hoạt động 33
3.1.2 Mức độ ảnh hưởng 33
Trang 43.2 Đánh giá, đề xuất biện pháp khắc phục 34
a) Đánh giá mức độ nguy hiểm 34
b) Biện pháp khắc phục 34
3.3 Kết chương 35
KẾT LUẬN 36
TÀI LIỆU THAM KHẢO 37
Trang 5Danh mục hình ảnh
Hình 1 Quy trình phân tích mã độc 11
Hình 2 Các hàm import 14
Hình 3 Thông tin chung của Not Petya từ Cuckoo Sanbox 16
Hình 4 Not Petya tìm tên máy tính 16
Hình 5 Thông tin Script của mã độc 17
Hình 6 Các URL khả nghi 17
Hình 7 Mã độc có khả năng chống ảo hóa 18
Hình 8 Mã độc có hành vi né tránh 18
Hình 9 Quan sát trên process monitor 18
Hình 10 Quan sát trên Process Hacker 19
Hình 11 Quan sát trên Process Hacker 19
Hình 12 Quan sát các giao tiếp mạng 20
Hình 13 Quan sát trên WireShark 20
Hình 14 Các hàm import 22
Hình 20 Quan sát trên WireShark 27
Hình 21 Thao tác với file cscc.dat 27
Hình 22 Thao tác với file infpub.dat 27
Hình 23 Thao tác với file dispci.exe 27
Hình 24 Thao tác với các file trong Recycle Bin và file zip 28
Hình 25 Thao tác làm dụng thư mục C:|MSOCache 28
Hình 26 Thao tác ghi liên quan đến lập lịch tác vụ (Task Scheduler) 29
Hình 27 Thao tác thêm trình điều khiển ( driver) 29
Hình 28 Thao tác thêm bộ lọc 30
Hình 29 Quy trình của mã độc 31
Hình 30 Kiểm tra quyền 38
Hình 31 Tạo tệp trong đường dẫn C:\Windows 38
Hình 32 Hàm băm tên tiến trình 40
Hình 33 Lệnh anti Forensics 40
Hình 34 Lập lịch tắt hệ thống 41
Hình 35 Phát tán qua SMB 42
Hình 36 Di chuyển đến các chia sẻ mặc định của Admin 42
Hình 37 Xây dựng dòng lệnh thực thi từ xa với PsExec 42
Hình 38 Mã độc cố gắng truy cập ổ đĩa 43
Hình 39 Giả mạo sửa chữa hệ thống & Ransomenote 43
Hình 40 Main function 44
Hình 41 Locate Embed 44
Hình 42 Inflate Payload 45
Hình 43 Tạo tệp 45
Hình 44 Gọi hàm xuất của tệp DLL infpub.dat 45
Hình 45 Kiểm tra quyền 46
Hình 46 Liệt kê các tiến trình đang chạy 46
Hình 47 So sánh giá trị để phát hiện AV 47
Hình 48 Tạo file cscc.dat 47
Trang 6Hình 49 Rundll32.exe Token Impersonation 48
Hình 50 Tạo dispci.exe 48
Hình 51 Tạo lệnh lập lịch tắt hệ thống 49
Hình 52 Các loại file bị mã hóa 49
Hình 53 Sử dụng CryptGenRandom để mã hóa 49
Hình 54 Ransomenote 49
Trang 7Danh mục bảng biểu
Bảng 1 Dòng mã độc 14
Bảng 2 Các API mà mã độc gọi 14
Bảng 3 Phân tích hành vi 15
Bảng 4 Dòng mã độc 22
Bảng 5 Các API mà mã độc gọi 22
Bảng 6 Phân tích hành vi 23
Bảng 7 So sánh cơ chế hoạt động 33
Bảng 8 So sánh mức độ ảnh hưởng 33
Bảng 9 Các phương pháp khởi động lại 41
Trang 8DANH 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 trên hệ điều hành
Windows SHA256 Secure Hash Algorithm 256-bit Thuật toán băm an toàn 256-bit
API Application Programming Interface Giao diện lập trình ứng dụng
AES Advanced Encryption Standard Tiêu chuẩn mã hóa nâng cao
RSA Rivest–Shamir–Adleman Thuật toán mã hóa công khai
MBR Master Boot Record Bản ghi khởi động chính
DLL Dynamic Link Library Thư viện liên kết động
SMB Server Message Block Giao thức chia sẻ tệp trên mạng
Trang 9MỞ ĐẦU
Trong kỷ nguyên số, an ninh mạng trở thành một trong những thách thức lớn nhất đối
với cá nhân, tổ chức và các quốc gia trên toàn cầu Các cuộc tấn công mạng với sự xuất hiện
của các loại mã độc tinh vi không ngừng gia tăng, gây ra những hậu quả nghiêm trọng về
kinh tế, chính trị và xã hội Trong số đó, các mã độc như Bad Rabbit và NotPetya đã từng
làm khuẩy động cộng đồng mạng với khả năng phát tán nhanh chóng và phá hoại dữ liệu ở
quy mô lớn
Với tầm quan trọng của việc hiểu rõ và ứng phó với các mã độc, đề tài này tập trung phân
tích đặc điểm, cơ chế hoạt động, và mức độ ảnh hưởng của Bad Rabbit và NotPetya Qua đó,
nhóm em hy vọng cung cấp những góc nhìn sâu sắc về cách các mã độc này tấn công hệ
thống, đồng thời đề xuất một số biện pháp phòng ngừa và khắc phục hiệu quả
Cuối cùng chúng em xin bày tỏ lòng biết ơn chân thành đến giảng viên Đinh Trường
Duy đã tận tình hướng dẫn, truyền đạt kiến thức và tạo điều kiện để chúng em thực hiện bài
tập lớn này Những chia sẻ quý báu của thầy trong suốt quá trình học tập đã giúp chúng em
hiểu sâu hơn về môn học Phân tích mã độc và ứng dụng hiệu quả vào bài tập
Báo cáo bài tập lớn gồm 3 chương với nội dung chính như sau:
- Chương 1 nghiên cứu tổng quan về mã độc, tập trung vào các đặc điểm của
Ransomware, điển hình là Not Petya và Bad Rabbit Ngoài ra, chương này cũng trình bày
khái niệm, cách thức và quy trình thực hiện các phương pháp phân tích, bao gồm cả phân tích
tĩnh và phân tích động
- Chương 2 thực hiện việc phân tích cụ thể cả 2 mẫu mã độc bằng phân tích tĩnh và phân
tích động Nội dung bao gồm việc chuẩn bị môi trường phân tích, áp dụng các phương pháp
phân tích tĩnh và phân tích động để nghiên cứu cấu trúc, hành vi, cơ chế tấn công của từng
mẫu mã độc Kết quả phân tích được trình bày theo từng bước cụ thể, từ phân tích cơ bản đến
nâng cao, kèm theo minh họa và nhận xét
- Chương 3 thực hiện việc so sánh hai mẫu mã độc dựa trên các đặc điểm kỹ thuật, cơ
chế tấn công và tác động của chúng đối với hệ thống mục tiêu Từ đó, đưa ra các đánh giá về
mức độ nguy hiểm, khả năng ứng dụng của các biện pháp phòng chống
Trang 10CHƯƠNG 1 TỔNG QUAN VỀ MÃ ĐỘC VÀ PHƯƠNG PHÁP PHÂN TÍCH 1.1 Khái niệm về mã độc và Ransomware
Mã độc, hay còn gọi là Malware (Malicious Software), là các chương trình hoặc đoạn mã
được thiết kế với mục đích gây hại cho hệ thống máy tính, mạng hoặc người dùng Mã độc
có thể thực hiện nhiều hành động độc hại như đánh cắp thông tin, làm hỏng dữ liệu, gián điệp, hoặc kiểm soát hệ thống từ xa Một số loại mã độc phổ biến bao gồm:
▪ Virus: Lây nhiễm vào các tệp tin hoặc chương trình và lan truyền khi được kích hoạt
▪ Trojan Horse: Che giấu dưới dạng phần mềm hợp pháp để đánh lừa người dùng
▪ Worms: Tự nhân bản và lây lan qua mạng mà không cần sự can thiệp của người dùng
▪ Spyware: Thu thập thông tin người dùng một cách bí mật
▪ Adware: Hiển thị quảng cáo không mong muốn trên máy tính người dùng
Ransomware là một loại phần mềm độc hại (malware) được thiết kế để mã hóa dữ liệu
của nạn nhân, khóa quyền truy cập vào các tệp tin hoặc hệ thống máy tính Sau khi mã hóa thành công, kẻ tấn công yêu cầu nạn nhân trả tiền chuộc (thường bằng tiền điện tử như Bitcoin)
để đổi lấy việc giải mã dữ liệu và khôi phục quyền truy cập
Có hai loại ransomware chính:
▪ Ransomware mã hóa: Mã hóa các tệp tin, khiến nạn nhân không thể truy cập vào
chúng cho đến khi trả tiền chuộc
▪ Ransomware khóa màn hình: Khóa màn hình của hệ thống, ngăn nạn nhân sử dụng
máy tính nhưng không mã hóa các tệp tin
Các cuộc tấn công ransomware thường lây lan qua email lừa đảo (phishing), trang web giả mạo, hoặc khai thác các lỗ hổng bảo mật trong hệ thống Những loại ransomware nổi tiếng
bao gồm WannaCry, NotPetya, và Bad Rabbit
1.2 Giới thiệu về Ransomware NotPetYa và Bad Rabbit
1.2.1 NotPetYa
NotPetya, xuất hiện vào tháng 6/2017, là một mã độc wiper phá hoại được ngụy trang như ransomware, gây thiệt hại hàng tỷ USD trên toàn cầu, ảnh hưởng các tổ chức lớn như Maersk, Merck, và FedEx Nó lây lan qua lỗ hổng EternalBlue và công cụ PsExec, mã hóa bảng MFT trên hệ thống để dữ liệu không thể truy cập Dù hiển thị yêu cầu tiền chuộc, việc khôi phục dữ liệu là không khả thi Cuộc tấn công của NotPetya nhấn mạnh sự nguy hiểm của các lỗ hổng bảo mật trong không gian mạng
1.2.2 Bad Rabbit
Bad Rabbit, xuất hiện vào tháng 10/2017, là một ransomware nhắm vào Đông Âu, đặc biệt là Nga và Ukraine, thông qua kỹ thuật drive-by download trên các trang web giả mạo bản cập nhật Adobe Flash Player Sau khi xâm nhập, nó mã hóa dữ liệu, đổi tên tệp với phần
mở rộng ".encrypted," và yêu cầu tiền chuộc bằng Bitcoin Bad Rabbit sử dụng mã hóa
Trang 11mà mã độc sử dụng Phân tích tĩnh phù hợp để hiểu sâu về cấu trúc mã độc, đặc biệt với các
mã không thực thi được trong môi trường ảo, nhưng đòi hỏi kiến thức chuyên sâu và khó phát hiện hành vi động của mã độc
1.3.2 Phân tích động
Phân tích động là việc thực thi mã độc trong môi trường cô lập (sandbox hoặc máy ảo)
để quan sát hành vi thực tế, như thay đổi hệ thống, giao tiếp mạng, hoặc các hành động phá hoại Phương pháp này hiệu quả trong việc phát hiện các hành vi động và dễ sử dụng hơn, nhưng tiềm ẩn rủi ro lây nhiễm nếu môi trường không an toàn Việc kết hợp cả phân tích tĩnh
và động sẽ mang lại cái nhìn toàn diện, giúp hiểu rõ mã độc và đề xuất các biện pháp phòng chống hiệu quả
1.4 Quy trình phân tích mã độc
Hình 1 Quy trình phân tích mã độc
Trang 12o Trích xuất thông tin từ các API như:
▪ Dịch vụ mã hóa của Windows
▪ Tiến trình và quyền để kiểm tra quyền truy cập
▪ Quản lý memory nhằm phân tích cách mã độc tương tác với bộ nhớ
▪ Thông tin hệ thống để hiểu cách nó khai thác hệ thống
• Phân tích động:
o Thực thi mã độc trong môi trường được kiểm soát:
▪ Sandbox tự động phân tích (như Cuckoo) để quan sát hành vi
▪ Công cụ phân tích động chủ động:
▪ Sử dụng Wireshark để phát hiện các kết nối ra ngoài
▪ Kết hợp với Process Monitor hoặc Process Hacker để theo dõi
các hành vi chi tiết như thread và process
Trang 13Thông qua việc nghiên cứu và phân tích hai mẫu mã độc này, chương sẽ cung cấp cái nhìn sâu sắc về các phương thức tấn công và giúp đưa ra những so sánh, đánh giá phục vụ cho nghiên cứu và các hướng phát triển sau này
2.2 Chuẩn bị môi trường phân tích
2.2.2 Thiết lập các công cụ phân tích
- Thiết lập các công cụ phân tích tĩnh:
• Môi trường: Virtualbox sử dụng hệ điều hành Windows 10
- Các công cụ phân tích tĩnh: IDA Pro, Pestudio
• Thiết lập các công cụ phân tích động:
• Môi trường: WM Ware sử dụng hệ điều hành Windows 7 và Ubuntu 18.04
• Các công cụ phân tích động: Cuckoo Sandbox, Process monitor, Process Hacker, Wireshark, Intezer Analyze
2.3 Phân tích mã độc Not Petya
2.3.1 Phân tích tĩnh cơ bản
• PE Header:
- Target Machine: Bộ xử lý Intel 386 trở lên và bộ xử lý tương thích
- Compilation Timestamp: 2017-06-18 07:14:36 UTC
- File size: 353.87 KB (362360 bytes)
• Các hàm import:
Trang 142.3.2 Phân tích tĩnh nâng cao
• Phân loại các API mà mã độc gọi:
Process và Token Management API – API
liên quan đến tiến trình và quyền - OpenProcessToken
- CreateProcessAsUserW
- AdjustTokenPrivileges
Hàm thao tác đọc, ghi, truy vấn hệ thống tệp
và các hành động liên quan đến hệ thống tệp - WriteFile
- ReadFile
- GetSystemDirectoryA/W
- FindFirstFileW
Trang 15- GetAdaptersInfo
- GetSystemTime
- GetLocalTime Memory Management API
- HeapAlloc
- HeapFree
- VirtualAlloc
- VirtualFree Thread và Process API
Tạo kết nối mạng Hàm WNetAddConnection2W sử dụng IpUserName,
IpPassword, IpNetResource để tạo kết nối mạng Kiểm tra tiến trình và quyền Sử dụng hàm SeShutdownPrivilege (quyền tắt hệ
thống), SeDebugPrivilege (quyền gỡ rối), SeTcbPrivilege để kiểm tra
Ghi đè và tạo tệp trong các thư mục hệ
thống
Nếu NotPetya kiểm tra và có quyền SeDebugPrivilege
nó có thể tạo file và ghi đè tệp hệ thống Ghi đè lên MBR NotPetya sẽ ghi đè lên MBR (Master Boot Record -
Bản ghi Khởi động Chính)
Tự động tắt hệ thống Nếu ransomware có quyền, nó lập lịch để tắt máy theo
lịch, ngăn cản người dùng can thiệp
Kiểm tra hệ thống Ransomware này kiểm tra hệ thống là server hay
workstation, kiểm tra DHCP, nếu có thì lấy Subnet và
IP
Liệt kê địa chỉ IP từ bộ nhớ đệp ARP Liệt kê bằng cách gọi hàm GetIpNetTable
Kiểm tra môi trường Ransomwareiểm tra hệ thống chạy trên môi trường 64
hay 32 bit
Trang 16Mã hóa Đầu tiên, ransomware tạo key 128 bit AES, tiến hành
mã hóa bằng AES những file có phần mở rộng định sẵn
Xóa lịch sử Sau khi hàm mã hóa được thực hiện
mã độc sẽ xóa nhật ký sự kiện và nhật ký thay đổi USN
2.3.3 Phân tích động trong Cuckoo Sandbox
Sau khi kết thúc quá trình phân tích, Cuckoo trả về nhiều thông tin liên quan về loại mã độc, các tiến trình và hành vi Kết quả cho thấy mẫu “Not Petya” có được cuckoo đánh giá điểm: 5.6/10 (Mức nguy hiểm) Ngoài ra, tệp mã độc không được phát hiện có mẫu Yara Các thông tin khác như Size, Type, MD5, SHA256 sau khi tổng hợp đều trùng khớp với kết quả phân tích tĩnh ở trên
Khi thực hiện phân tích sâu hơn từ kết quả kiểm tra bằng sandbox, nhóm phân tích thêm các hành vi đáng ngờ khác của mã độc từ báo cáo Cuckoo Sandbox:
▪ Chữ ký phát hiện hành vi mã độc:
Mã độc thực hiện hành động tìm tên máy tính Ở đây, Chức năng GetComputerNameW được sử dụng 2 lần với tên máy tính trả về là "NONE" Điều này có thể liên quan đến việc mã độc cố gắng thu thập thông tin về hệ thống bị nhiễm
Hình 3 Thông tin chung của Not Petya từ Cuckoo Sanbox
Hình 4 Not Petya tìm tên máy tính
Trang 17▪ Script được trích xuất
Phát hiện đường dẫn chỉ tới một tệp trong thư mục tạm của người dùng Các tệp tạm thường được sử dụng bởi các ứng dụng và có thể dễ dàng bị bỏ qua trong quá trình kiểm tra bảo mật Đường dẫn này cho thấy mã độc có thể đang cố gắng che giấu nguồn gốc hoặc hành vi của nó Đây là một hành động thường thấy trong các mã độc, vì nó cho phép mã độc chạy mà không cần phải ghi vào ổ đĩa hoặc tạo ra tệp dễ phát hiện
Hình 5 Thông tin Script của mã độc
▪ Phát hiện các URL khả nghi
Các URL được phát hiện trong dump bộ nhớ, có thể chỉ ra ý định độc hại hoặc là các chỉ số có thể bị xâm phạm (IOCs) Báo cáo log liệt kê nhiều URL, một số liên quan đến các dịch vụ phổ biến như Adobe, Microsoft và các không gian tên XML, có thể
đã bị đánh dấu do mã độc đã đi vào bộ nhớ trong quá trình phân tích Thực tế, mã độc
có thể sử dụng các URL để liên lạc với máy chủ điều khiển (C&C) hoặc để gửi dữ liệu thu thập được từ nạn nhân
▪ Khả năng chống ảo hóa
Báo cáo trả về từ Cuckoo cung cấp thông tin về việc mã độc kiểm tra CPU từ registry HKEY_LOCAL_MACHINE\HARDWARE\DESCRIPTION\System\CentralProcessor\0\ProcessorNameString Đây là một hành vi phổ biến khi mã độc muốn xác định môi trường ảo hóa, vì CPU trong môi trường ảo hóa thường mang các dấu hiệu nhận dạng như "Virtual" hoặc "VMware" Ngoài ra, mục tiêu của hành động này có thể là kiểm tra môi trường thực hay ảo để quyết định thực thi hoặc ẩn mình trong môi trường
ảo
Hình 6 Các URL khả nghi
Trang 18nó Đây là một kỹ thuật chống phân tích động điển hình Với thời gian ngủ dài thì việc cấu hình cuckoo sandbox sẽ phải chú ý đến thời gian chạy mã độc để có thể thấy nhiều hành vi ẩn giấu của mã độc
Hình 8 Mã độc có hành vi né tránh
2.3.4 Phân tích động thủ công
- Quan sát trên process monitor
Hình 9 Quan sát trên process monitor
Trang 19- Quan sát trên Process Hacker
Hình 10 Quan sát trên Process Hacker
• Phần thông báo của mã độc:
"Oops, your important files are encrypted! If you see this text, then your files are no longer accessible "
Mã độc đã mã hóa các tệp và yêu cầu tiền chuộc để khôi phục quyền truy cập
• Dòng tiếp theo chứa các định dạng tệp sẽ bị mã hóa
• Sử dụng các thuật toán mã hóa như RSA và AES
Hình 11 Quan sát trên Process Hacker
• Có một lệnh sử dụng schtasks.exe để lên lịch một tác vụ mới với tên lws và thực hiện
lệnh xóa dữ liệu:
schtasks /create /sc once /tn lws /st
Trang 20Lệnh này chỉ ra rằng mã độc có thể đang thiết lập các tác vụ tự động để thực hiện hành động
độc hại vào thời điểm đã lên lịch Nó cũng bao gồm các tham số liên quan đến việc xóa dấu vết hệ thống như: > deletejournal, usn, và xóa các bản ghi hệ thống quan trọng
Hình 12 Quan sát các giao tiếp mạng
• Các tham chiếu đến thư mục chia sẻ admin$ trên các máy chủ như
\\192.168.112.1\admin$ là dấu hiệu cho thấy tiến trình này đang cố gắng truy cập vào các thư mục chia sẻ của hệ thống với quyền quản trị
• Kết nối HTTP tới http://192.168.112.254/ có thể là dấu hiệu của mã độc cố gắng kiểm soát thiết bị trong mạng nội bộ
- Quan sát trên WireShark
Hình 13 Quan sát trên WireShark
Trang 211SMB2 (Server Message Block Protocol)
• Có một Tree Connect Request từ địa chỉ IP 192.168.122.144 đến 192.168.122.1 nhằm truy cập vào thư mục admin$ Tuy nhiên, kết nối này bị từ chối với lỗi:
STATUS_BAD_NETWORK_NAME
Điều này là dấu hiệu của một nỗ lực truy cập trái phép vào tài nguyên mạng được bảo vệ
TCP Reset (RST)
• Ở dòng 49, có một gói TCP Reset (RST) từ địa chỉ 192.168.122.1 đến 192.168.122.144
Lệnh RST thường được sử dụng để kết thúc một kết nối TCP Điều này cho thấy rằng kết nối TCP trước đó đã bị chấm dứt đột ngột, có thể do lỗi hoặc do hệ thống từ chối kết nối này
• Kết hợp với nỗ lực truy cập vào admin$, việc hệ thống trả về một lệnh RST có thể chỉ ra
rằng hệ thống từ chối nỗ lực truy cập không hợp lệ
NBNS (NetBIOS Name Service)
• Ở các dòng 50 và 51, có các gói NBNS gửi từ 192.168.122.144 đến 192.168.122.255 với yêu cầu tên WPAD (Web Proxy Auto-Discovery Protocol)
• WPAD thường được sử dụng để tự động cấu hình proxy, mã độc lợi dụng yêu cầu WPAD để
đánh cắp lưu lượng mạng hoặc thực hiện tấn công man-in-the-middle (MITM) Việc có các
gói WPAD bất thường là dấu hiệu của một hành vi xâm nhập
4 SSDP (Simple Service Discovery Protocol)
• Địa chỉ 192.168.122.144 gửi một gói M-SEARCH đến địa chỉ multicast 239.255.255.250 SSDP được sử dụng trong quá trình khám phá các thiết bị mạng và dịch vụ
• Việc phát hiện thiết bị và dịch vụ thông qua SSDP là bình thường trong mạng nội bộ, nhưng
vì không rõ nguồn gốc => mã độc đang cố gắng tìm kiếm các thiết bị dễ bị tổn thương để tấn công
2.4 Phân tích mã độc Bad Rabbit
2.4.1 Phân tích tĩnh cơ bản
- PE Header :
o Target Machine: Bộ xử lý Intel 386 trở lên và bộ xử lý tương thích
o Compilation Timestamp: 2017-10-22 02:33:41 UTC
o File size: 401.13 KB (410760 bytes)
- Các hàm import:
Trang 222.4.2 Phân tích tĩnh nâng cao
- Phân tích các API mà mã độc gọi:
liên quan đến tiến trình và quyền
sát mạng
- WNetAddConnection2W
- WNetCancelConnection2W
- NetServerEnum System Information API - GetAdaptersInfo
Trang 23- GetSystemTimeAsFileTime
- GetLocalTime Memory Management API - HeapAlloc
- HeapFree
- VirtualAlloc
- VirtualFree Thread và Process API - CreateProcessW
- TerminateThread
- OpenThreadToken
- Phân tích hành vi :
Bảng 6 Phân tích hành vi
Kiểm tra tiến trình và quyền Sử dụng hàm SeShutdownPrivilege (quyền tắt hệ thống),
SeDebugPrivilege (quyền gỡ rối), SeTcbPrivilege để
kiểm tra quyền và trạng thái của tiến trình
Giải mã và tạo tệp infpub.dat Giải nén payload từ vùng nhớ, sử dụng thuật toán XOR
(khóa 0xE9) và hàm Zlib để giải mã Tệp kết quả được ghi vào đĩa với tên C:\Windows\infpub.dat
Thực thi tệp giai đoạn 2 Sử dụng lệnh rundll32.exe C:\Windows\infpub.dat #1 15
để gọi hàm xuất (ordinal export) từ tệp vừa được tạo Lập lịch reboot hệ thống Tạo một tác vụ theo lịch để khởi động lại hệ thống
Kiểm tra McAfee Antivirus Liệt kê các tiến trình chạy trên hệ thống để phát hiện các
ứng dụng liên quan đến McAfee như mcshield.exe, McTray.exe, v.v
Khởi chạy DiskCryptor Tạo tệp dispci.exe từ payload, sử dụng nó để giao tiếp với
DiskCryptor và tạo tác vụ theo lịch nhằm thực thi tệp này sau khi hệ thống khởi động lại
Lập lịch shutdown hệ thống Dựa trên thời gian được định nghĩa trước, tạo tác vụ theo
lịch để tự động tắt máy tính
Mã hóa dữ liệu Sử dụng hàm CryptGenRandom để tạo khóa mã hóa, áp
dụng trên các loại tệp nhất định được mã độc xác định trước
2.4.3 Phân tích động trong Cuckoo Sandbox
Mẫu mã độc Bad Rabbit được Cuckoo Sandbox đánh giá điểm 11.6/10 very suspicious
Trang 24Hình 15: Thông tin chung về mẫu mã độc Bad Rabbit
Một số hành vi điển hình được phát hiện:
- Phát hiện 2 tệp infpub.dat và A688.tmp Tệp A688.tmp tạo tiến trình rundll32.exe Đây là 1 tệp tạm thời thường được mã độc sử dụng để lưu trữ các thông tin mã hóa hoặc để triển khai payload tiếp theo Với tệp infpub.dat tạo tiến trình
BadRabbit.exe.bin -> rundll32.exe Đây là tệp payload chính của mã độc Nó chứa
các đoạn mã cần thiết để thực hiện các hành vi độc hại như mã hóa dữ liệu, tạo tác vụ (tasks), hoặc các hành vi khai thác khác
- Tiến trình rundll32.exe cố gắng trì hoãn phân tích bằng cách "ngủ" 228 giây Đây là
kỹ thuật anti-sandbox, kéo dài thời gian thực thi để vượt qua thời gian chờ của các
công cụ phân tích (sandbox thường giới hạn thời gian theo dõi)
- Tạo 1 tệp thực thi mới: C:\Windows\dllspci.exe
Mã độc tạo một tệp thực thi trên hệ thống, có khả năng chứa payload độc hại Đây có thể là tệp để tiếp tục thực hiện mã hóa tệp hoặc lan truyền mã độc
- Mã độc kiểm tra lượng bộ nhớ khả dụng trong hệ thống Mục đích là xác định xem
môi trường có phải là máy ảo hoặc sandbox (thường có ít tài nguyên hệ thống) để
tránh bị phân tích
Hình 16: Thông tin về hành vi trì hoãn và tạo file thực thi
- Các hành vi khác được phân tích cụ thể hơn trong phần phân tích tĩnh ở phần trên Các thông tin thu thập được từ Cuckoo Sandbox trùng khớp với những phân tích, đánh giá của nhóm Từ đó tạo cơ sở để kết luận về các hành vi và mục tiêu thực hiện của mã độc
2.4.4 Phân tích động thủ công
- Các tiến trình của mã độc :