专栏首页超维编程当 Kali 遇见 Docker

当 Kali 遇见 Docker

引言

最近在学习 《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

本文分享自微信公众号 - LAMPer 技术栈(lamp_tech_stack),作者:蓝默空间

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-12-11

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 两小时入门 Docker

    Docker 最初是 dotCloud 公司创始人 Solomon Hykes 在法国期间发起的一个公司内部项目,于 2013 年 3 月以 Apache 2....

    蓝默空间
  • 安装群晖NAS之二:虚拟化安装及相关配置

    家里有一台闲置PC,计划将PC里的下载的视频离线下载到PC,在内网和公网上访问,并实现远程管理,NAS是比较不错的选择,其实我早就心痒痒,想体验下NAS的诸多神...

    蓝默空间
  • 安装群晖NAS之预热篇

    本文章部分片段摘取自网络,如有侵权与我联系!本文旨在学习探讨所用,请尊重知识产权,支持正版!

    蓝默空间
  • 怎样用NextCloud管理块存储卷

    Nextcloud是一个云存储平台,你可以在任意设备上访问该平台、存储和查看你的文件。本文将介绍如何在一台Linode服务器上挂载Block Storage(块...

    Techeek
  • tensorflow: 为什么 tensor型参数 可以接受 非tensor型输入

    但是 manual 里面已经写明了 tf.multiply函数 的 参数项输入 必须要是 tensor型 的:

    JNingWei
  • 跟我一起学docker(一)--认识

    IT故事会
  • tf.get_variable

    如果initializer初始化方法是None(默认值),则会使用variable_scope()中定义的initializer,如果也为None,则默认使用g...

    周小董
  • 【重磅】谷歌TensorFlow 1.0发布,智能手机也能玩转深度学习

    【新智元导读】 近日,谷歌开源深度学习框架 TensorFlow 发布了完整的1.0版本,不仅改进了库中的机器学习功能,而且对 Python 和 Java 用户...

    新智元
  • tensorflow笔记(四)之MNIST手写识别系列一

    http://www.cnblogs.com/fydeblog/p/7436310.html

    努力努力再努力F
  • 基于Tensorflow的验证码识别

    alexqdjay

扫码关注云+社区

领取腾讯云代金券