前几天有同学看到我在 Terminal 里打了个 kali 就单独开了一个 Kali 的窗口出来,非常惊奇问我怎么做的。。其实就是用 Docker 装载了一个镜像,没什么技术含量,而且当初做得非常拙劣,Dockerfile 仓促间写成也没有优化,但是有人好奇那就发吧。。。如果各位有啥优化的办法或者更方便的办法不妨告诉我,我这个方法目前是自己用着比较舒服的。
Docker 安装就不说了,是个人照着文档都能搞出来。。直接上重点。以下操作是很久以前在 Mac OS X 10.10 Yosemite 下进行的,但是在去年的时候苹果公司推出了 Mac OS X 10.11 El Capitan,引进了新的 SIP 机制,效果大致相当于 rootless,导致 proxychains-ng 等一票软件失效,所以用到这些的我都去掉了,这样的话这个安装过程是不能保证你的匿名性的。如果你需要的话,简单的方法是在 Recovery HD 中
# configures by default # Apple Internal: enabled # Kext Signing: enabled # Filesystem Protections: enabled # Debugging Restrictions: enabled # DTrace Restrictions: enabled # NVRAM Protections: enabled # disable debugging restrictions only csrutil enable --without debug # or if you need complete root privileges csrutil disable
要搞一个 kali,我当初的第一想法就是从官方给的镜像下手,所以直接上手了,也没试试从 Debian 走是不是会更方便一点,但是现在用太久了也懒得改动。
docker pull kalilinux/kali-linux-docker
拉完了,测试一下好没好
docker run -t -i kalilinux/kali-linux-docker /bin/bash apt-get update apt-get install metasploit msfconsole
要是都运行成功就可以 log out 了
然后准备 build。我的文件是放在 ~/Docker/kali
,当初的意识流选择。。Home 目录下建一个 Docker 目录,然后要 build 什么就建一个文件夹放 script。。。虽然现在看上去有点丑,但是无所谓了,也挺干净的。
vim ~/Docker/kali/Dockerfile ## File Content ## if you have any trouble during building, try adding these lines to your Dockerfile. However, to set DEBIAN_FRONTEND to noninteractive should be discouraged and is also not approved by the developers of docker. # RUN echo "deb http://http.kali.org/kali sana main contrib non-free" > /etc/apt/sources.list && echo "deb-src http://http.kali.org/kali sana main contrib non-free" >> /etc/apt/sources.list && echo "deb http://security.kali.org/kali-security sana/updates main contrib non-free" >> /etc/apt/sources.list && echo "deb-src http://security.kali.org/kali-security sana/updates main contrib non-free" >> /etc/apt/sources.list # ENV DEBIAN_FRONTEND noninteractive ## install the whole kali software with kali-linux-all. This will end up with a very large docker image, so if you only need some of the tools from kali, try something like kali-linux-web or kali-linux-top10. RUN apt-get -y update && apt-get -y install kali-linux-all && apt-get clean ## add another line to open a shell when you load the container CMD ["/bin/bash"]
保存好 Dockerfile,确定网络安全连接后就可以开始 build 了。
cd ~/Docker/kali docker build -t kali .
此过程一定要保持网络畅通,否则一定失败。最后 alias 一下,就可以了。
除了以上的方法外,还有另一种方法也是可以的,就是在 Mac OS X 上 cross-debootstrap ,然后把按 Kali 安装好的 Debian 系统直接导入到 Docker 中