

















Preview text:
lOMoAR cPSD| 58815430
HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
KHOA AN TOÀN THÔNG TIN
ptit-static-analysis-on-windows
Giảng viên: Đinh Trường Duy Nhóm sinh viên :
Trần Anh Sơn – B21DCAT166
Lê Xuân Đạt – B21DCAT054
Lê Văn Tuyến – B21DCAT218 lOMoAR cPSD| 58815430 MỤC LỤC
1. Bài thực hành phân tích tĩnh trên Windows ..................................................... 3
1.1. Nội dung và hướng dẫn bài thực hành ......................................................... 3
1.1.1. Mục ích ......................................................................................... 3
1.1.2. Yêu cầu với sinh viên ................................................................... 3
1.1.3. Nội dung thực hành ................................................................ 3
− Nhiệm vụ 1: ..................................................................................................... 5
− Nhiệm vụ 2: ..................................................................................................... 7
− Nhiệm vụ 3:. .................................................................................................... 8
− Nhiệm vụ 4:. .................................................................................................. 10
− Nhiệm vụ 5:. .................................................................................................. 11
− Nhiệm vụ 6: ................................................................................................... 13
− Nhiệm vụ 7:. .................................................................................................. 15
Link video bài thực hành :.................................................................................... 18 lOMoAR cPSD| 58815430
1. Bài thực hành phân tích tĩnh trên Windows
1.1. Nội dung và hướng dẫn bài thực hành
1.1.1. Mục ích
− Giúp sinh viên tìm hiểu về mã, dữ liệu, cấu trúc của phần mềm ộc hại
− Giúp sinh viên nắm ược cách sử dụng các công cụ phân tích phần mềm
ộc hại cơ bản trên Windows
1.1.2. Yêu cầu với sinh viên
− Có kiến thức cơ bản về phân tích mã ộc, nắm ược quy trình phân tích tĩnh trong phân tích mã ộc.
1.1.3. Nội dung thực hành − Khởi ộng bài lab − Vào terminal gõ:
labtainer ptit-static-analysis-on-windows
− Trước khi khởi ộng bài lab nếu máy Windows 7 và máy Ubuntu chưa ược cấu
hình mạng NAT, cần cấu hình môi trường thực hành bằng cách mở máy
Windows 7, cài ặt máy Windows 7 và máy Ubuntu cùng một Network Adapter là NAT bằng cách chọn: lOMoAR cPSD| 58815430
VM => Settings… => Network Adapter => NAT
− Sau ó ăng nhập vào máy Windows 7 với tài khoản (user1:user1), thực hiện kiểm
tra ịa chỉ IP của máy Windows 7 => ịa chỉ IP là 192.168.253.135
− Khi khởi ộng bài lab, một cửa sổ ubuntu hiện lên, thực hiện kết nối ến máy windows bằng lệnh
./connect_windows.sh.x 192.168.253.135 lOMoAR cPSD| 58815430
− Sau khi kết nối thành công, cửa sổ Windows 7 sẽ hiện lên. Cần mở một cửa sổ
Windows powershell ể thực hành và kiểm tra kết quả thực hành trên Windows,
sinh viên thực hiện các lệnh trên cửa sổ powershell này trong suốt quá trình làm bài thực hành.
− Sau ó xem phần mềm ộc hại có tên financials-xls.exe tại ường dẫn
C:\Users\user1\Downloads\financials-xls.
(Sau mỗi lần thực hiện một lệnh theo nhiệm vụ của bài thực hành chạy chương
trình \\tsclient\C_\check_lab.ps1 ể ghi lại tiến ộ làm bài thực hành) lOMoAR cPSD| 58815430
− Nhiệm vụ 1: Xác ịnh thông tin cơ bản về mẫu phần mềm ộc hại. Sử dụng công
cụ CFF Explorer ể kiểm tra thông tin về loại tệp của phần mềm ộc hại financials-xls.exe.
Xác ịnh loại tệp của tệp ộc hại tại mục File Type
Dạng thập lục phân của chuỗi ASCII cho biết ịnh dạng của tệp ộc hại ược ặt tại mục Hex Editor lOMoAR cPSD| 58815430
(sử dụng lệnh echo trong cửa sổ Windows powershell ể in ra màn hình thông
tin tìm ược tương ứng và chạy chương trình \\tsclient\C_\check_lab.ps1 ể ghi
lại tiến ộ làm bài thực hành). lOMoAR cPSD| 58815430
− Nhiệm vụ 2: Xác ịnh mã nhận dạng, dấu vân tay duy nhất cho mẫu phần mềm
ộc hại. Mã nhận dạng thường có dạng hàm băm mật mã MD5, SHA1 hoặc
SHA256. Lấy dấu vân tay ược sử dụng cho nhiều mục ích, bao gồm:
• Xác ịnh và theo dõi các mẫu phần mềm ộc hại
• Quét toàn bộ hệ thống ể tìm sự hiện diện của phần mềm ộc hại giống hệt nhau
• Chia sẻ với các bên liên quan dưới dạng IoC hoặc như một phần của báo
cáo thông tin về mối e dọa
Lấy hàm băm MD5 và SHA256 của tệp ộc hại financials-xls.exe bằng cách sử
dụng lệnh Get-FileHash trên Windows PowerShell
(chạy chương trình \\tsclient\C_\check_lab.ps1 ghi lại tiến ộ làm bài thực hành)
Get-FileHash -Algorithm MD5 C:\Users\user1\Downloads\financialsxls\financials-xls.exe
Để kiểm tra hàm băm SHA256 của phần mềm ộc hại sử dụng lệnh :
Get-FileHash -Algorithm SHA256 C:\Users\user1\Downloads\financialsxls\financials- xls.exe lOMoAR cPSD| 58815430
− Nhiệm vụ 3: Kiểm tra hàm băm tệp ược tạo với VirusTotal một công cụ quét
phần mềm ộc hại trực tuyến, kết hợp với nhiều nhà cung cấp phần mềm chống
virus khác nhau, cho phép tìm kiếm hàm băm của tệp. IMPHASH, viết tắt của
"Import Hash", là hàm băm mật mã ược tính từ các chức năng nhập của tệp
Windows Portable Executable (PE).
Mở trang VirusTotal, tìm IMPHASH của mã ộc financials-xls.exe và so sánh
với IMPHASH tính ược từ chương trình python imphash_calc.py.
Sử dụng module Pefile trong python ể tính toán IMPHASH cho tệp
financialsxls.exe bằng cách tạo file imphash_calc.py chứa oạn mã python sau: import sys import pefile import peutils pe_file = sys.argv[1] pe = pefile.PE(pe_file) imphash = pe.get_imphash() print(imphash) lOMoAR cPSD| 58815430
Sử dụng lệnh: python C:\Users\user1\Downloads\financialsxls\imphash_calc.py
C:\Users\user1\Downloads\financials-xls\financials-xls.exe
(chạy chương trình \\tsclient\C_\check_lab.ps1 ể ghi lại tiến ộ làm bài thực hành)
− Nhiệm vụ 4: Fuzzy Hashing (SSDEEP), còn ược gọi là băm từng phần, là một
kỹ thuật băm ược thiết kế ể tính toán giá trị băm biểu thị sự giống nhau về nội
dung giữa hai tệp. Kỹ thuật này chia tệp thành các khối nhỏ hơn, có kích thước
cố ịnh và tính toán hàm băm cho mỗi khối. Các giá trị băm thu ược sau ó ược
hợp nhất ể tạo ra hàm băm mờ cuối cùng.
Sử dụng công cụ ssdeep ể thực hiện tính mã SSDEEP cho tệp ộc hại bằng lệnh: lOMoAR cPSD| 58815430
ssdeep C:\Users\user1\Downloads\financials-xls\financials-xls.exe
Tại ây so sánh kết quả SSDEEP thu ược với SSDEEP trong mục Details lab
trên VirusTotal, in ra màn hình mã ssdeep tìm ược từ VirusTotal bằng lệnh echo trong Windows powershell.
(chạy chương trình \\tsclient\C_\check_lab.ps1 ể ghi lại tiến ộ làm bài thực hành)
− Nhiệm vụ 5: Section hashing, (băm các phần PE) là một kỹ thuật mạnh mẽ cho
phép các nhà phân tích xác ịnh các phần của tệp (PE) ã ược sửa ổi. Bằng cách
áp dụng section hashing, các nhà phân tích bảo mật có thể xác ịnh các phần của
tệp PE ã bị giả mạo hoặc thay ổi. Trong python có thể sử dụng module Pefile ể
thực hiện tính toán section hashing.
− Sử dụng mô- un pefile ể truy cập và băm dữ liệu trong các phần riêng lẻ của
tệp PE bằng việc chỉnh sửa file python có sẵn theo mẫu sau với úng ịnh
dạng tên section_hashing.py import sys import pefile pe_file = sys.argv[1] pe = lOMoAR cPSD| 58815430 pefile.PE(pe_file) for section in pe.sections:
print (section.Name, "MD5 hash:", section.get_hash_md5())
print (section.Name, "SHA256 hash:", section.get_hash_sha256())
Kiểm tra các hàm băm của file mã ộc financials-xls.exe bằng cách sử dụng
công cụ PEStudio, hàm băm MD5 của file ặt tại mục footprints lOMoAR cPSD| 58815430
(chạy chương trình \\tsclient\C_\check_lab.ps1 ể ghi lại tiến ộ làm bài thực hành)
− Nhiệm vụ 6: Mục tiêu của nhiệm vụ này là trích xuất các chuỗi (ASCII &
Unicode) từ tệp nhị phân. Các chuỗi có thể cung cấp manh mối và thông tin chi
tiết có giá trị về chức năng của phần mềm ộc hại. Bên cạnh ó giải pháp phân
tích chuỗi khác ược gọi là FLOSS. FLOSS là viết tắt của "FireEye Labs
Obfuscated String Solver", là một công cụ ược phát triển bởi nhóm FLARE của
FireEye ể tự ộng giải mã các chuỗi trong phần mềm ộc hại. Nó ược thiết kế ể
bổ sung thay cho việc sử dụng các công cụ chuỗi truyền thống, thể bỏ sót các
chuỗi bị xáo trộn thường ược phần mềm ộc hại sử dụng ể tránh bị phát hiện
− Sử dụng strings và floss trên powershell ể hiển thị các chuỗi có trong phần
mềm ộc hại. o Sử dụng strings bằng lệnh: strings
C:\Users\user1\Downloads\financials-xls\financials-xls.exe lOMoAR cPSD| 58815430
o Sử dụng floss bằng lệnh:
floss C:\Users\user1\Downloads\financials-xls\financials-xls.exe
Dựa trên kết quả phân tích của Floss cho file financials-xls.exe, ta có thể ưa
ra một số nhận ịnh sau:
• Dấu Hiệu Đáng Ngờ: các chuỗi áng ngờ ược tìm thấy
Dấu hiệu nén bằng UPX: các chuỗi như UPX0, UPX1, và UPX! cho thấy
file này rất có thể ã ược nén bằng UPX. Đây là dấu hiệu của một file ã bị óng gói (packed). lOMoAR cPSD| 58815430
- Các chuỗi liên quan ến giao thức HTTP: Chuỗi GET /_n8.php?&717&%u&p
HTTP/1.0 cho thấy file này có thể thực hiện yêu cầu HTTP tới một tài nguyên
từ xa, có khả năng gửi hoặc nhận dữ liệu, iều này là dấu hiệu của một tệp ộc
hại. Địa chỉ IP và các oạn URL: Chuỗi 69.50.B5 trông giống như một phần của
ịa chỉ IP hoặc có thể là một dấu hiệu của các kết nối mạng áng ngờ.
- Tên các thư viện hệ thống và hàm API: Nhiều thư viện và hàm API Windows
ược gọi, chẳng hạn như ADVAPI32.dll, KERNEL32.DLL, WSOCK32.dll, và
RegCloseKey. Các API này thường ược sử dụng cho các thao tác hệ thống và
mạng, cho thấy file có thể thực hiện các thao tác với registry hoặc tạo kết nối mạng. lOMoAR cPSD| 58815430
− Nhiệm vụ 7: Trong phân tích tĩnh, có thể phát hiện một mẫu phần mềm ộc hại ã
ược nén hoặc làm xáo trộn bằng kỹ thuật ược gọi là óng gói. Điều này có thể
làm giảm khả năng phân tích chuỗi vì các tham chiếu ến chuỗi thường bị che
khuất hoặc bị loại bỏ. Kết quả là, tệp phần mềm ộc hại trở nên khó phân tích
hơn vì không thể quan sát trực tiếp mã gốc. Một trình óng gói phổ biến ược sử
dụng là Ultimate Packer for Executables (UPX).
− Từ kết quả Section Headers trong CFF Explorer khi thực hiện kiểm tra với
tệp ộc hại financials-xls.exe tại nhiệm vụ 1 và từ kết quả trích xuất chuỗi
với lệnh strings ở nhiệm vụ 6 , thấy rằng ầu ra có chứa các chuỗi bao gồm
UPX. Từ ây sinh viên rút ra kết luận gì về financials-xls.exe? o Sử dụng UPX bằng lệnh:
upx -d -o C:\Users\user1\Downloads\financials-xls\unpacked
C:\Users\user1\Downloads\financials-xls\financials-xls.exe
- Sau ó sinh viên thực hiện lại lệnh strings ể trích xuất lại các chuỗi từ tệp sau khi giải nén lOMoAR cPSD| 58815430
Dựa trên kết quả trích xuất các chuỗi từ file ã ược giải nén từ financials xls.exe,
dưới ây là những dấu hiệu áng ngờ và chỉ dấu bảo mật tiềm ẩn: • Có các
chuỗi với nội dung cảnh báo như: "Your computer is in Danger!" và "Windows
Security Center has detected spyware/adware infection!", "Click here to install
the latest protection tools!".Đây là dấu hiệu của các phần mềm giả mạo
(scareware) thường dùng ể lừa người dùng cài ặt thêm phần mềm ộc hại hoặc
mua phần mềm không cần thiết nhằm "bảo vệ" hệ thống.
• Có các chuỗi URL chỉ ra yêu cầu HTTP ến download.bravesentry.com, cụ thể
là: “GET /download.php?&advid=00000717&u=%u&p=%u”, “HTTP/1.0
Host: download.bravesentry.com”
• Trang bravesentry.com là một tên miền thường ược liên kết với phần mềm ộc
hại trước ây, có khả năng file này có chức năng tải xuống các thành phần ộc
hại bổ sung từ trang này. lOMoAR cPSD| 58815430
• Nhiều chuỗi có tham chiếu ến các khóa registry của Windows, ặc biệt là: o
SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System o
SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\ActiveDesktop o
SOFTWARE\Microsoft\Windows\CurrentVersion\Run
• Những khóa này có thể ược mã ộc sử dụng ể thay ổi cài ặt hệ thống và ảm bảo
rằng nó sẽ khởi ộng cùng Windows (persistence) hoặc iều khiển các chính sách hệ thống.
Kết Luận: Kết quả phân tích này cho thấy file financials-xls.exe sau khi
unpack là một phần mềm ộc hại với khả năng:
• Hiển thị cảnh báo giả ể lừa người dùng.
• Thao tác với registry và khởi ộng cùng hệ thống.
• Thiết lập kết nối ra ngoài ể tải các thành phần ộc hại hoặc gửi thông tin.
• Những dấu hiệu trên ều xác nhận tính chất ộc hại của tệp này, và các biện pháp
bảo mật nên ược thực hiện ể ngăn chặn mã ộc hoạt ộng trên hệ thống.
Link video bài thực hành :