欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

docker下运行kalilinux并配置ssh访问

程序员文章站 2022-05-18 21:32:04
...

Kali Linux是一款开源的基于Debian的渗透测试专用操作系统,系统中包含一系列用于渗透测试的神器。
Docker是目前最火热的开源应用容器,发布于2014年6月。它能让开发者打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。

Docker+Kali

Kali系统开发者Mati Aharoni认为:将Docker与Kali结合的美妙之处在于,Kali被安置在一个非常棒的、干净的容器中。
网络安全爱好者与渗透测试工程师们可以尽情驾驭Kali于Windows, Mac或是Linux了。

下面是具体操作,docker环境就不多说了

拉取kalilinux镜像

shana@Ubuntu1604:~$ docker pull kalilinux/kali-linux-docker

docker下运行kalilinux并配置ssh访问

查看镜像ID

shana@Ubuntu1604:~$ docker images

docker下运行kalilinux并配置ssh访问

创建容器

shana@Ubuntu1604:~$ docker run -t -d -p 2222:22 7b9ab7293e68 ## -p 2222:22 将容器22端口映射到宿主机2222端口

docker下运行kalilinux并配置ssh访问

进入容器并进行相关配置

shana@Ubuntu1604:~$ docker exec -it b7e6eb0da7b3 /bin/bash
修改root密码
root@b7e6eb0da7b3:/# passwd root

docker下运行kalilinux并配置ssh访问

安装openssh-server服务
root@b7e6eb0da7b3:/# apt-get install openssh-server 

安装成功
docker下运行kalilinux并配置ssh访问

如下报错找不到安装包则需更换源

docker下运行kalilinux并配置ssh访问

root@b7e6eb0da7b3:/# cp /etc/apt/sources.list /etc/apt/sources.list.bak 
root@b7e6eb0da7b3:/# vi /etc/apt/sources.list 

替换为以下源并保存

deb http://mirrors.ustc.edu.cn/kali kali-rolling main non-free contrib
deb-src http://mirrors.ustc.edu.cn/kali kali-rolling main non-free contrib
deb http://mirrors.ustc.edu.cn/kali kali-rolling main contrib non-free
deb-src http://mirrors.ustc.edu.cn/kali kali-rolling main contrib non-free
deb http://mirrors.ustc.edu.cn/kali-security kali-current/updates main contrib non-free
deb-src http://mirrors.ustc.edu.cn/kali-security kali-current/updates main contrib non-free

更新包列表,重新安装openssh-server即可

root@b7e6eb0da7b3:/# apt-get update  
···

修改ssh配置文件

root@b7e6eb0da7b3:/# vi /etc/ssh/sshd_config

在”#PermitRootLogin prohibit-password”下面一行添加”
PermitRootLogin yes”
docker下运行kalilinux并配置ssh访问

重启ssh服务

root@b7e6eb0da7b3:/# service ssh start

docker下运行kalilinux并配置ssh访问

安装net-tools,查看容器IP端口是否正常

root@b7e6eb0da7b3:/# apt-get install net-tools
root@b7e6eb0da7b3:/# netstat -ant
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State      
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN     
tcp        0      0 172.17.0.5:59026        202.141.160.110:80      TIME_WAIT  
tcp6       0      0 :::22                   :::*                    LISTEN     

可以看到容器IP为172.17.0.5,22端口开放,返回宿主机

测试ssh连接

通过容器IP远程

shana@Ubuntu1604:~$ ssh root@172.17.0.5 

docker下运行kalilinux并配置ssh访问
通过宿主机IP远程(端口为映射的2222,宿主机IP自查)

root@b7e6eb0da7b3:~# ssh -p 2222 aaa@qq.com

docker下运行kalilinux并配置ssh访问

可以看到均成功登入,部署完成

友情提示:
kali官方给出了Docker版本,基本上是个空系统,在容器中安装想要的工具直接apt-get即可。 比如安装 tree直接运行apt-get install sqlmap,安装kali所有的工具则运行 apt-get install kali-linux-all 直接一套带走,10G左右。
最好在配置完KaliLinux后,将container commit一下,不然每次都需要重启服务。嗯,剩下的时间大家自行摸索吧~