在树莓派Zero W上运行Kali Linux

Kali Linux是专注于安全渗透的Linux发行版,不仅提供了x86_64版本,也提供基于ARM的版本,可以安装在树莓派上。

本文是在小巧的树莓派Zero W上安装运行Kali Linux,并且借助Zero W的USB扩展卡,可以方便地将Kali Linux随身携带,只需要插入主机USB接口就可以工作:

下载和镜像

Offensive Security官方网站提供Kali Linux ARM Images,提供了不同ARM版本的镜像,其中不仅有 Raspberry Pi 2/3 的版本,也有 Raspberry Pi Zero W版本。

下载Raspberry Pi Zero W版本kali-linux-2018.1.xz压缩版本(不是ISO),通过一下命令解压缩并写入到U盘(这里实际上是TF卡加了USB套,在linux上显示为/dev/sdb

xzcat kali-linux-2018.1-rpi0w-nexmon.img.xz | \
dd bs=4M of=/dev/sdb iflag=fullblock oflag=direct status=progress

注意:这里使用的of=/dev/sdb是因为U盘识别为sdb,具体要看TF卡转成U盘插入Linux系统主机识别的设备名。

设置USB方式网络通讯

树莓派Zero设置USB网络通讯(Ethernet Gadget)相同,设置通过USB通讯

  • 挂载U盘:

sudo mount /dev/sdb2 /mnt
sudo mount /dev/sdb1 /mnt/boot
  • 编辑config.txt(Kali Linux默认似乎没有这个文件,所以创建),在最后添加一行:

dtoverlay=dwc2
  • 编辑cmdline.txtrootwait之后加上一个空格,以及modules-load=dwc2,g_ether。完整配置如下:

dwc_otg.lpm_enable=0 console=serial0,115200 console=tty1 root=PARTUUID=792bacf6-02 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait modules-load=dwc2,g_ether

我修改了Kali Linux的cmdline.txt文件中root=/dev/mmcblk0p,改成root=PARTUUID=792bacf6-02。这是因为我通过USB转接卡后,设备名称会改变,所以通过PARTUUID来确保设备识别实际不会变化。

  • 编辑/mnt/etc/network/interfaces配置如下

allow-hotplug usb0
iface usb0 inet static
        address 192.168.7.10
        netmask 255.255.255.0
        network 192.168.7.0
        broadcast 192.168.7.255
        gateway 192.168.7.1
        dns-nameservers 192.168.7.1

启动

卸载挂载的U盘

sudo umount /mnt/boot
sudo umount /mnt

然后将TF卡插入树莓派Zero W,通过USB方式插入到一台Linux主机上,此时Linux主机会自动发现新的网卡设备,例如enp0s29u1u1

通过在Linux主机上/etc/network/interfaces添加如下内容:

auto enp0s29u1u1
iface enp0s29u1u1 inet static
        address 192.168.7.1
        netmask 255.255.255.0
        network 192.168.7.0
        broadcast 192.168.7.255

然后启动sudo ifup enp0s29u1u1ping 192.168.7.10,网络通了之后,就可以ssh 192.168.7.10,默认账号root的密码是toor,请立即修改。

参考

Last updated