ubuntu搭建vulhub漏洞環境
0x01 簡介
Vulhub是一個面向大眾的開源漏洞靶場,無需docker知識,簡單執行兩條命令即可編譯、運行一個完整的漏洞靶場鏡像。旨在讓漏洞復現變得更加簡單,讓安全研究者更加專註於漏洞原理本身。
在這之前我們先要安裝docker和docker-compose
0x02 docker安裝
Docker是一個開源的容器引擎,它有助於更快地交付應用。方便快捷已經是 Docker的最大優勢,過去需要用數天乃至數周的任務,在Docker容器的處理下,只需要數秒就能完成。
安裝docker
curl -s //get.docker.com/ | sh
Docker很多鏡像動不動就1G或幾百M,官方經常掉線。所以只能換國內源。
國內的鏡像源有
- docker官方中國區 //registry.docker-cn.com
- 網易 //hub-mirror.c.163.com
- ustc //docker.mirrors.ustc.edu.cn
- 阿里雲 //<你的ID>.mirror.aliyuncs.com
然後編輯配置文件vim /etc/docker/daemon.json
{
"registry-mirrors" : [
"//registry.docker-cn.com",
"//docker.mirrors.ustc.edu.cn",
"//hub-mirror.c.163.com"
}
doeker常用命令
鏡像相關
- docker search java:在Docker Hub(或阿里鏡像)倉庫中搜索關鍵字(如java)的鏡像
- docker pull java:8:從倉庫中下載鏡像,若要指定版本,則要在冒號後指定
- docker images:列出已經下載的鏡像
- docker rmi java:刪除本地鏡像
- docker build:構建鏡像
容器相關 - docker run -d -p 91:80 nginx :在後台運行nginx,若沒有鏡像則先下載,並將容器的80端口映射為宿主機的91端口。
-
-d:後台運行
-
-P:隨機端口映射
-
-p:指定端口映射
-
-net:網絡模式
- docker ps:列出運行中的容器
- docker ps -a :列出所有的容器
- docker stop 容器id:停止容器
- docker kill 容器id:強制停止容器
- docker start 容器id:啟動已停止的容器
- docker inspect 容器id:查看容器的所有信息
- docker container logs 容器id:查看容器日誌
- docker top 容器id:查看容器里的進程
- docker exec -it 容器id /bin/bash:進入容器
- exit:退出容器
- docker rm 容器id:刪除已停止的容器
- docker rm -f 容器id:刪除正在運行的容器
0x03 安裝docker-compose
Docker Compose是 docker 提供的一個命令行工具,用來定義和運行由多個容器組成的應用。使用 compose。我們可以通過 YAML 文件聲明式的定義應用程序的各個服務,並由單個命令完成應用的創建和啟動。簡單說就是docker-compose是用python寫的一個一個docker容器管理工具,可以一鍵啟動多個容器。
安裝docker-compose
pip install docker-compose
0x04 Vulhub安裝
在安裝docker和docker-compose後即可開始使用vulhub:
下載vulhub漏洞目錄
git clone //github.com/vulhub/vulhub.git
進入相應漏洞文件夾執行docker-compose up -d即可
cd vulhub/php/CVE-2019-11043
docker-compose up -d
如圖所示,漏洞環境就這樣一鍵搭建成功,節省了一大把時間,我們可以更專註於漏洞研究,漏洞環境使用完成記得關閉哦!執行如下命令移除環境:
docker-compose down
或者刪除整個環境
docker-compose down -v