xr3iracer/ubuntu-arm64-malware-lab

GitHub: xr3iracer/ubuntu-arm64-malware-lab

为 Apple Silicon 上的 UTM 虚拟机提供一键部署的 Ubuntu ARM64 恶意软件分析工具包与隔离网络实验室。

Stars: 0 | Forks: 0

# 适用于 UTM 的 Ubuntu ARM64 恶意软件分析实验室 本项目将一个实用的恶意软件分析工具包安装到运行在 Apple Silicon Mac 上的 UTM 中的 Ubuntu ARM64 虚拟机内。它遵循 FLARE-VM 的分类理念,但使用 Linux 原生且兼容 ARM64 的工具,而不是尝试安装专注于 Windows 的 FLARE-VM 发行版。 受支持的客户机系统为 **Ubuntu 24.04 ARM64**。安装程序会在运行时检查软件包的可用性,因此缺少某个可选软件包不会中断整个构建过程。 ## 安装内容 默认的 `core` 配置包含: - 静态分析:YARA、ClamAV、ssdeep、hashdeep、ExifTool、binwalk、Sleuth Kit、PE 实用程序、UPX 以及 Python PE 库。 - 逆向工程:Ghidra、radare2、GDB multiarch、Capstone、Unicorn、strace、ltrace、valgrind、QEMU user emulation、apktool 以及 Java 反编译器。 - 网络分析:INetSim、TShark、tcpdump、ngrep、Nmap、mitmproxy、tcpflow、tcpreplay、termshark、socat 以及 Netcat。 - 文档分析:oletools、PDF 实用程序、qpdf、pdfminer、pdfcrack 以及 pdfresurrect。 - 内存分析:Volatility 3。 - FLARE 工具(在可用的情况下包含兼容 ARM 的 Python 安装):FLOSS 和 capa。 `full` 配置添加了 Wireshark、GUI 十六进制/数据库工具,以及占用更大磁盘空间的取证和时间线分析软件包。 安装程序会检查每一个 apt 软件包,并在遇到不可用的软件包时进行报告,而不是直接中止整个构建过程。 ## UTM 虚拟机设置 1. 使用 Ubuntu 24.04 ARM64 ISO 创建一个新的 **Virtualize > Linux** 虚拟机。 2. 如果您希望使用 UTM 的可重置运行模式,请使用 QEMU 后端。 3. 至少分配 4 个 CPU 核心、8 GB 内存和 100 GB 存储空间。Ghidra 和大型样本分析建议使用 12-16 GB 内存以获得更好性能。 4. UTM 官方的 ARM 指南使用的是 Ubuntu Server。如果需要桌面版实验室,请在安装此工具包之前使用 `sudo apt install ubuntu-desktop` 安装 GUI,然后重新启动。 5. 仅在安装 Ubuntu 和这些工具期间使用共享网络。 6. 在分析恶意软件时,切勿挂载真实的 Mac 文件夹。在保留纯净基础快照之前,请禁用共享剪贴板和目录共享。 7. 安装完成后,请关闭虚拟机电源,并禁用/移除其 UTM 网络适配器。这比单纯依赖客户机防火墙更为安全。 8. 保留一份处于关机状态的纯净虚拟机副本。使用 QEMU 后端时,选择 **Run without saving changes** 可进行一次性的分析会话。 对于多虚拟机实验室,UTM 的 **macOS Host Only** 网络会拦截 WAN 流量,但不提供 DHCP。请分配静态客户机地址并启用 **Isolate Guest from Host**。在恶意软件分析中切勿使用桥接模式。 ## 安装 在 Ubuntu 虚拟机仍具有互联网访问权限时,将本项目克隆到其中: ``` sudo apt update sudo apt install -y git git clone https://github.com/xr3iracer/ubuntu-arm64-malware-lab.git cd ubuntu-arm64-malware-lab chmod +x install.sh sudo ./install.sh ``` 如需安装包含更大规模 GUI/取证工具的配置: ``` sudo ./install.sh --profile full ``` 常用选项: ``` --no-ghidra --no-python-tools --dry-run ``` 安装程序会下载最新的官方 Ghidra 发行版,验证其发布的 SHA-256 校验和,将其解压到 `/opt/malware-lab` 目录下,并删除临时压缩包。它还会在 `/opt/malware-lab` 目录下写入 apt 和 pipx 清单,以便进行离线审计。 ## 模拟互联网与隔离执行 FakeNet-NG 是面向 Windows 的。本项目使用 INetSim 和 Linux network namespace 来提供类似的单虚拟机工作流程: ``` sudo labnet start sudo labnet test malrun ./suspected-sample sudo labnet stop ``` `labnet` 会创建以下专用网络拓扑: ``` sample process (10.66.0.2) | | isolated veth; no external forwarding v INetSim (10.66.0.1) ``` DNS 响应会将所有域名解析指向 `10.66.0.1`。发往硬编码 IPv4 地址的流量将被重写至 INetSim 地址,同时保留请求的端口号。转发防火墙会丢弃所有未在本地处理的数据包。 报告和日志会保存在 `/var/log/inetsim` 目录下。 您还可以在该 network namespace 中打开一个交互式 shell: ``` sudo labnet shell ``` 该 network namespace 仅用于控制网络访问;它**不是**进程或内核沙箱。请务必仅在可重置的虚拟机会话中、以非特权用户身份运行样本,并在每次分析完成后恢复到纯净基础快照。 ## 架构说明 - REMnux 目前的完整发行版仅支持 x86/amd64 架构,因此无法在此 Apple Silicon ARM64 客户机中原生安装。 - 诸如 Ghidra 和 radare2 之类的静态分析工具可以分析 x86、x64、ARM、MIPS 及其他架构的二进制文件,而不管客户机的 CPU 架构如何。 - 包含 QEMU user emulation 用于受控执行外来 Linux 二进制文件,但动态样本可能需要匹配相应的客户机库。 - x86 内核驱动程序、内核恶意软件以及某些反虚拟机行为无法在 ARM64 客户机中被真实地分析。对于这些情况,请保留一个单独的 x86_64 模拟虚拟机,并接受由此带来的显著性能开销。 ## 验证 运行: ``` malware-lab-verify sudo labnet start sudo labnet test sudo labnet stop ``` 请在虚拟机断开互联网连接并保留纯净基础快照之前完成这些检查。 ## 安全须知 - 切勿为用于分析的虚拟机使用桥接网络。 - 安装完成后,请禁用 UTM 网络适配器。 - 切勿向正在运行的样本暴露 Mac 共享文件夹、USB 存储、SSH 或远程桌面。 - 在样本进入虚拟机之前,请始终将其保存在受密码保护的压缩包中。 - 切勿使用 `sudo` 或以 root 身份运行样本。 - 请将 network namespace、INetSim、容器和客户机防火墙视为实验室便利工具,绝不能将其作为虚拟机隔离和快照回滚的替代方案。
标签:ARM64, DAST, SecList, 云资产清单, 内存取证, 应用安全, 恶意软件分析, 网络流量分析, 虚拟化环境, 身份验证强制, 逆向工具, 逆向工程