docker搭建靶機

一,docker

(1)基礎概念

沙箱機制

  • 1.沙箱是一個虛擬系統程序,沙箱提供的環境相對於每一個運行的程序都是獨立的,而且不會對現有的系統產生影響.
  • 2.沙箱具有非常良好的獨立性、隔離性,所以能夠搭建一些具有高風險的軟件進行測試.

docker
一個開源的應用容器引擎,基於GO語言

  • 作用:開發者打包他們的應用和依賴包到一個輕量級,可移植的容器中
  • 優點
  • ①消耗點
  • ②啓動快

(2)安裝docker

#先下載python(最好先換源)
sudo apt install python3

#安裝pip
sudo apt install python3-pip

#安裝docker
sudo apt-get install docker.io
#創建軟連接
sudo ln -sf /usr/bin/docker.io /usr/local/bin/docker
#下載docker-compose
sudo apt  install docker-compose

#開啓docker
sudo systemctl start docker.service
sudo systemctl start docker.socket


(3)docker命令

3.1 關於鏡像的操作

鏡像的搜索

docker search XXXX
在這裏插入圖片描述

鏡像下載

docker pull XXXX

在這裏插入圖片描述

查看本地鏡像

docker images
在這裏插入圖片描述

刪除本地鏡像

docker rmi 鏡像名

3.2 容器的基礎操作

創建容器: docker run -itd --nane=指定容器的名稱 使用的鏡像名

-i:表示以交互模式運行容器
-d:表示後臺運行容器,並返回容器ID
-t:爲容器重新分配一個僞輸入終端;

在這裏插入圖片描述

查看運行的容器

sudo docker ps
在這裏插入圖片描述

注意 同一個鏡像可以assign到多個容器上


停止容器

docker stop 容器名/容器ID

重啓容器

docker restart 容器名/容器ID

刪除容器

docker rm 容器名/容器ID


3.3 容器的保存

進入容器

docker exec -it 容器名/容器ID /bin/bash

在這裏插入圖片描述

保存
對通過同一鏡像創建的不同容器,操作之後,可以保存爲一個新的鏡像


3.4 對容器操作

------端口映射

  • 在這裏插入圖片描述

創建一個有端口映射的容器
docker run -itd -p 宿主機端口:容器端口 鏡像名

在這裏插入圖片描述

訪問宿主機的90端口就是nginx嘍

  • 在這裏插入圖片描述

(4)使用docker-compose 編排鏡像

docker 提供了一個命令行工具 docker-compose 幫助完成鏡像的編排, 要使用 docker-compose , 需要先編寫一個 docker-compose.yml 文件, yaml 是一種常用配置文件格

yml :是一個可讀性高,用來表達數據序列的格式
文章


(5)更換docker源

由於本來的源太慢了。。。。。,使用阿里的加速源。【容器鏡像服務】

  • 登錄之後,提供一個URL

配置鏡像加速器
針對Docker客戶端版本大於 1.10.0 的用戶

通過修改daemon配置文件/etc/docker/daemon.json來使用加速器

sudo vim  /etc/docker/daemon.json
{
  "registry-mirrors": ["https://XXXXX.mirror.aliyuncs.com"]
}


sudo systemctl daemon-reload
sudo systemctl restart docker

二,搭建靶機

兩個開源的項目

vulhub

VulApps

【vulhub靶機說明】

# 進入某一個漏洞/環境的目錄
cd flask/ssti

# 自動化編譯環境
docker-compose build

# 啓動整個環境
docker-compose up -d

#每個環境目錄下都有相應的說明文件,請閱讀該文件,進行漏洞/環境測試。

#測試完成後,刪除整個環境
docker-compose down -v


【實列】
進入要搭建的環境的目錄查看yml文件

在這裏插入圖片描述

使用docker-compose build 編譯環境,然後啓動環境

在這裏插入圖片描述

yang@yang-machine:~/baji/vulhub-master/joomla/CVE-2017-8917$ sudo docker-compose up -d
Pulling mysql (mysql:5)...
5: Pulling from library/mysql
8f91359f1fff: Pull complete
6bbb1c853362: Pull complete
e6e554c0af6f: Pull complete
f391c1a77330: Pull complete
414a8a88eabc: Pull complete
fee78658f4dd: Pull complete
9568f6bff01b: Pull complete
76041efb6f83: Pull complete
ea54dbd83183: Pull complete
566857d8f022: Pull complete
01c09495c6e7: Pull complete
Digest: sha256:f7985e36c668bb862a0e506f4ef9acdd1254cdf690469816f99633898895f7fa
Status: Downloaded newer image for mysql:5
Pulling web (vulhub/joomla:3.7.0)...
3.7.0: Pulling from vulhub/joomla
5e6ec7f28fb7: Pull complete
cf165947b5b7: Pull complete
7bd37682846d: Pull complete
99daf8e838e1: Pull complete
ae320713efba: Pull complete
ebcb99c48d8c: Pull complete
9867e71b4ab6: Pull complete
936eb418164a: Pull complete
bc298e7adaf7: Pull complete
ccd61b587bcd: Pull complete
b2d4b347f67c: Pull complete
56e9dde34152: Pull complete
9ad99b17eb78: Pull complete
f0b49b0a34a7: Pull complete
bc8d2ddd1ca2: Pull complete
cc87e0e6b730: Pull complete
80c164075256: Pull complete
1bb70ad75826: Pull complete
b30d9e1dab0d: Pull complete
c7e4f22b689f: Pull complete
5093ee2098f3: Pull complete
Digest: sha256:8b38262a5bfd3e8f56415e369c0970a736e31d1138fb9fe0343f88435d43574d
Status: Downloaded newer image for vulhub/joomla:3.7.0
Creating cve20178917_mysql_1 ... 
Creating cve20178917_mysql_1 ... done
Creating cve20178917_web_1 ... 
Creating cve20178917_web_1 ... done
yang@yang-machine:~/baji/vulhub-master/joomla/CVE-2017-8917$ 

查看是否成功啓動
在這裏插入圖片描述

訪問測試是否成功
在這裏插入圖片描述

測試完成後,刪除整個環境

docker-compose down -v

sudo docker rmi 鏡像ID

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章