Vagrant配置Metarget靶场环境

看了几天Docker原理,准备接触一下云原生安全,尝试一下建立云原生靶场

配置Box

Arch Linux下

1
pacman -s vagrant

拉取国内的ubuntu-cloud-images(北外源)

1
vagrant box add https://mirrors.bfsu.edu.cn/ubuntu-cloud-images/bionic/current/bionic-server-cloudimg-amd64-vagrant.box --name ubuntu18    

先初始化

1
vagrant init

修改Vagrantfile,要跟name一致

1
config.vm.box = "ubuntu18"

ssh进去

1
vagrant ssh

完成apt换源那一套(换北外源)

1
2
3
4
sudo sed -i "s@http://.*archive.ubuntu.com@https://mirrors.bfsu.edu.cn@g" /etc/apt/sources.list
sudo sed -i "s@http://.*security.ubuntu.com@https://mirrors.bfsu.edu.cn@g" /etc/apt/sources.list
apt update
apt upgrade

修改ssh

1
2
3
4
5
6
7
8
9
10
11
# 切换到root用户
sudo -s
# 修改root用户密码
passwd
# 修改配置
vi /etc/ssh/sshd_config
# 以下两项修改成yes,然后保存
PasswordAuthentication yes
PermitRootLogin yes
# 重启sshd服务
service sshd restart

配置Python3

从Apt安装

1
sudo apt install python3-pip

Ubuntu 18.03用的pip3有点老,需要手动添加pip.conf

1
2
3
mkdir ~/.pip
cd ~/.pip
sudo vim pip.conf

添加北外源

1
2
3
4
[global] 
index-url = https://mirrors.bfsu.edu.cn/pypi/web/simple
[install]
trusted-host=mirrors.bfsu.edu.cn

安装Metarget

1
2
3
git clone https://github.com/brant-ruan/metarget.git
cd metarget/
pip3 install -r requirements.txt

配置基本完毕,剩下的指令查看仓库即可

常见命令

1
2
3
4
5
6
7
8
9
10
11
12
13
14
$ vagrant init      # 初始化
$ vagrant up # 启动虚拟机
$ vagrant halt # 关闭虚拟机
$ vagrant reload # 重启虚拟机
$ vagrant ssh # SSH 至虚拟机
$ vagrant suspend # 挂起虚拟机
$ vagrant resume # 唤醒虚拟机
$ vagrant status # 查看虚拟机运行状态
$ vagrant destroy # 销毁当前虚拟机

#box管理命令
$ vagrant box list # 查看本地box列表
$ vagrant box add # 添加box到列表
$ vagrant box remove # 从box列表移除

导出

1
2
vboxmanage list vms
vagrant package --base 虚拟机名字 --output ./metarget.box

结语

能用,好用,让虚拟机的创建与迁移变得简单高效,唯一美中不足的是居然不提供原生KVM支持(社区支持在这**vagrant-libvirt**)

够用就行,至于能不能跟Docker竞争……我觉得不太行