HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THƠNG
KHOA CƠNG NGHỆ THƠNG TIN
Học phần: An tồn mạng
Bài báo cáo: Tìm hiểu về công cụ Cuckoo
Giảng viên hướng dẫn:
Sinh viên thực hiện:
Mã sinh viên:
Nhóm:
Số điện thoại:
TS. Đặng Minh Tuấn
Nguyễn Anh Duy
B18DCAT039
02
0866808700
Hà Nội, 2021
MỤC LỤC
Lời mở đầu ..........................................................................................................................................3
Danh mục các thuật ngữ tiếng Anh và từ viết tắt .................................................................4
Danh mục hình vẽ .............................................................................................................................5
1.
Giới thiệu .........................................................................................................................................6
1.1.
2.
3.
1.1.1
Cuckoo là gì?....................................................................................................................6
1.1.2
Kiến trúc. ..........................................................................................................................7
1.1.3
Lịch sử hình thành. ...........................................................................................................8
1.1.4
Một số cơng cụ Sanbox khác............................................................................................9
Phân tích mã độc bằng kỹ thuật sanboxing. ...............................................................................12
2.1.
Sandbox là gì?.......................................................................................................................12
2.2.
Vai trị của Sandbox..............................................................................................................12
Cấu hình cài đặt và tính năng. .....................................................................................................14
3.1.
4.
Giới thiệu cơng cụ cuckoo. .....................................................................................................6
Cấu hình cài đặt. ...................................................................................................................14
3.1.1
Yêu cầu đối với máy chủ. ...............................................................................................14
3.1.2
Yêu cầu đối với máy khách. ...........................................................................................15
3.2.
Các bước cài đặt : .................................................................................................................15
3.3.
Các tính năng chính ..............................................................................................................19
3.3.1
Sumary Page:..................................................................................................................19
3.3.2
Static Analysis ................................................................................................................21
3.3.3
Behavioural Analysis .....................................................................................................22
3.3.4
Network Analysis ...........................................................................................................23
Demo...............................................................................................................................................24
4.1.
Phân tích malware bằng Cuckoo Sandbox. ..........................................................................24
4.2.
Phân tích file Word chứa Trojan...........................................................................................26
4.3.
Phân tích mã độc bằng Cuckoo Sandbox..............................................................................31
Kết luận. .............................................................................................................................................34
Lời cảm ơn .........................................................................................................................................35
Danh mục tham khảo ....................................................................................................................36
2
Lời mở đầu
Mã độc hay “Malicious software”[1] là một loại phần mềm được tạo ra và
chèn vào hệ thống một cách bí mật với mục đích thâm nhập, phá hoại hệ thống hoặc
lấy cắp thông tin, làm gián đoạn, tổn hại ta tính bí mật, tính tồn vẹn và tính sẵn sàng
của máy tính nạn nhân.
Mã độc được phân thành nhiều loại tùy theo chức năng, cách thức lây nhiễm,
phá hoại: virus, worm, trojan, rootkit … Để tìm được mã độc ta cần phải có phương
pháp phân tích và kỹ thuật phân tích mã độc. Phân tích mã độc là một bước quan trọng
trong để có thể ngăn chặn và tiêu diệt hồn tồn mã độc ra khỏi máy tính và hệ thống
mạng; khôi phục lại hiện trạng của mạng như ban đầu; truy tìm nguồn gốc tấn cơng.
Trước tiên cần xác định được chính xác chuyện gì đã xảy ra với tồn bộ hệ
thống, tìm được tồn bộ các thiết bị, tệp, ứng dụng đã bị lây nhiễm.
Trong quy trình phân tích mã độc, chúng ta cần xác định được chính xác những
gì mã độc có thể thực hiện, cách thức phát hiện mã độc trong hệ thống mạng, phương
pháp đo lường thiệt hại nó có thể gây ra. Và quan trọng nhất cần tìm ra qui luật đặc
trưng (Mã nhận diện – signatures) để nhận diện mã độc, diệt mã độc và khôi phục hệ
thống.
Bài báo cáo này sẽ trình bày về kỹ thuật sandboxing và cơng cụ phân tích mã
độc động Cuckoo.
3
Danh mục các thuật ngữ tiếng Anh và từ viết tắt
Từ viết tắt
Thuật ngữ tiếng Anh
Pcap
Application programming interface
(API) for capturing network traffic.
DLL
Dynamic Link Library
PDF
Portable Document Format
HTML
Hypertext Markup Language
URL
Uniform Resource Locator
PHP
CPL
JAR
Hypertext Preprocessor
Description of Control Panel
Java ARchive
4
Thuật ngữ tiếng Việt
Giao diện lập trình ứng dụng
để nắm bắt lưu lượng mạng
Thư viện liên kết động
Định dạng tài liệu di động
Ngôn ngữ đánh dấu siêu văn
bản
Địa chỉ định vị tài ngun tồn
cầu
Ngơn ngữ lập trình PHP
Mơ tả Bảng điều khiển
File nén
Danh mục hình vẽ
Hình 1.1 Kiến trúc của Cukoo ..................................................................................................................7
Hình 1.2 Một wep sever được khởi tạo ..................................................................................................10
Hình 1.3 Giao diện cơng cụ joesandbox.................................................................................................10
Hình 1.4 Cơng cụ threatexpert ...............................................................................................................11
Hình 2.1 Trình duyệt phổ biến. ..............................................................................................................13
Hình 3.1 Khởi tạo mơi trường python2 để chạy cuckoo ........................................................................15
Hình 3.2 Cài đặt các thưu viện cần thiết ................................................................................................16
Hình 3.3 Máy ảo virtualbox ...................................................................................................................16
Hình 3.4 Điều chỉnh cấu hình IP ............................................................................................................17
Hình 3.5 Bật chế độ share thư mục máy ảo và máy thật. .......................................................................17
Hình 3.6 Khởi động cuckoo thành cơng.................................................................................................18
Hình 3.7 Phân tích. .................................................................................................................................18
Hình 3.8 Q trình và kết quả phân tích. ...............................................................................................19
Hình 3.9 Màn hình Sumary report .........................................................................................................19
Hình 3.10 Information on excution ........................................................................................................20
Hình 3.11 Phân tích signatures ...............................................................................................................20
Hình 3.12 Các bước chạy trong máy ảo .................................................................................................21
Hình 3.13 static analysis.........................................................................................................................21
Hình 3.14 Các thư viện được imprort ....................................................................................................22
Hình 3.15 Các thư viện được imprort ....................................................................................................22
Hình 3.16 Xem thông tin chi tiết hơn về các hành vi .............................................................................23
Hình 3.17 Phân tích mạng ......................................................................................................................23
Hình 4.1 Phân tích mạng ........................................................................................................................25
Hình 4.2 Một wep sever được khởi tạo ..................................................................................................26
Hình 4.3 Một wep sever được khởi tạo ..................................................................................................27
Hình 4.4 Một wep sever được khởi tạo ..................................................................................................28
Hình 4.5 Một wep sever được khởi tạo ..................................................................................................30
Hình 4.6 Một wep sever được khởi tạo ..................................................................................................30
Hình 4.7 Một wep sever được khởi tạo ..................................................................................................31
Hình 4.8 Một wep sever được khởi tạo ..................................................................................................31
Hình 4.9 Một wep sever được khởi tạo ..................................................................................................32
Hình 4.10 Một wep sever được khởi tạo ................................................................................................32
Hình 4.11 Một wep sever được khởi tạo ................................................................................................33
Hình 4.12 Một wep sever được khởi tạo ................................................................................................33
5
1. Giới thiệu
1.1. Giới thiệu công cụ cuckoo.
1.1.1 Cuckoo là gì?
Cuckoo là một sandbox phân tích malware[3], Cho phép thực thi malware trong
một mơi trường máy ảo, ngồi ra nó cịn cho phép phân tích trên mơi trường máy thật.
Kiến trúc của cuckoo theo mơ hình của một máy ảo thật sự bao gồm host và guest.
Máy host là máy được cài chương trình ảo hóa như virtualbox hay
vmware.
Máy guest là một máy tính được cài hệ điều hành dành cho việc thực thi
malware. Có thể là máy ảo hoặc máy vật lý.
Nó được sử dụng để tự động chạy và phân tích các tệp cũng như thu thập các kết
quả phân tích tồn diện để phác thảo những gì phần mềm độc hại thực hiện khi chạy
bên trong một hệ điều hành bị cơ lập. Ngồi ra Cuckoo cịn có thể trích xuất được các
thơng tin về mã độc vơ cùng hữu ích như:
Các tệp được phần mềm độc hại tạo ra, cài đặt hay tải xuống trong quá
trình thực thi
Bộ nhớ mà các phần mềm độc hại sử dụng
Theo dõi lưu lượng mạng ở định dạng Pcap
Thơng tin chi tiết q trình thực thi phần mềm
Cuckoo được thiết kế để sử dụng chạy ứng dụng trong một môi trường độc lập
cũng như có thể tích hợp vào các framework lớn hơn nhờ vào thiết kế module linh
hoạt của nó.
Chính nhờ sự linh hoạt đó mà cuckoo có thể phân tích được rất nhiều định dạng
hoặc loại file khác nhau :
Generic Windows executables
DLL files
PDF documents
Microsoft Office documents
URLs and HTML files
PHP scripts
CPL files
Visual Basic (VB) scripts
ZIP files
6
Java JAR
Python files
1.1.2 Kiến trúc.
Cuckoo Sandbox bao gồm một phần mềm quản lý trung tâm xử lý việc thực thi và
phân tích mẫu.
Mỗi phân tích được khởi chạy trong một máy ảo hoặc vật lý mới và biệt lập. Các
thành phần chính của cơ sở hạ tầng của Cuckoo là máy Chủ (phần mềm quản lý) và
một số máy Khách (máy ảo hoặc máy vật lý để phân tích).
Máy chủ chạy thành phần cốt lõi của hộp cát quản lý tồn bộ q trình phân
tích, trong khi Khách là môi trường biệt lập nơi các mẫu phần mềm độc hại được thực
thi và phân tích một cách an tồn.
Hình ảnh sau đây giải thích kiến trúc chính của Cuckoo:
Hình 1.1 Kiến trúc của Cukoo
7
1.1.3 Lịch sử hình thành.
Cuckoo Sandbox bắt đầu như một dự án Google Summer of Code vào năm 2010
trong Dự án Honeynet . Ban đầu nó được thiết kế và phát triển bởi Claudio “nex”
Guarnieri , người vẫn là trưởng dự án và nhà phát triển cốt lõi.
Sau công việc đầu tiên vào mùa hè năm 2010, bản phát hành beta đầu tiên được
xuất bản vào ngày 5 tháng 2 năm 2011, khi Cuckoo được công bố và phân phối công
khai lần đầu tiên.
- Vào tháng 3 năm 2011, Cuckoo đã được chọn một lần nữa làm dự án được hỗ trợ
trong Google Summer of Code 2011 với Dự án Honeynet, trong đó Dario Fernandes đã
tham gia dự án và mở rộng chức năng của nó.
-
Vào ngày 2 tháng 11 năm 2011 Cuckoo phát hành phiên bản 0.2 cho công chúng
như là bản phát hành ổn định thực sự đầu tiên. Vào cuối tháng 11 năm 2011,
Alessandro “jekyll” Tanasi đã tham gia vào nhóm mở rộng chức năng xử lý và báo
cáo của Cuckoo.
- Vào tháng 12 năm 2011, Cuckoo v0.3 được phát hành và nhanh chóng đạt được bản
phát hành 0.3.2 vào đầu tháng Hai.
- Vào cuối tháng 1 năm 2012, chúng ta đã mở Malwr.com , một phiên bản Cuckoo
Sandbox miễn phí và chạy cơng khai được cung cấp với giao diện chính thức đầy đủ
mà qua đó mọi người có thể gửi tệp để được phân tích và nhận lại kết quả.
- Vào tháng 3 năm 2012, Cuckoo Sandbox giành chiến thắng trong vòng đầu tiên của
chương trình Magnificent7 do Rapid7 tổ chức .
- Trong suốt mùa hè năm 2012, Jurriaan “skier” Bremer đã tham gia nhóm phát
triển, cấu trúc lại thành phần phân tích Windows để cải thiện chất lượng phân tích một
cách hợp lý.
- Vào ngày 24 tháng 7 năm 2012, Cuckoo Sandbox 0.4 được phát hành.
- Vào ngày 20 tháng 12 năm 2012, Cuckoo Sandbox 0.5 “To The End Of The World”
được phát hành.
8
- Vào ngày 15 tháng 4 năm 2013, chúng ta đã phát hành Cuckoo Sandbox 0.6, ngay
sau khi ra mắt phiên bản thứ hai của Malwr.com .
- Vào ngày 1 tháng 8 năm 2013 Claudio “nex” Guarnieri , Jurriaan “skier” Bremer
và Mark “rep” Schloesser đã trình bày Mo 'Malware Mo' Problems - Cuckoo Sandbox
để giải cứu tại Black Hat Las Vegas.
- Vào ngày 9 tháng 1 năm 2014, Cuckoo Sandbox 1.0 được phát hành.
- Vào tháng 3 năm 2014 Cuckoo Foundation ra đời với tư cách là tổ chức phi lợi
nhuận dành riêng cho sự phát triển của Cuckoo Sandbox cũng như các dự án và sáng
kiến xung quanh.
- Vào ngày 7 tháng 4 năm 2014, Cuckoo Sandbox 1.1 được phát hành.
- Vào ngày 7 tháng 10 năm 2014, Cuckoo Sandbox 1.1.1 được phát hành sau khi
Robert Michel tiết lộ Lỗ hổng nghiêm trọng .
- Vào ngày 4 tháng 3 năm 2015, Cuckoo Sandbox 1.2 đã được phát hành với một loạt
các cải tiến liên quan đến khả năng sử dụng của Cuckoo.
- Vào mùa hè năm 2015, Cuckoo Sandbox bắt đầu phát triển phân tích phần mềm độc
hại Mac OS X như một dự án Google Summer of Code trong Dự án Honeynet .
Dmitry Rodionov đủ điều kiện cho dự án và đã phát triển một bộ phân tích hoạt động
cho Mac OS X.
- Vào ngày 21 tháng 2 năm 2016, phiên bản 2.0 Release Candidate 1 được phát hành.
Phiên bản này xuất xưởng với gần hai năm nỗ lực kết hợp để làm cho Cuckoo
Sandbox trở thành một dự án tốt hơn để sử dụng hàng ngày.
1.1.4 Một số công cụ Sanbox khác.
- Malwr
Malwr là một nền tảng trực tuyến mã nguồn mở được sử dụng để thực hiện điều
tra mã độc, nơi bất kỳ ai cũng có thể gửi mẫu phần mềm độc hại để phân tích phần mềm
độc hại trong hộp cát chim cu gáy. Cuckoo có thể thực thi và kiểm tra phần mềm độc
hại lấy mẫu theo cách được bảo vệ và đưa ra báo cáo rất chi tiết trong định dạng html /
xml.
9
Hình 1.2 Một wep sever được khởi tạo
- JoeSandbox
Joe sandbox là một trong những phần mềm độc hại hoàn toàn tự động phổ biến
hệ thống phân tích như Anubis và Malwr. Nó cung cấp các tính năng được gọi là
phân tích sâu và hộp cát nhanh nhẹn và khơng giới hạn đầu vào hỗ trợ tất cả các loại
định dạng tệp mà nó cũng có thể cũng phân tích các ứng dụng Android. Cuối cùng nó
tạo ra báo cáo sau khi phân tích thành cơng hành vi của mẫu phần mềm độc hại trong
XML, JSON, HTML, PDF, v.v.
Hình 1.3 Giao diện công cụ joesandbox
10
ThreatExpert
ThreatExpert là một hệ thống phân tích phần mềm độc hại trực tuyến. Nó cung
cấp một giao diện người dùng đơn giản, nơi chúng tơi có thể phân tích phần mềm độc
hại mẫu bằng cách gửi chúng. Sau khi phân tích phần mềm độc hại, chúng tơi có thể
xem một báo cáo chi tiết, nơi chúng tơi có thể thấy dấu thời gian của phần mềm độc
hại có nghĩa là khi phần mềm độc hại được tạo ra, tác giả phần mềm độc hại đã sử
dụng loại trình đóng gói nào, mức độ bảo mật, v.v.
Hình 1.4 Cơng cụ threatexpert
11
2. Phân tích mã độc bằng kỹ thuật sanboxing.
2.1. Sandbox là gì?
Sandbox [2] là một kỹ thuật quan trọng trong lĩnh vực bảo mật có tác dụng cơ lập
các ứng dụng, ngăn chặn các phần mềm độc hại để chúng khơng thể làm hỏng hệ
thống máy tính, hay cài các mã độc nhằm ăn cắp thông tin cá nhân của bạn.
Hiện nay, nhiều ứng dụng mà bạn sử dụng hàng ngày đều được áp dụng công nghệ
Sandbox, giúp âm thầm bảo chúng ta khỏi nguy các cuộc tấn công bởi kẻ xấu. Ngồi
ra, bạn cũng có thể tự tạo ra một mơi trường Sandbox của riêng mình nhằm mục đích
test, phân tích một phần mềm nào đó khi bạn chưa chắc chắn liệu chúng có làm hại ta
máy tính hay khơng.
Hãy cùng tìm hiểu kĩ hơn về "hộp cát" thần kì trong bài viết sau đây của mình nhé!
2.2. Vai trị của Sandbox.
Về cơ bản, Sandbox là một mơi trường dùng để chạy phần mềm và mơi trường đó
được nằm trong sự kiểm soát chặt chẽ
Sandbox giúp hạn chế chức năng của một đoạn mã, cấp quyền cho một đoạn mã
nào đó chỉ được thực hiện một số chức năng nhất định, từ đó nó khơng thể thực hiện
những can thiệp khác có thể làm nguy hại cho máy tính người dùng.
Ví dụ cho vai trị của Sandbox chính là trình duyệt web mà bạn sử dụng hàng ngày.
Các trang web mà bạn truy cập đều được chạy trong môi trường Sandbox. Website sẽ
bị hạn chế và chỉ được chạy trong trình duyệt cũng như chỉ được can thiệp vào một
phần nhỏ trong tài nguyên hệ thống. Chúng không được phép sử dụng webcam cũng
12
như không thể truy cập được vào các dữ liệu trên máy nếu như bạn không cho phép.
Nếu như các trang web không bị giới hạn trong môi trường Sandbox này, thì khi bạn
lỡ truy cập vào các website chứa mã độc, nguy cơ máy tính của bạn bị tấn cơng là rất
cao.
Hình 2.1 Trình duyệt phổ biến.
Các trình duyệt phổ biến hiện nay như Google Chrome và Internet Explorer đều
chạy trong mơi trường Sandbox. Những trình duyệt này chạy trên máy tính nhưng
khơng được phép truy cập vào tồn bộ tài nguyên máy, mà chỉ có thể sử dụng một
lượng nhỏ tài nguyên hệ thống mà thôi. Điều này giúp cho trong trường hợp một trang
web độc hại tìm ra được lỗ hổng bảo mật và chiếm quyền điều khiển trình duyệt,
chúng cũng khơng thể làm hại ta máy tính của bạn, bởi bản thân trình duyệt lúc này
đang bị cô lập với hệ thống nhờ Sandbox.
Đáng tiếc rằng một trình duyệt phổ biến hiện nay là Firefox chưa áp dụng công
nghệ bảo mật này.
13
3. Cấu hình cài đặt và tính năng.
3.1. Cấu hình cài đặt.
Cuckoo dùng tốt nhất trên các hệ điều hành dựa trên nhân linux , tuy nhiên công cụ
cũng sử dụng tốt trên các hệ điều hành khác như window7 hay Mac OS. Phía nhà phát
triển cũng đề xuất rằng, tùy định dạng phân tích mà chúng ta có thể dùng các máy ảo
khác nhau. Ví dụ như dùng phần tích các file PE thì máy client nên là window7 hoặc
XP, cũng như dùng máy client nên chạy linux nếu chúng ta muốn phân tích các định
dạng của linux.
3.1.1 Yêu cầu đối với máy chủ.
Trước khi cấu hình và cài đặt Cuckoo, môi trường cần phải cài đặt một số thư viện
nhất định như
Python: Tùy phiên bản 2.7 hoặc 3.9
Phần mềm ảo hóa : Cơng cụ hỗ trợ hầu hết các phần mềm ảo hóa hiện nay
như VMware, vitural box
tcpdump: Để kết xuất hoạt động mạng được thực hiện bởi phần mềm độc hại
trong quá trình thực thi, bạn sẽ cần một trình kiểm tra mạng được định cấu
hình đúng cách để nắm bắt lưu lượng và kết xuất nó vào một tệp.
Volatility: một cơng cụ tùy chọn để thực hiện phân tích pháp y trên các bãi
chứa bộ nhớ. Kết hợp với Cuckoo, nó có thể tự động cung cấp khả năng hiển
thị bổ sung về các sửa đổi sâu trong hệ điều hành cũng như phát hiện sự hiện
diện của công nghệ rootkit đã thốt khỏi miền giám sát của máy phân tích của
Cuckoo.
M2Crypto
guacd: một dịch vụ tùy chọn cung cấp lớp dịch cho RDP, VNC và SSH cho
chức năng điều khiển từ xa trong giao diện web Cuckoo.
14
3.1.2 Yêu cầu đối với máy khách.
Để cuckoo có thể chạy bình thường trong mơi trường ảo hóa, chúng ta cũng cần
thiết lập môi trường cũng như các thư viện cần thiết như:
Python: Tùy phiên bản 2.7 hoặc 3.9
Các phần mềm bổ sung: để có thể phân tích các định dạng file khác nhau,
chúng ta cần phải cài thêm các phần mềm bổ trợ ví dụ như trình đọc file PDF,
đọc file nén, ...
Phần mềm ảo hóa: Công cụ hỗ trợ hầu hết các phần mềm ảo hóa hiện nay như
VMware, virtualbox
3.2. Các bước cài đặt:
- Khởi tạo môi trường python2.7, mặc dù công cụ hỗ trợ cả hai phiên bản 2 và 3
nhưng Cuckoo sandbox vẫn hoạt động tốt nhất với python2.
Hình 3.1 Khởi tạo mơi trường python2 để chạy cuckoo
15
- Sau đó cài đặt các thư viện cần thiết để có thể sử dụng cơng cụ một cách hiệu quả
nhất.
Hình 3.2 Cài đặt các thưu viện cần thiết
Như cơ chế đã nêu, thì cuckoo sẽ chạy phân tích các file ở một máy client, trong
báo cáo này chúng ta sẽ sử dụng máy ảo virtualbox để đóng vai trị là máy khách.
Hình 3.3 Máy ảo virtualbox
16
Tiếp đến để có thể chạy các file phân tích ở máy ảo và gửi kết quả phân tích về máy
thật, chúng ta cần cấu hình địa chỉ IP của máy ảo thành địa chỉ tĩnh là 192.168.51.1
Hình 3.4 Điều chỉnh cấu hình IP
Bật chế độ share thư mục giữa máy ảo và máy thật, sau đó chuyển file agent.py vào
trong máy client để chạy.
Hình 3.5 Bật chế độ share thư mục máy ảo và máy thật.
17
Sau khi đã hoàn tất việc cài đặt các thư viện cần thiết và chúng ta tiến hành cài
đặt cuckoo. Có nhiều cách đề cài đặt Cuckoo sandbox vào trong hệ thống, tuy nhiên
cách đơn giản nhất là cài đặt trực tiếp, Git chính của Cuckoo. Khi cài đặt hồn tất, gõ
lệnh
$ sudo Cuckoo
Hình 3.6 Khởi động cuckoo thành cơng.
Hiện tại thì cuckoo đã sẵn sàng cho quá trình phân tích , chúng ta đã có thể
submit malware hoặc malicious URL. Chúng ta cần gọi file submit.py để thực hiện
quá trình phân tích
Hình 3.7 Phân tích.
18
Sau đó q trình phân tích sẽ được hiển thị như hình bên dưới :
Hình 3.8 Quá trình và kết quả phân tích.
3.3. Các tính năng chính
3.3.1 Sumary Page:
Trong hình ảnh bên dưới, trang Tóm tắt được hiển thị. Điều này chứa thông tin
thường được xác định từ việc thực hiện phân tích tĩnh, chẳng hạn như kích thước tệp
và hàm băm.
Ở phía bên phải là điểm số đã được chỉ định cho tệp dựa trên mức độ độc hại của
tệp được coi là độc hại từ phân tích hộp cát. Giá trị này nằm trong khoảng từ 0, nghĩa
là tệp lành tính, tăng lên 10 tệp càng độc hại.
Hình 3.9 Màn hình Sumary report
19
Cuckoo cũng cung cấp thông tin chi tiết về thời điểm tiến hành phân tích, thời
gian thực hiện và loại định tuyến đã được sử dụng. Trong hình ảnh bên dưới, bạn có
thể thấy rằng hộp cát của tơi được định cấu hình để định tuyến lưu lượng truy cập qua
TOR. Điều này đã được thực hiện để IP nguồn của hộp cát của tơi khơng bị lộ khi nó
giao tiếp với cơ sở hạ tầng của kẻ xấu.
Đây là điều chúng ta nên sử dụng, nếu chúng ta đang xử lý một phần mềm độc hại
mà cảm thấy có thể đã được tạo ra để nhắm mục tiêu vào tổ chức của bạn thì tơi thực
sự khun bạn nên tắt kết nối mạng. Điều cuối cùng bạn muốn là những kẻ xấu nói
rằng bạn đã tìm thấy phần mềm độc hại của chúng và bằng chứng cho thấy bạn đang
theo dõi chúng.
Hình 3.10 Information on excution
Phân tích cũng xác định bất kỳ chữ ký thú vị nào. Bằng cách nhấp vào các chi tiết
được cung cấp thêm này, trong hình ảnh bên dưới, chúng ta có thể thấy lại đường dẫn
PDB đã được xác định.
Hình 3.11 Phân tích signatures
Chữ ký được mã hóa bằng màu xanh lam, vàng hoặc đỏ. Màu xanh lam cho
thấy chữ ký có thể có khả năng lành tính, màu vàng là rủi ro trung bình và chữ ký màu
đỏ là nơi Cuckoo đã xác định được bằng chứng mạnh mẽ về hoạt động độc hại như địa
chỉ IP và hoạt động viết khóa.
20
Ở cuối trang tóm tắt, Cuckoo cung cấp danh sách các ảnh chụp màn hình được chụp từ
thiết bị Khách đã bị nhiễm phần mềm độc hại, điều này có thể hữu ích cho việc phân
tích một phần Ransomware vì thơng báo Ransom sẽ thường được hiển thị.
Sau đó, Cuckoo liệt kê bất kỳ tên miền và địa chỉ IP nào đã được xác định, đây
thực sự là thông tin hữu ích vì các IP trong hình ảnh bên dưới có thể được sử dụng để
xác định các máy chủ bị xâm phạm khác trong một tổ chức. Các khối chủ động cũng
có thể được đặt để ngăn bất kỳ máy chủ nào khác giao tiếp với các địa chỉ IP độc hại
này.
Hình 3.12 Các bước chạy trong máy ảo
3.3.2 Static Analysis
Trang Phân tích tĩnh của báo cáo lấy ra thông tin thường được xác định bằng
cách sử dụng các công cụ như PEStudio , điều này bao gồm thông tin như các phần
của tệp thực thi và bất kỳ tài nguyên nào được xác định.
Hình 3.13 static analysis
21
Danh sách các DLL và API được phần mềm độc hại nhập vào cũng được ghi lại,
điều này rất hữu ích nếu một phần của phần mềm độc hại đã được giải nén và đang được
thiết kế ngược bằng công cụ như x64dbg . Một nhà phân tích phần mềm độc hại thường
sẽ kiểm tra các lần nhập để xem liệu có bất kỳ dữ liệu nào đang được sử dụng cho mục
đích xấu hay khơng, ví dụ: sự hiện diện của API 'CryptEncrypt' có thể chỉ ra rằng phần
mềm độc hại đang mã hóa dữ liệu trên thiết bị hoặc có thể đang giải mã một số dữ
liệu. Sau đó, API này có thể điều tra hoạt động này trong x64dbg hoặc IDA.
Hình 3.14 Các thư viện được imprort
3.3.3 Behavioural Analysis
Trang Phân tích Hành vi ghi lại thơng tin từ thời điểm phần mềm độc hại đang
chạy trên thiết bị Khách. Hình ảnh dưới đây cho thấy các quy trình đã được tạo bởi
phần mềm độc hại, trong ví dụ này, phần mềm độc hại đã tạo ra một quy trình con của
chính nó. Đây là một kỹ thuật phổ biến được phần mềm độc hại sử dụng để giải nén
chính nó được gọi là 'q trình tiêm', đây là nơi quá trình mới được tạo ra bị rỗng và
phần mềm độc hại được giải nén sau đó được 'tiêm' vào quá trình trống.
Hình 3.15 Các thư viện được imprort
22
Bằng cách nhấp vào các quy trình khác nhau, Cuckoo sẽ liệt kê API nào đã
được phần mềm độc hại chạy. Có thể kiểm tra chức năng đã nhập nào đang được sử
dụng và xem liệu có thơng tin nào đang được trả lại hay không là đặc biệt hữu ích.
Hình 3.16 Xem thơng tin chi tiết hơn về các hành vi
3.3.4 Network Analysis
Tab Phân tích Mạng cung cấp các tab khác nhau để lọc trên các giao thức lưu
lượng mạng khác nhau. Trong hình ảnh bên dưới, báo cáo liệt kê các địa chỉ IP đã
được cung cấp trên trang tóm tắt. Tuy nhiên, các tab trên trang cho phép người dùng
lọc lưu lượng truy cập DNS, TCP, UDP, HTTP, ICMP và IRC nếu nó được tạo bởi
phần mềm độc hại. Cuckoo cũng cho phép các nhà phân tích tải xuống PCAP từ trang
này
Hình 3.17 Phân tích mạng
23
4. Demo
4.1. Phân tích malware bằng Cuckoo Sandbox.
Để submit một mẫu malware lên hệ thống , Cuckoo sandbox hỗ trợ câu lệnh
terminal để thực hiện việc này:
$ ./utils/submit.py [optional arguments] [positional argument]
Các tùy chọn có thể được sử dụng như sau :
●
[optional arguments]:
○
-h, --help:Đối số này hiển thị thông báo trợ giúp và thoát
○
--url: chỉ định mục tiêu là URL hay khơng
○
--package PACKAGE: chỉ định một gói phân tích cụ thể
○
--custom CUSTOM: Chỉ định các giá trị tùy biến cụ thể
○
--timeout TIMEOUT: chỉ định thời gian chờ phân tích
○
--options OPTIONS: Chỉ định các gói phân tích cụ thể (for example,
name=value,name2=value2)
○
--priority PRIORITY: chỉ định mức độ ưu tiên cho phép phân tích được
biểu thị bằng một số nguyên
○
--machine MACHINE: chỉ định mã định danh của máy bạn muốn sử
dụng
○
--platform PLATFORM: Đối số này chỉ định nền tảng hệ điều hành bạn
muốn sử dụng (Windows/Darwin/Linux)
○ --memory: Đối số này cho phép hệ thống lấy kết xuất bộ nhớ của máy
phân tích
○ --enforce-timeout: này cho phép hệ thống buộc phân tích chạy trong toàn
bộ khoảng thời gian chờ
● [positional argument]:
○ target: Đối số này là một URL hoặc đường dẫn của tệp / thư mục sẽ được
phân tích
24
Ngồi ra Cuckoo sandbox cịn cung cấp giao diện sử dụng rất trực quan. Chúng
ta có thể khởi động bằng cách dùng câu lệnh :
$ python utils/web.py
Hình 4.1 Phân tích mạng
Sau khi chạy đoạn lệnh khởi động, một web server sẽ được khởi tạo tại localhost cổng
8080.
25