【滲透測試小白系列】之Docker入門以及漏洞環境搭建


(本文僅為平時學習記錄,若有錯誤請大佬指出,如果本文能幫到你那我也是很開心啦)

 

該筆記參考網絡中的文章,本文僅為了學習交流,嚴禁非法使用!!!

 

一、介紹

Docker:開源的應用程序容器引擎,使用Go語言開發。借助於Docker打包的應用程序,將這些應用程序包含到容器中,實現虛擬化,容器使用沙箱機制,相互獨立、占用資源非常少

1.Docker的三個概念:

  • 鏡像:image,Docker鏡像是一個只讀的模板,比如我們再鏡像中包含完整的操作系統,在該操作系統中安裝LAMP環境,鏡像可以創建容器
  • 容器:container,Docker利用容器運行程序,容器是從鏡像中創建運行的一個實例,容器可以運行、關閉、刪除
  • 倉庫:repository,集中存放鏡像的地方,每個倉庫中包含了多個鏡像,可以私有可以公開,最大的倉庫是Dockerhub

 

二、在Kali中安裝Docker

1.更換Kali更新源

2.安裝Docker

1 curl -s https://get.docker.com/ | sh
2 apt install docker.io

3.配置鏡像加速器

  • /etc/docker/daemon.json 中寫入如下內容(如果文件不存在請新建該文件)
1 {
2   "registry-mirrors": [
3     "https://dockerhub.azk8s.cn",
4     "https://reg-mirror.qiniu.com"
5   ]
6 }

4.重啟Docker

/etc/init.d/docker restart

5.查看Docker版本

docker -v

6.查看當前Docker環境信息,找到repository-mirrors(存儲庫鏡像)

docker info

 

三、常用命令

1.鏡像

1 docker search mysql  搜索MySQL鏡像
2 docker pull 鏡像名稱  下載鏡像
3 docker images  查看本地已下載好的鏡像
4 docker rmi 鏡像的ID  刪除鏡像

2.容器

 1 docker run -d -p 8080:80 --rm --name 容器名稱 鏡像ID或鏡像名稱
 2     -d  表示后台運行
 3     -p  表示后跟端口  port1:port2  將容器內部服務端口port2映射到本地端口port1(如果-p后什么也不寫,則隨機分配端口)
 4     --rm  表示容器停止之后會自動刪除
 5     --name  表示容器運行起來之后
 6 docker ps  查看運行的Docker
 7 docker ps -a  查看所有容器的運行狀態
 8 docker stop 容器名稱或容器ID  關閉容器
 9 docker start 容器名稱或容器ID  開啟容器
10 docker rm 容器名稱或容器ID  刪除容器
11 docker exec -it 容器ID /bin/bash  進入容器內部
12     -it  表示交互模式
13 docker save 鏡像ID > test.tar  導出鏡像
14 docker load < test.tar  導入鏡像

 

四、使用Vulhub搭建漏洞

1.介紹

Vulhub:是一個面向大眾的開源漏洞靶場,無需docker知識,簡單執行兩條命令即可編譯、運行一個完整的漏洞靶場鏡像

2.下載地址

3.環境准備

  • 首先需要安裝pip(pip是Python用來管理工具包的工具)
curl -s https://bootstrap.pypa.io/get-pip.py | python3

  • 安裝最新版Docker
curl -s https://get.docker.com/ | sh
  • 啟動Docker服務
service docker start
  • 安裝compose
pip install docker-compose

  • 查看compose版本

    • 報錯原因:找不到 ssl_match_hostname模板
    • 解決方法:
      • 安裝ssl_match_hostname模板
pip install ssl_match_hostname
      • 但是會提示該模塊已經安裝,最終問題原因是:**/usr/local/lib/python2.7/distpackages/docker/transport/ssladapter.py **,即在包路徑下找不到 backports包里的ssl_match_hostname模塊,復制模塊到包路徑下
      • 進入backports模塊路徑
cd /usr/local/lib/python2.7/dist-packages
      • 復制整個包到transport包路徑下
cp -r backports /usr/local/lib/python2.7/dist-packages/docker/transport

(該解決方法來源於CSDN博主「KISSLOO」的原創文章https://blog.csdn.net/lql971203/article/details/89047265,十分詳細,感謝!!!)

4.下載Vulhub資源

1 git clone https://github.com/vulhub/vulhub.git
2 或wget https://github.com/vulhub/vulhub/archive/master.zip -O vulhub-master.zip

5.解壓

unzip vulhub-master.zip

6.進入Vulhub下某個目錄(根據漏洞名稱或服務名稱命名)中

7.啟動整個環境,Docker會自動pull鏡像並運行

docker-compose up -d

8.運行起來的環境需要查看端口,tomcat默認端口8080

docker ps

9.每個環境目錄下都有相應的說明文件,請閱讀該文件

10.網頁瀏覽http://192.168.10.135:8080

11.進行漏洞/環境測試

12.測試完成后,刪除整個環境,或關閉容器

  • 注:在哪一個目錄中開啟的,就需要在哪一個目錄中關閉,環境啟動是依賴docker-compose.yml開啟的
1 docker-compose down -v
2 docker stop 容器名稱或容器ID  關閉容器


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM