KALI搭建Docker+Vulhub漏洞复现环境

KALI安装Docker+Vulhub

在学习网络安全的过程中,少不了的就是做漏洞复现,而漏洞复现一般比较常用的方式就是使用docker-vulhub进行环境搭建,我近期也遇到了这个问题,但是网上的教程特别混乱,根本起不到帮助作用,即使有可以看的,也不是很完整,所以我写了一篇关于安装docker和vulhub的总结

Docker简介

Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的Linux或Windows机器上,也可以实现虚拟化。容器是完全使用沙箱机制,互相之间不会有任何接口。Docker集装箱化的有点:灵活、轻量级、便携式、可扩展性、可堆叠。个人理解为就是Docker就是一个容器,或者说一个’盒子‘,里面可以放一些别人搭建好的环境,进行操作。

Docker-compose简介

docker-compose是一个用python写的一个docker容器管理工具,可以更加方便的对docker容器进行管理,可以一键启动多个容器

Vulhub简介

vulhub是一个基于docker和docker-compose的漏洞环境集合,进入对应目录并执行一条语句即可启动一个全新的漏洞环境,让漏洞复现会变得很简单。

Docker安装

安装https协议、CA证书、dirmngr

apt-get update

apt-get install -y apt -transport-https ca-certificates

apt-get install dirmngr

添加GPG密钥并添加更新源

curl -fsSL https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/debian/gpg | sudo apt-key add -

echo 'deb https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/debian/ buster stable' | sudo tee /etc/apt/sources.list.d/docker.list

成功添加GPG密钥并添加更新源

系统更新以及安装docker

apt-get update

apt install docker-ce

启动docker服务器

service docker start

安装compose

apt install docker-compose

docker安装测试

docker version    查看docker的版本信息

docker images    查看拥有的images

docker ps    查看docker container

docker到此安装完成

Docker安装sqli-labs

很多同学入门刷sqli-labs来学习sql注入漏洞,但是sqli-labs刷到30关左右的时候就需要使用linux下的环境了,windows本地搭建的环境会出问题,所以在此顺带讲解使用docker安装sqli-labs

docker search     sqli-labs  查找sqli-labs镜像
docker pull     acgpiano/sqli-labs  拉取镜像到本地
docker images  查看已有的镜像
docker run -dt --name sqli -p     80:80 --rm acgpiano/sqli-labs
-dt  让其在后台运行
--name  给其命名
-p  本地端口:docker中的端口是将docker的端口映射到本地端口
--rm  当其关闭后将删除开启的资源
docker ps -a 显示容器container容器的id image 命令 端口等信息
docker exec -it (id号)     /bin/bash  进入id号的shell

Docker的基本使用

docker images    查看存在的镜像
docker image rm <id>    删除镜像
docker run -dt --name sqli -p 80:80 --rm acgpiano/sqli-labs    运行存在的镜像
docker exec -it <container ID> /bin/bash    进入运行中的容器
docker run -it --rm ubuntu /bin/bash    运行存在的镜像,并以交互的方式进入容器,运行完删除容器
docker ps    docker container ls    查看运行中的容器
docker stop <container ID>    停止指定的容器,不指定为停止所有容器
docker rm    删除所有的容器
docker container [stop/start/restart]    停止/开启/重启容器
docker container kall <container ID>    强制停止容器
docker commit -p <container ID> container-backup    创建Docker的快照

把宿主机文件拷到容器里面
docker cp 要拷贝的文件路径 容器名: 要拷贝到容器里面对应的路径

容器里面拷文件到主机
docker cp 容器名: 要拷贝的文件在容器中的路径 要拷贝到宿主机器的响应路径

Docker配置镜像加速

默认的docker镜像下载慢,这里使用阿里云的镜像加速

首先访问阿里云(没有账号的注册一个),进入控制台,找到产品与服务中的容器镜像服务,进入其中的镜像加速器

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["自己的加速器地址"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

安装vulhub

下载vulhub

https://github.com/vulhub/vulhub

git clone https://github.com/vulhub/vulhub.git

下载完成后,进入目录下

cd vulhub

拉取漏洞环境

可以看到很多子文件夹,就是不同的漏洞

此处举例搭建struts2漏洞环境

cd struts2

举例一个S2-057

cd s2-057

然后执行命令,开启struts2-057漏洞

sudo docker-compose up -d

sudo docker ps    查看运行中的容器环境

访问漏洞环境

访问 ip地址:8080

注意:如果没有回显可以加一些参数比如index

环境运行结束后要及时停止进程

docker stop (id号)

如果想要再次执行,可以输入

docker run -d -p 8080:8080 medicean/vulapps:s_struts2_s2-057

至此,漏洞复现环境就全部搭建完成

本文作者:YLion

  • 6
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值