Phân tích mã độc windows cơ bản - phần IV

tgnd

Moderator
Thành viên BQT
18/08/2021
45
73 bài viết
Phân tích mã độc windows cơ bản - phần IV
Có một sự thật không thể phủ nhận đó là tốc độ phát triển của công nghệ ngày càng cao, song song với đó cũng là sự phát triển không hề kém cạnh của mã độc. Nhìn lại về khoảng thời gian ban đầu, chúng ta có những mẫu mã độc rất sơ khai nhưng để phân tích được chúng thì những người anh đi trước của tôi đã không ít lần phải cài lại win. Còn tại sao phải cài lại win thì anh em cùng tôi tìm hiểu nhé!

MWA4.png

Ở phần trước, chúng ta đã cùng phân tích tĩnh cơ bản để lấy các thông tin của mã độc, bạn nào chưa đọc phần III thì nó ở đây nhé, để khắc phục những hạn chế của phân tích tĩnh thì chúng ta cần thực hiện chạy mã độc và phân tích động. Nhưng trước khi có thể chạy các phần mềm độc hại chúng ta cần một “môi trường an toàn” chứ không phải một chiếc USB để cài win, hay một bản win ghost. Và hơn hết mã độc ẩn chứa rất nhiều nguy cơ, ngay cả khi cài lại win cũng không đảm bảo được rằng chúng ta đã loại bỏ hoàn toàn mã độc khỏi hệ thống, nhất là hệ thống mạng.

Thời của các tiền bối, mình có được nghe những câu chuyện nghiên cứu mã độc sử dụng “môi trường an toàn” ở đó là những chiếc máy tính thật, máy tính vật lý. Những chiếc máy này phải được cô lập, sử dụng trong môi trường không có kết nối internet hoặc thậm chí phải sử dụng trên một network riêng biệt để tránh các rủi ro có thể gặp phải. Nhược điểm lớn của phương pháp này đó là không đảm bảo được môi trường mạng lý tưởng cho mã độc thực hiện các chức năng và rất dễ “màn hình xanh”, chết win cùng với đó khi hoàn thành phân tích sẽ rất vất vả để “dọn dẹp”.

Chúng ta may mắn hơn rất nhiều khi hầu hết các vấn đề nêu trên đã được giải quyết bằng công nghệ ảo hóa cùng với rất nhiều các phần mềm máy ảo hiện nay. Vậy cụ thể máy ảo sẽ giúp ích chúng ta như thế nào, trước tiên cùng tìm hiểu cấu trúc của máy ảo nhé!

Máy ảo, thuật ngữ máy ảo đã phần nào giải thích được cấu trúc của nó, “ảo” - virtual, có thể được hiểu là máy tính bên trong máy tính hay hệ điều hành trong hệ điều hành. Bằng cách này khi sử dụng máy ảo để phân tích phần mềm độc hại, nếu chẳng may bị hỏng hệ điều hành, chúng ta sẽ rất dễ dàng cài đặt lại hoặc khôi phục chúng về trạng thái sạch ban đầu.

MA1.png

Ở bài này tôi sẽ giới thiệu cho anh em phần mềm máy ảo tôi hay sử dụng đó là VirtualBox. Ngoài ra có rất nhiều sự lựa chọn khác như VMware Workstation, Hyper-V, Red Hat Virtualization… VirtualBox rất đầy đủ tính năng và dễ sử dụng và hơn hết, nó open source và free.

Cài đặt máy ảo

Để cài đặt VirtualBox trên windows, các bạn có thể vào địa chỉ này, tải bộ cài, tại thời điểm viết bài, phiên bản mới nhất đang là 7.0.6.

MA2.png

Các bước cài chi tiết thì có lẽ tôi không cần nhắc đến bởi trên mạng đã có rất nhiều bài hướng dẫn nên tôi chỉ giới thiệu các thông tin hữu ích.
Các phần mềm máy ảo hiện nay, bao gồm VirtualBox đều rất thông minh, các ổ cứng ảo được tạo ra đều được tối ưu lưu trữ, ví dụ: khi bạn tạo máy ảo với 60GB ổ cứng nhưng trên thực tế chỉ lưu trữ 10GB dữ liệu thì ngoài máy thật chúng sẽ chỉ chiếm con số tương ứng.

Ngoài phân tích mã độc, máy ảo còn có rất nhiều chức năng hữu ích. Để phân tích mã độc, chúng ta cần cài một máy ảo với hệ điều hành windows, có thể sử dụng windows XP. Đến đây chắc hẳn một số bạn thắc mắc tại sao lại sử dụng windows XP đã lỗi thời đúng không.

Mặc dù windows XP có rất nhiều hạn chế và giới hạn, thậm chí một số phần mềm mới không thể chạy trên hệ điều hành này nhưng đây vẫn là một môi trường lý tưởng để phân tích mã độc, có thể lấy ví dụ đơn giản đó là khi chạy mã độc ở đây dễ dàng có được địa chỉ Entrypoint lý tưởng 0x400000 chẳng hạn. Hoặc anh em có thể giống tôi, cài thêm cả windows 7, windows 10 cũng được nhé.

MA3.png

Đó là về hệ điều hành, sau khi cài đặt xong, chúng ta sẽ cài thêm các công cụ hỗ trợ phân tích mã độc và cấu hình phần mềm để tối ưu cho việc phân tích.

Cấu hình máy ảo

Cấu hình mạng:

Khi phân tích mã độc chắc hẳn chúng ta vừa không muốn hệ thống mạng bị tấn công và vừa muốn theo dõi các hoạt động mạng của phần mềm độc hại. Virtualbox hay các phần mềm máy ảo khác cũng cấp rất nhiều tùy chọn thiết lập mạng ảo.

MA4.png

Một số cấu hình tiêu biểu như:

Not attached: Ngắt kết nối mạng

NAT (Network Address Translation): Máy ảo chia sẻ địa chỉ IP của máy tính chủ và có thể truy cập internet thông qua giao diện mạng của máy tính chủ. Đây là chế độ mặc định.

Bridged: Máy ảo được kết nối với bộ điều hợp mạng của máy tính chủ như là một máy vật lý trên mạng. Máy ảo có địa chỉ IP riêng trên cùng đoạn mạng như máy chủ.

Internal: Máy ảo được kết nối với một mạng nội bộ chỉ có thể truy cập được bởi các máy ảo khác trên cùng máy chủ. Các máy ảo có thể truyền thông với nhau nhưng không thể truy cập vào máy tính chủ hoặc internet.

Host-only: Máy ảo được kết nối với một mạng riêng chỉ có thể truy cập được bởi máy tính chủ và các máy ảo khác trên cùng máy chủ. Các máy ảo có thể truyền thông với nhau và với máy chủ, nhưng không thể truy cập internet hoặc các máy khác trên mạng bên ngoài.

Cấu hình kết nối các thiết bị ngoại vi

Máy ảo cũng có thể thiết lập để kết nối tới các thiết bị ngoại vi, ví dụ USB.
Trong Virtualbox, anh em cần cài thêm VirtualBox Extension Pack và thiết lập trong phần Setting của máy ảo.


MA5.png

Snapshots

Đây có lẽ là tính năng hay nhất của máy ảo. Tính năng dành riêng cho máy ảo này giúp chúng ta lưu lại toàn bộ trạng thái hiện tại của máy tính, hệ điều hành và cho phép quay lại, khôi phục lại trạng thái đó.

MA6.png

Ví dụ trên hình đang có 2 trạng thái, trạng thái “Clean” được tạo trước trạng thái “Letsgooooo” 1 ngày.

Cấu hình chia sẻ tệp

Khi phân tích mã độc chúng ta sẽ cần cài đặt công cụ, thêm tệp, hay lấy tệp đã phân tích từ máy ảo ra ngoài. Máy ảo hay VirtualBox có sẵn các cơ chế để chia sẻ tệp, chúng ta có thể chia sẻ thư mục hoặc kéo thả tệp trực tiếp từ máy ảo ra máy thật và ngược lại.

MA7.png

Một lưu ý khi phân tích đó là quyền access khi chia sẻ thư mục, chúng ta nên để “Read-only” để tránh bị mã độc lây nhiễm ra các tệp trên máy thật.
Ngoài ra, còn có thể chia sẻ thành phần khác như Clipboard.

Tổng kết:

MA8.png

Máy ảo là một công cụ tuyệt vời giúp chúng ta phân tích phần mềm độc hại. Để phân tích mã độc, chúng ta có thể cài đặt sẵn các công cụ và ghi lại snapshots sạch sẽ để quay lại sau khi phân tích mã độc xong.

Cảm ơn các bạn đã theo dõi bài viết, phần sau chúng ta cùng phân tích động mã độc nhé, goodbye!

Danh sách bài viết:
Phần I: Windows APIs
Phần II: Malware Behavior
Phần III: Basic Static Analysis
Phần IV: Virtual Machine < we are here
Phần V: Basic Dymamic Analysis

tgnd
 
Chỉnh sửa lần cuối:
Mời các bạn tham gia Group WhiteHat để thảo luận và cập nhật tin tức an ninh mạng hàng ngày.
Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan
Thẻ
mã độc windows malwareanalysis tgnd
Bên trên