2、Linux虚拟机环境搭建:VMware/VirtualBox安装、Ubuntu 22.04 LTS配置、共享文件夹与网络设置

做固件逆向,说白了就是跟各种嵌入式系统打交道。你想想看,思科的路由器、交换机,底层跑的都是Linux变种或者VxWorks。你总不能直接在Windows上怼着二进制文件硬啃吧?虚拟机,就是我们最趁手的兵器

我个人习惯用VMware Workstation,但VirtualBox也完全够用。别纠结选哪个,能跑起来Ubuntu 22.04 LTS就行。今天我就带你把这套环境搭得明明白白。

2.1 虚拟机软件选型与安装

先说VMware。我建议你装VMware Workstation Pro 17,网上有30天试用,或者你懂的。安装过程一路Next就行,没什么坑。唯一要注意的是:安装时勾选「增强型键盘驱动程序」,这能避免后面很多键盘映射的玄学问题。

VirtualBox呢?开源免费,Oracle家的。如果你只是临时用用,VirtualBox足够了。但我在项目中遇到过一个问题——VirtualBox对USB设备的穿透支持不如VMware稳定。你要是后面想用JTAG调试器或者串口转USB线,VMware会省心很多。

我的建议: 主攻逆向分析用VMware,偶尔测试用VirtualBox。两台虚拟机互不干扰,还能快照备份。

2.2 Ubuntu 22.04 LTS 安装与配置

系统镜像去官网下载:ubuntu-22.04.3-desktop-amd64.iso。别下Server版,我们做逆向需要图形界面来分析二进制文件。

创建虚拟机时,我给几个关键参数:

配置项 推荐值 说明
内存 8GB 低于4GB跑IDA Pro会卡成PPT
处理器 4核 解压固件时多核优势明显
磁盘 80GB 思科固件动辄几百MB,加上工具链,空间要留足
网络 桥接模式 方便后续从宿主机传文件

安装过程很简单,选中文语言,键盘布局选「英语(美国)」——因为终端里经常用到反斜杠和管道符,中文键盘布局会让你抓狂。我曾经因为这个浪费了半小时,后来直接重装了。

安装后第一件事: 打开终端,运行 sudo apt update && sudo apt upgrade -y。把系统更新到最新,避免后面装工具时遇到依赖冲突。

2.3 共享文件夹配置

做逆向最烦什么?文件来回倒腾。你从Windows上下载了思科的固件,怎么传到Ubuntu里?U盘拷?太慢了。网络共享?配置麻烦。

共享文件夹,就是最优解。

VMware里设置很简单:

  1. 虚拟机设置 → 选项 → 共享文件夹
  2. 选择「总是启用」
  3. 添加一个Windows下的文件夹,比如 D:\Cisco_Firmware
  4. 勾选「映射为网络驱动器」

然后在Ubuntu里执行:

sudo vmhgfs-fuse .host:/Cisco_Firmware /mnt/hgfs -o allow_other

嗯,这里要注意:如果提示 vmhgfs-fuse 找不到,说明你没装VMware Tools。去虚拟机菜单里点「重新安装VMware Tools」,然后:

tar -xzf VMwareTools-*.tar.gz
cd vmware-tools-distrib
sudo ./vmware-install.pl

一路回车默认安装就行。装完重启,共享文件夹就能用了。

避坑指南: 我曾经在Ubuntu 22.04上遇到共享文件夹挂载后权限不对,普通用户无法写入。解决办法:在 /etc/fstab 里加一行自动挂载,并指定uid和gid。
.host:/Cisco_Firmware /mnt/hgfs fuse.vmhgfs-fuse uid=1000,gid=1000,allow_other 0 0

2.4 网络设置与调试

网络配置,说白了就是让你能在虚拟机里上网、下载工具、甚至远程调试设备。

我推荐用桥接模式。这样虚拟机和宿主机在同一个网段,互相能ping通。你从Windows往Ubuntu传文件,直接用scp命令:

scp user@192.168.1.100:/path/to/firmware.bin .

如果你用的是VirtualBox,桥接模式叫「桥接网卡」。选对物理网卡就行——别选成了WiFi的虚拟网卡,否则速度慢得你想砸电脑。

还有一个实用技巧:设置静态IP。因为后面我们可能会用SSH连虚拟机,动态IP每次变,很烦。在Ubuntu 22.04里,用Netplan配置:

sudo nano /etc/netplan/01-network-manager-all.yaml

写入:

network:
  version: 2
  renderer: NetworkManager
  ethernets:
    ens33:
      dhcp4: no
      addresses:
        - 192.168.1.100/24
      gateway4: 192.168.1.1
      nameservers:
        addresses: [8.8.8.8, 114.114.114.114]

然后 sudo netplan apply 生效。你想想看,以后每次打开虚拟机,IP都是固定的,多省心。

小测试: 配置完后,在Windows上ping一下虚拟机的IP。能通,说明网络环境OK。不通?检查防火墙,或者看看虚拟网卡是不是被禁用了。

2.5 本章知识体系

下面这张图,帮你把整个环境搭建的逻辑串起来:

Linux虚拟机环境搭建 - 知识体系 宿主机(Windows 10/11) VMware Workstation Pro 17 / VirtualBox 7 虚拟机:Ubuntu 22.04 LTS 8GB内存 / 4核CPU / 80GB磁盘 共享文件夹 vmhgfs-fuse 挂载 /mnt/hgfs 自动挂载 /etc/fstab 网络设置 桥接模式 静态IP配置 Netplan / SSH 系统配置 apt update/upgrade VMware Tools 键盘布局设置

这张图很直观:宿主机上跑虚拟机,虚拟机里配好共享文件夹、网络和系统基础。这三件事搞定了,后面装IDA Pro、Ghidra、binwalk这些逆向工具,就是水到渠成的事。

嗯,环境搭好了,别急着往下走。先重启一遍虚拟机,确认共享文件夹能自动挂载、网络能ping通外网。这一步稳了,后面几十章你都会感谢现在的自己。


公众号:蓝海资料掘金营,微信deep3321