在docker搭建vulhub项目
环境:Centos7(3.10.0-693.el7.x86_64)
目的:在Centos7上部署docker项目,供渗透测试环境复现使用。
vulhub项目地址:https://github.com/vulhub/vulhub
先使用 su 切换到root权限,再使用 uname -r 查看当前内核是否>=3.10,如果小于的话vulhub不支持。
(设置yum源为阿里云镜像):yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
(确保 yum 包更新到最新):yum update
yum update,发现报错Another app is currently holding the yum lock;waiting for it pid 55730,另一个应用程序目前持有yum锁;等待它pid 55730
解决方法:(①等待他解锁,可以等10秒 ②如果陷入了很长的时间等待可能进入了死锁,需要使用kill命令杀掉进程)
使用Ctrl+C关闭当前命令,kill -9 pid(杀掉阻碍进程再yun update,开始漫长的等待)
安装yum管理工具:(yum install -y yum-utils)
①部署docker镜像加速
将docker镜像仓库添加到/etc/docker/daemon.json文件中,进入docker文件 cd /etc/docker(安装完docker默认在/etc/docker下面有一个key.json文件,我们需要再添加一个daemon.json文件存放镜像)
cd /etc/docker
gedit daemon.json 放入如下内容(xhsell命令行模式使用vim daemon.json)
{ "registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"] }
②下载vulhub项目
使用git命令直接拉取vulhub项目
yum -y install git
git --version 安装完成
git clone https://github.com/vulhub/vulhub.git
ls 可以看见vulhub目录证明此步完成
③pip安装,我这个一开始只有python2环境,没有pip需要安装(下面命令按python环境选择)
pip 官网:https://pypi.org/project/pip/
你可以通过以下命令来判断是否已安装:
pip --version ( Python2.x 版本命令)
pip3 --version (Python3.x 版本命令)
如果你还未安装,则可以使用以下方法来安装
curl https://bootstrap.pypa.io/pip/2.7/get-pip.py -o get-pip.py (下载pip2安装脚本)
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py (下载pip3安装脚本)
python get-pip.py ( 运行安装脚本)
pip --version (显示版本和路径,证明安装成功)
那这里先升级一下pip:pip install --upgrade pip
④安装docker-compose(原因,每个vulhub项目都有这个docker-compose命令,第一次使用肯定显示没有安装,可以使用 pip install docker-compose)
如果不成功:【万能语法】如果以后遇到ERROR: Cannot uninstall [pacakage]. It is a distutils installed project...类似错误,就可以先使用pip install --ignore-installed [package],再装pip install --ignore-installed docker-compose
选择一个vulhub项目测试,这里我选择vulhub/weblogic/weak_password/
cd /root/vulhub/weblogic/weak_password/ (我的vulhub路径在/root/vulhub)
启动漏洞环境
docker-compose up -d
浏览器访问http://127.0.0.1:7001即可,使用weblogic/Oracle@123成功登录,证明vulhub部署完毕。
http://127.0.0.1:7001/console/login/LoginForm.jsp
docker-compose down 关闭本次漏洞环境(你下次要需要用的话可以不用compose down,使用docker stop 容器id就行)(容器id查看:docker ps -a)
关闭了再启动(run是新容器的,已有容器用start,docker start id)使用docker start 容器id