首页 公告 项目 RSS

使用docker搭建渗透测试环境

June 13, 2017 本文有 1185 个字 需要花费 3 分钟阅读

简介:

我这个人有洁癖,就是不喜欢系统中出现多余的东西,所以一般在虚拟机中搭建渗透测试环境,有的脚本用完了,虚拟机一删除就好了,但是虚拟机有虚拟机的毛病,就是太占内存,所以就开始使用docker了。

基础知识

首先你要知道docker的一些基本概念,比如镜像,容器的概念
如果不想了解太深,其实你可以这样理解,镜像就相当于安装虚拟机时用到的iso镜像,容器就相当与安装完成之后的虚拟机磁盘
所以当你运行了一个镜像,就相当于安装了一个虚拟机,之后所有的操作就在虚拟机运行之后创造的容器之中

安装docker

一些基础知识还是自己去了解吧,这篇文章要说的是怎么用虚拟机创建渗透测试环境,所以下面看操作
俗话说得好

Docker是一家美国公司,只好遵守美国在出口控制方面的法规。为了努力遵守这些法规,现在阻止位于古巴、伊朗、朝鲜、克里米亚共和国、苏丹和叙利亚这7个国家的所有IP地址。

为了努力遵守这些法规,现在阻止位于古巴伊朗朝鲜克里米亚共和国苏丹叙利亚这7个国家的所有IP地址。

古巴+伊朗+朝鲜+克里米亚共和国+苏丹+叙利亚=7个国家

话都已经这么明显了,如果看不出来,你就是傻逼了,回去让体育老师重新教你一遍数学

因为上面的原因,所以在安装docker的时候,我们要使用docker镜像加速
阿里云有镜像加速服务
https://dev.aliyun.com/search.html?spm=5176.1972343.0.1.p8y3Q1
点击管理中心,然后登录自己的账号,然后点击Docker Hub镜像站点,里面有如何安装Docker的教程。
如果你是Ubuntu系统的,在终端输入
curl -sSL http://acs-public-mirror.oss-cn-hangzhou.aliyuncs.com/docker-engine/internet | sh -
来安装docker
然后输入

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

再回车就配置好了docker加速器

安装kali-linux-docker

首先你可以搜索一下关于kali的docker镜像
docker search kali
显示

➜  ~ docker search kali
NAME                           DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
kalilinux/kali-linux-docker    Kali Linux Rolling Distribution Base Image      305                  [OK]
linuxkonsult/kali-metasploit   Kali base image with metasploit                 53                   [OK]
brimstone/kali                                                                 4                    [OK]
jasonchaffee/kali-linux        Kali Linux Docker Container with the kali-...   3                    [OK]
wsec/kali-metasploit           Official Kali Base image + Metasploit           3                    [OK]
andresriancho/w3af-kali                                                        1                    [OK]
ctarwater/kali-msf             Kali + Metasploit + Postgresql                  1                    [OK]
yoransys/kali-linux-x11        #kali-linux-x11  Need x11 on :1 or Xephyr       1                    [OK]
ctarwater/kali                 Kali base image (no tools)                      0                    [OK]
johnsandiford/kali                                                             0                    [OK]
chihchun/kali-metasploit       Docker images of metasploit based on Kali ...   0                    [OK]
hypnza/kali                    Custom packages+settings for Kali, mostly ...   0                    [OK]
imxieke/kali                   kali Linux                                      0                    [OK]
dnraikes/kali-msf              kali with postgresql and metasploit framew...   0                    [OK]
dnraikes/kali-net              kali network security testing                   0                    [OK]
miteshshah/kali                Kali Linux                                      0                    [OK]
kal747/kali                    Kali                                            0                    [OK]
dnraikes/kali-openvas          Kali linus with openvas installed and conf...   0                    [OK]
glenonmateus/kali-docker       Docker kali linux with pwtools and web          0                    [OK]
redsadic/kali-metasploit       Simple modification of kalilinux/kali-linu...   0                    [OK]
leonjza/kali                   Kali Linux (Rolling) Docker Image               0                    [OK]
danielguerra/kali              build kali root filesystem                      0                    [OK]
dnraikes/kali-base             kali 2016 base image                            0                    [OK]
scottj/kali-docker             Custom Kali 2.0 Docker Build                    0                    [OK]
netxp/kali                     kali                                            0                    [OK]

第一个是kali的官方镜像,所以我安装的是第一个镜像
docker pull kalilinux/kali-linux-docker
之后运行kali镜像
docker run -t -i kalilinux/kali-linux-docker /bin/bash
这样就进入了容器之中,之后你可以安装一些工具什么的 -t表示在新的容器中指定一个伪终端 -i 表示允许我们对容器(STDIN)进行交互

docker 的常用命令吧

  • docker ps -a 列出所有容器
  • docker rm +容器id 删除一个容器
  • docker commit +容器id +要生成的镜像名字 把容器转换成镜像
  • docker start +容器id 运行一个容器
  • docker attach +容器id 登录一个已经在运行的容器
  • docker export +容器id >/home/bboysoul/export.tar 容器转换成文件
  • docker save +镜像名字 >/home/bboysoul/image.tar 镜像转换成文件
  • cat /home/bboysoul/export.tar | docker import - bboysoul:latest 容器文件转成镜像
  • docker load < /home/bboysoul/image.tar 镜像文件转换成镜像