Xây dựng phòng Lab Malware “bất khả xâm phạm” trên Proxmox: Hướng dẫn về Cô lập và Snapshot

HomeLab tutorial - IT technology blog
HomeLab tutorial - IT technology blog

Nguy cơ từ các môi trường Lab bị “rò rỉ”

Nhiều nhà nghiên cứu bắt đầu bằng việc chạy malware trong một Máy ảo (VM) tiêu chuẩn sử dụng mạng NAT hoặc Bridged. Đây là một canh bạc. Mặc dù nó tách biệt hệ điều hành khách với hệ điều hành máy chủ, nhưng nó không làm gì để ngăn chặn một mẫu malware quét mạng con 192.168.1.x cục bộ của bạn, nhắm mục tiêu vào NAS hoặc gia nhập mạng botnet thông qua bộ định tuyến gia đình. Nếu bạn đang kích hoạt một mẫu LockBit hoặc Emotet, một thiết lập VM cơ bản không phải là một tấm lá chắn—nó là một mối nguy hiểm.

Bạn cần một mạng “Hố đen” (Black Hole). Đây là không gian nơi malware có thể thực thi, tìm kiếm kết nối internet và thất bại thảm hại mà không bao giờ nhìn thấy gateway thật của bạn. Proxmox hoàn hảo cho việc này. Nó cho phép bạn kiểm soát chi tiết Linux Bridge và Open vSwitch, tạo ra một chiếc lồng kỹ thuật số để giam giữ “con thú”. Tôi đã sử dụng thiết lập này để phân tích hàng trăm mẫu mà không để một gói tin nào thoát ra mạng LAN cục bộ.

Các trụ cột cốt lõi: Cô lập và Bảo toàn Trạng thái

Trước khi bắt đầu thao tác trên giao diện Proxmox, bạn phải nắm vững hai khái niệm: Network Isolation (Cô lập mạng) và State Preservation (Bảo toàn trạng thái).

1. Bridge cô lập (Host-Only)

Một bridge Proxmox tiêu chuẩn (vmbr0) thường ánh xạ tới một cổng vật lý như eth0. Đối với một sandbox, chúng ta tạo một bridge mới, chẳng hạn như vmbr1, mà không gắn cổng vật lý nào. Các VM trên bridge này có thể giao tiếp với nhau, nhưng chúng hoàn toàn không thể truy cập internet hoặc máy chủ. Để giả lập lưu lượng mạng, chúng ta điều hướng chúng qua một môi trường được kiểm soát như INetSim thay vì một bộ định tuyến thực.

2. Chiến lược “Golden Image”

Phân tích malware về bản chất là có tính phá hủy. Một khi mẫu chạy, hệ điều hành sẽ bị “đốt cháy”. Bạn không thể chỉ nhấn hoàn tác (undo). Đây là lúc snapshot tỏa sáng. Trong quy trình làm việc thực tế, bạn xây dựng một “Golden Image”—một bản Windows 10 sạch với 8GB RAM, 4 vCPU và đầy đủ bộ công cụ của bạn—sau đó chụp snapshot. Việc khôi phục (revert) một disk image 80GB mất chưa đầy 15 giây, đảm bảo mọi bài kiểm tra đều bắt đầu từ trạng thái nguyên sơ.

Thực hành: Xây dựng phòng Lab

Dưới đây là cấu hình từng bước cho mạng và các máy phân tích của bạn.

Bước 1: Tạo mạng Air-Gapped

Mở giao diện web Proxmox của bạn và đi tới System > Network. Chúng ta sẽ xây dựng một switch ảo không dẫn đến đâu cả.

  1. Nhấp vào Create > Linux Bridge.
  2. Đặt tên là vmbr1.
  3. Để trống hoàn toàn trường Bridge ports. Đây chính là “khe hở không khí” (air-gap). Không có cổng vật lý, bridge này là một hòn đảo biệt lập.
  4. Bỏ qua các thiết lập IP. Hãy để Lab Gateway của bạn xử lý việc cấp phát địa chỉ nội bộ.

Bạn thích dòng lệnh hơn? Chỉnh sửa /etc/network/interfaces qua SSH:

auto vmbr1
iface vmbr1 inet manual
        bridge-ports none
        bridge-stp off
        bridge-fd 0
#PHONG-LAB-MALWARE-CO-LAP

Áp dụng các thay đổi bằng lệnh ifup vmbr1.

Bước 2: Cấu hình Flare-VM

Flare-VM của Mandiant là tiêu chuẩn vàng để phân tích trên Windows. Khi tạo VM, hãy sử dụng các thiết lập sau để tránh bị phát hiện:

  • Bios: OVMF (UEFI).
  • Machine: q35 (hỗ trợ driver hiện đại và PCIe passthrough).
  • Network: Đặt Bridge thành vmbr1.
  • Guest Agent: Vô hiệu hóa QEMU Guest Agent. Malware nâng cao thường kiểm tra tiến trình qemu-ga; nếu tìm thấy, malware sẽ “giả chết” để tránh bị phân tích.

Bước 3: Giả lập Internet với REMnux

Malware thường nằm im nếu nó không thể “gọi về nhà”. Chúng ta sử dụng REMnux trên cùng bridge vmbr1 để đánh lừa malware. Bằng cách chạy INetSim, REMnux sẽ giả mạo các dịch vụ DNS, HTTP và SMTP. Khi malware cố gắng kết nối tới server C2 tại evil-domain.com, REMnux sẽ can thiệp, phản hồi rằng “Tôi chính là server đó” và trả về mã 200 OK giả. Điều này giúp malware tiếp tục hoạt động để bạn có thể quan sát hành vi của nó.

Bước 4: Quy trình làm việc với Snapshot

Sau khi máy ảo Windows của bạn đã cài đặt đầy đủ công cụ, hãy tắt máy. Đây là trạng thái gốc (baseline) của bạn.

  1. Đi tới tab Snapshots.
  2. Nhấp vào Take Snapshot và đặt tên là CLEAN_BASELINE.
  3. Bao gồm cả RAM để cho phép khôi phục tức thì mà không cần thực hiện toàn bộ quá trình khởi động.

Sẵn sàng kích hoạt malware? Khởi động từ snapshot, kéo malware vào và để nó chạy. Sau khi bạn đã có log và bản kết xuất bộ nhớ (memory dump), chỉ cần nhấp vào Rollback. Sự lây nhiễm sẽ biến mất ngay lập tức.

Đối với những người muốn tự động hóa lab, hãy sử dụng CLI:

# Liệt kê các snapshot hiện có
qm listsnapshot 101

# Khôi phục về trạng thái sạch
qm rollback 101 CLEAN_BASELINE

Lời kết

Một phòng thí nghiệm malware tuyệt vời được định nghĩa bởi kiến trúc của nó, không chỉ là công cụ. Bằng cách sử dụng một bridge Proxmox không kết nối, bạn xây dựng một rào cản vật lý mà phần mềm không thể phá vỡ. Điều này, kết hợp với thói quen sử dụng snapshot kỷ luật, giúp mạng gia đình của bạn an toàn trong khi bạn mổ xẻ những đoạn mã nguy hiểm nhất trên web. Hãy bắt đầu với một VM Windows và một máy ảo REMnux. Quan sát lưu lượng mạng. Một khi bạn đã làm chủ được việc cô lập, bạn có thể mở rộng quy mô sang các sandbox Active Directory phức tạp hoặc các đường ống xử lý tự động.

Share: