使用docker搭建渗透测试环境

简介:

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

1
2
3
4
5
6
7
8
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
显示

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
➜  ~ 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 镜像文件转换成镜像

欢迎关注我的其它发布渠道