【UTM虚拟机模拟x86架构Linux】Mac M1 搭建靶场 vulnhub

  • [arm]Centos7搭建靶场报错:无法正常启动镜像
  • 使用UTM模拟转译[x86]Centos7搭建靶场
    • (1)安装UTM
      • 【简介】
      • 【安装要求】
      • 【下载地址】
    • (2)安装[x86]Centos7
      • 【简介】
      • 【下载地址】
      • 【部署Centos7】
        • **第一步:新建虚拟机**
        • **第二步:安装Centos7**
        • **第三步:配置网卡**
    • (3)搭建靶场vnluhub
      • 【简介】
      • 【下载地址】
      • 【部署Vulnhub】
        • **第一步:安装前置软件**
        • **第二步:安装docker、docker-compose**
        • **第三步:启动靶场环境**
    • (4)愉快打靶吧!

[arm]Centos7搭建靶场报错:无法正常启动镜像

arm架构centos7测试机中搭建靶场,访问靶场url 404,检查容器运行状态exited,表示未正常运行,发现日志报错 : standard_init_linux.go:228: exec user process caused: exec format error
翻阅官方文档发现原因,所以这个报错提示大概就是此镜像不支持 arm 架构。不过arm可以转译x86,基于M1强悍的性能,可以另寻方法使用靶场。


docker部分镜像不支持在ARM架构的机器上运行,ARM M1解决方案如下:

  1. 安装模拟x86架构系统的UTM虚拟机
  2. 部署Centos7 x86
  3. 搭建Vulnhub

使用UTM模拟转译[x86]Centos7搭建靶场

(1)安装UTM

【简介】

  • 1. 安装可以模拟x86架构系统的UTM虚拟机
  • 2. 部署Centos7 x86
  • 3. 搭建vulnhub

UTM 是一个可以运行在 iOS/iPadOS/macOS 平台的虚拟机软件

  • UTM 可以创建、管理和运行虚拟机,基于 QEMU。
  • UTM 支持虚拟化运行多种架构的 Linux、macOS、Windows 等等操作系统。
  • UTM 采用 Apple 的 Hypervisor 虚拟化框架在 Apple Silicon (M1/M2)上以接近本机的速度运行 ARM64 操作系统。
  • 在 Intel Mac 上,可以虚拟化 x86/x64/ARM64 操作系统。
  • 在 Apple Silicon 上,可以运行 x86/x64 操作系统。
  • 对于开发人员和爱好者,还有许多其他仿真处理器,包括:ARM32、MIPS、PPC 和 RISC-V。

更多关于UTM支持虚拟化的操作系统信息参考链接:link

【安装要求】

iOS11+ 或 macOS11+

【下载地址】

登陆官网或github下载安装包

  • https://mac.getutm.app/
  • https://github.com/utmapp/UTM

(2)安装[x86]Centos7

【简介】

  • 1. 安装可以模拟x86架构系统的UTM虚拟机
  • 2. 部署Centos7 x86
  • 3. 搭建vulnhub

【下载地址】

  • https://www.centos.org/download/

【部署Centos7】

第一步:新建虚拟机

  • 新建虚拟机 >> 模拟 >> Linux >> 浏览,选中下载好的光盘镜像 >> 硬件,可自由调节内存大小(这里我个人选了2G)>> 存储器,自由调节硬盘大小 >> 文件共享,自由选择是否添加共享目录 >> 总结,确认无误后自定义名字按确认就完成虚拟机新建了。







第二步:安装Centos7

  • 启动虚拟机 >>Install Centos 7 >> 选择语言 >> 安装源,选择本地介质 >> ROOT密码,可自由选择是否创建用户 >> 下一步重启,重启完成后,可能又会回到了安装的界面,所以直接终止关机




  • 右键编辑 >> 驱动器,Move Up 磁盘镜像到最上面 >> 网络模式,选择共享网络 >> 重新开机,Centos7部署完成


第三步:配置网卡

  1.  cd /etc/sysconfig/network-scripts

  2.  vi ifcfg-enpxxx      //根据实际情况,修改ifcfg-enpxxx BOOTPROTO=dhcp ONBOOT=yes 

  3.  //重启虚拟机 reboot

(3)搭建靶场vnluhub

【简介】

  • 1. 安装可以模拟x86架构系统的UTM虚拟机
  • 2. 部署Centos7 x86
  • 3. 搭建vulnhub

Vulhub是一个基于docker和docker-compose的漏洞环境集合,进入对应目录并执行一条语句即可启动一个全新的漏洞环境,让漏洞复现变得更加简单,让安全研究者更加专注于漏洞原理本身。

  • https://vulhub.org/

【下载地址】

  • https://github.com/vulhub/vulhub

【部署Vulnhub】

第一步:安装前置软件

  1.  //解决ifconfig命令找不到的问题 yum install net-tools

  2.  yum install unzip
  3.  建议搭t浏览器下载完后上传,会快很多 wget https://www.python.org/ftp/python/3.9.0/Python-3.9.0.tgz  
  4.  tar -xvf Python-3.9.0.tgz
  5.  mv Python-3.9.0 /usr/local/
  6.  yum install -y openssl-devel openssl-static zlib-devel lzma tk-devel xz-devel bzip2-devel ncurses-devel gdbm-devel readline-devel sqlite-devel gcc libffi-devel
  7.  cd /usr/local/Python-3.9.0/
  8.  ./configure
  9.  make
  10. make install
  11. Centos7默认安装python2,建立新的软链,python2和python3可以并存ln -s /usr/local/Python-3.9.0/python /usr/bin/python3
  12. 安装完成后,执行以下命令,有返回则说明安装成功。python3 -V
  13. curl -s https://bootstrap.pypa.io/get-pip.py | python3


第二步:安装docker、docker-compose

  1.  curl -s https://get.docker.com/ | sh 
  2.  pip install docker-compose
  3.  安装完成后,执行以下命令,有返回则说明安装成功。 docker -v docker-compose -v

第三步:启动靶场环境

  1.  最好先把防火墙关了,以防连接不到靶场 systemctl stop firewalld
  2.  systemctl start docker
  3.  cd ../vulhub-master/log4j/CVE-2021-44228
  4.  docker-compose up -d
  5.  docker ps
  6.  cat README.md


  1. 访问说明文档的地址:http://ip:8983
  2.  练习完成后关闭靶场环境 docker-compose down

(4)愉快打靶吧!

遇到其他不支持ARM架构的类似问题亦可参考这个思路!