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会省心很多。
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里设置很简单:
- 虚拟机设置 → 选项 → 共享文件夹
- 选择「总是启用」
- 添加一个Windows下的文件夹,比如
D:\Cisco_Firmware - 勾选「映射为网络驱动器」
然后在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
一路回车默认安装就行。装完重启,共享文件夹就能用了。
/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都是固定的,多省心。
2.5 本章知识体系
下面这张图,帮你把整个环境搭建的逻辑串起来:
这张图很直观:宿主机上跑虚拟机,虚拟机里配好共享文件夹、网络和系统基础。这三件事搞定了,后面装IDA Pro、Ghidra、binwalk这些逆向工具,就是水到渠成的事。
嗯,环境搭好了,别急着往下走。先重启一遍虚拟机,确认共享文件夹能自动挂载、网络能ping通外网。这一步稳了,后面几十章你都会感谢现在的自己。
公众号:蓝海资料掘金营,微信deep3321