当 Kali 遇见 Docker
- 2019 年 12 月 17 日
- 筆記

引言
最近在学习 《Python 黑帽子:黑客与渗透测试编程之道》一书,分别在 VMvare 和 U 盘安装了 Kali-Linux 操作系统,但是 VMvare 启动 kali 虚拟机后占用了笔记本太多资源而变得特别卡,从 U盘启动的 kali 系统性能又不足,此外我们不建议在物理机上直接安装 Kali-Linux,它只有 root 用户,鉴于其用途,直接安装在物理机上并不安全。综上,使用 Docker 似乎成为了打开 kali 虚拟机的最最最正确姿势,于是有了这篇文章,如有错误还请指正。
Kali Linux 是一款开源的基于 Debian 的渗透测试专用操作系统,系统中包含一系列用于渗透测试的神器。
Docker 是目前最火热的开源应用容器,发布于 2014 年 6 月。它能让开发者打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。Docker 可以被看作是互联网上的货运纸箱——一款能让互联网软件开发商将作品整洁打包,并快速递送至一台又一台电脑的工具。
在 Docker 中安装 Kali-Linux 虚拟机的优点在于:启动速度比虚拟机快 , 可以秒级启动,而且可以通过 Dockerfile 配置文件来灵活的自动创建和部署镜像 & 容器 , 提高工作效率;Docker 对资源占用小,除了运行 Kali-Linux 外 , 基本不消耗其他系统资源 , 保证应用性能同时 ,尽量减小系统开销。
Kali系统开发者Mati Aharoni认为:将 Docker 与 Kali 结合的美妙之处在于,Kali 被安置在一个非常棒的、干净的容器中。
自从 Docker 版 Kali Linux 发布后,网络安全爱好者与渗透测试工程师们可以尽情驾驭 Kali 于 Windows, Mac或是Linux 中了。
Ubuntu18.04 配置 Docker 环境
查看系统版本
cat /etc/issue Ubuntu 18.04.3 LTS n l
更新系统
sudo apt-get update && sudo apt-get upgrade
安装 Docker
#安装 docker 软件包 sudo apt-get install docker.io #查看版本号 sudo docker -v #启动服务 sudo systemctl start docker #允许开机自启动 sudo systemctl enable docker #查看运行状态 sudo systemctl status docker
添加 Docker 镜像源
sudo vim /etc/docker/daemon.json
{ “registry-mirrors”: [“https://docker.mirrors.ustc.edu.cn/”] }
拉取 Kali-Linux 镜像
sudo docker pull kalilinux/kali-linux-docker

查看镜像
sudo docker images
创建容器
sudo docker run -t -d -p 60000:22 -p 60001:5901 -p 60002:5902 a1765e8e381e /bin/sh -c "while true; do echo hello world; sleep 1; done"
-t 让 docker 分配一个伪终端并绑定到容器的标准输入上 ,-p 指定映射端口,如宿主机60001端口映射到虚拟机的 5901 端口,-d 保持后台运行, -c 执行一些命令
查看容器
sudo docker ps
进入容器
sudo docker exec -it 1275cabd2cdc /bin/bash
Kali Linux
系统环境
# 修改 root 用户密码 passwd root
修改镜像源
# 阿里云镜像源 vi /etc/apt/sources.list
deb http://mirrors.aliyun.com/kali kali-rolling main non-free contrib deb-src http://mirrors.aliyun.com/kali kali-rolling main non-free contrib
SSH服务
# 更新系统 apt-get update && apt-get upgrade # 安装所需软件 apt-get install vim net-tools openssh-server # 修改 vim 配置文件,允许 root 用户远程登录 vim /etc/ssh/sshd_config

#启动 ssh 服务 service ssh start #允许开机自启动 systemctl enable ssh
远程桌面
# 安装 xfce4 桌面环境 apt-get install kali-defaults kali-root-login desktop-base xfce4 xfce4-places-plugin xfce4-goodies # 安装 vnc4server apt-get install vnc4server #启动 vncserver vncserver :1 -localhost no -geometry 1928x1080
SSH测试

VNC测试


友情提示
kali官方给出了Docker版本,基本上是个空系统,安装 kali 所有的工具可以运行 apt-get install kali-linux-all ,大小约为 10G。
配置完 Kali 后,建议将 container commit 一下,便于以后配置错误导致 Kali 系统崩溃时,可以用提交的镜像快速重建容器。
END