引言
Kali Linux 是一款開源的基於 Debian 的滲透測試專用操作系統,系統中包含一系列用於滲透測試的神器。
Docker 是目前最火熱的開源應用容器,發佈於2014年6月。它能讓開發者打包他們的應用以及依賴包到一個可移植的容器中,然後發佈到任何流行的 Linux 機器上,也可以實現虛擬化。
Docker 可以被看作是互聯網上的貨運紙箱——一款能讓互聯網軟件開發商將作品整潔打包,並快速遞送至一臺又一臺電腦的工具。
Kali系統開發者Mati Aharoni認爲:將 Docker 與 Kali 結合的美妙之處在於,Kali 被安置在一個非常棒的、乾淨的容器中。自從 Docker 版 Kali Linux 發佈後,網絡安全愛好者與滲透測試工程師們可以盡情駕馭 Kali 於 Windows, Mac或是Linux 中了。
Docker 中安裝 Kali-Linux 虛擬機的優點在於:啓動快比虛擬機快 , 可以秒級啓動,而且可以通過 Dockerfile 配置文件來靈活的自動創建和部署鏡像 & 容器 , 提高工作效率;Docker 對資源佔用小,除了運行 Kali-Linux 外 , 基本不消耗其他系統資源 , 保證應用性能同時 ,儘量減小系統開銷。
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
添加鏡像源,提升鏡像下載速度,建議使用阿里雲鏡像加速器,下面是中科大的鏡像源
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 -p 60003:5903 a1765e8e381e /bin/sh -c "while true; do echo hello world; sleep 1; done"
-t 讓 docker 分配一個僞終端並綁定到容器的標準輸入上 ,-p 指定映射端口,如宿主機60001端口映射到虛擬機的 5901 端口,-d 保持後臺運行, -c 執行一些命令
查看容器
sudo docker ps
Kali Linux
系統環境
修改 root 密碼
# 進入 kalilinux 容器
sudo docker exec -it 1275cabd2cdc /bin/bash
# 修改 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
在 #PermitRootLogin prohibit-password 下面一行添加PermitRootLogin yes
#啓動 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 遠程桌面,或只能 Kali 本機訪問
1、宿主機 Telnet 測試 Kali 虛擬機 vncserver 服務開放的端口
telnet 172.17.0.2 5902
2、進入虛擬機檢查端口開啓情況
netstat -an |grep 5902
3、發現問題
開啓 vnc 服務時沒有加 -localhost no 參數,導致 vnc 服務只監聽本機的 5902 端口
其它
- kali官方給出了Docker版本,基本上是個空系統,安裝 kali 所有的工具可以運行 apt-get install kali-linux-all ,大小約爲 10G。
- 配置完 Kali 後,建議將 container commit一下,便於以後配置錯誤導致 Kali系統崩潰時,可以用提交的鏡像快速重建容器。
參考
- docker下運行kalilinux並配置ssh訪問:https://blog.csdn.net/shana_8/article/details/81556518
- Ubuntu18.04安裝Docker:https://blog.csdn.net/u010889616/article/details/80170767
- 一個道德黑客的食譜 – 配置KaliLinux桌面環境:http://www.zijin.net/news/tech/917407.html
- Kali Linux高級教程:元數據包“工具子集”介紹與安裝:https://www.fujieace.com/kali-linux/metapackages.html