前言

虽然此前Parallels Desktop已经发布针对M1芯片的Preview,但是Kali官方并未提供适用于M1芯片的镜像,前者先前发布的ARM架构的Kali Linux多用于树莓派等设备,并不支持在M1和Parallels Desktop中运行,加上有迹象表明M1系列的引导从Boot Camp变成了iBoot,引导第三方系统的难度加大了,所以笔者将尝试从Docker安装Kali Linux。

环境

设备:MacBook Air (M1,2020)
系统:macOS Big Sur 11.1
Docker:Docker Desktop Preview 7

安装

首先下载M1版本的Docker Preview

https://desktop.docker.com/mac/m1preview/Docker-AppleSilicon-Preview7.dmg

下载并安装好Docker后启动Docker并拉取Kali镜像

docker pull kalilinux/kali-rolling

拉取完成后即可运行Kali容器

docker run --name kali -t -i kalilinux/kali-rolling /bin/bash

这是一个类似WSL下的Kali,本身不包含任何工具,需要进行安装

首先更新apt和安装vim

apt update && apt install vim

将默认源换成清华源

vim /etc/apt/sources.list

注释掉默认源,加入以下内容

deb http://mirrors.tuna.tsinghua.edu.cn/kali/ kali-rolling contrib main non-free

deb-src http://mirrors.tuna.tsinghua.edu.cn/kali/ kali-rolling contrib main non-free

安装Kali工具包

apt install kali-linux-default

等待安装即可,大约6GB左右,期间会有多次输入确认。

运行测试

PLATFROM

通过输入uname -m 可以看到Docker内运行的是x86_64的Kali Linux,莫非在arm的架构下能模拟x86?

NMAP

从测试的结果来看,常用的nmap无法运行,原因不明,可以从arm的Homebrew下载macOS arm版的nmap进行替代

abrew install nmap

笔者将arm版homebrew的环境变量设置成了abrew,所以是abrew install。

SQLMAP

正常使用

kali

Docker内的Kali无法运行nmap

local

 本地运行nmap

x86

运行的是x86_64的Linux