本节书摘来自异步社区《树莓派渗透测试实战》一书中的第1章,第1.4节,作者[美]Joseph Muniz(约瑟夫 穆尼斯),Aamir Lakhani(阿米尔 拉克哈尼),朱筱丹 译,更多章节内容可以访问云栖社区“异步社区”公众号查看。
1.4 安装Kali Linux
现在准备好可以在树莓派上安装Kali Linux了。默认来说,用于树莓派版本的Kali Linux安装包已经为树莓派设备的内存和ARM处理器做过优化。碰到特定的渗透测试目标,树莓派还是令人满意的。但如果加入过多的工具和功能,树莓派设备的性能可能会跟不上,导致在实验室之外的场景会变得难以使用。要想在树莓派上安装完整版的Kali Linux也是可以的,但需要单独安装各个Kali Metapackages软件包,这个已经超出本书范围了。对需要用到完整版Kali Linux的场景,建议还是换个更强劲的系统。
要在树莓派上安装Kali Linux,需要先到Offensive Security的网站上下载树莓派对应的安装映像文件。地址为http://www.offensive-security.com/kali-linux-vmware-arm-image-download/。
图1-11显示了可供下载的Kali Linux Custom ARM Images。
最好在安装前,计算和对比下载的映像文件的SHA1SUM摘要值,以验证没有被篡改。
映像文件下载好之后,就要将它写入microSD卡上。如果使用的是Linux或Mac操作系统,可以使用内置的dd命令行程序。如果使用的是Windows系统,就要使用Win32 DiskImager程序。
Win32 Disk Imager是一套免费工具,用于将raw映像文件写到SD/microSD卡上。如果microSD卡用了图1-5所示的那种USB转接套,这个工具有时候会出问题,已经有人报告过这个现象了。
Win32 Disk Imager程序的下载地址为http://sourceforge.net/projects/win32diskimager/ 。
下载完成后,只要选择映像文件和可移除介质,然后就可以开始写入的过程。整个过程可能需要一点时间。MacBook的系统上大概花了30分钟。
现在可以准备安装之前下载的Kali Linux映像了。先将压缩文件解压到桌面上。可以用类似7-Zip这样的程序解压下载的文档。
图1-12是Win32 Disk Imager程序的界面。
如果用的是Mac平台,第一步是确定操作系统读取SD卡的位置。可以在终端输入diskutil list命令以达到这个目的,执行的结果如图1-13所示。
在图1-13中可以看到,SD卡被标记为disk1。也看得出来,这张microSD卡上有分区,说明还没有格式化这张卡。此时应该按照本章开头的描述,先格式化这张卡再做后续步骤。
虽然我更喜欢用前面提到的SD Card Formatter程序,但也可以在直接在Mac里通过命令行直接格式化SD卡,步骤如下所示。
1.首先,需要输入diskutil unmountDisk /dev/disk1这条命令,先卸载已在使用的SD卡。
2.然后再输入sudo newfs_msdos -F 16 /dev/disk1命令格式化SD卡(千万要确保输入正确的磁盘名称。如果搞错了后果非常严重)。
强烈建议先用分区工具把microSD卡上的分区都先删掉,再进行格式化。
3.此时需要输入Mac操作系统的系统/管理员密码。
在上述格式化相关命令中,用的是disk1这个名称,因为操作系统自动把SD卡分配为disk1。但操作系统给SD卡分配的可能是另一个编号。确保在执行上述命令时,用的是正确的磁盘编号。
在复制映像文件之前,最好格式化SD卡。但值得说明的是,后面用dd命令时,执行的是从映像文件到SD卡的逐比特复制,所以并非一定要格式化SD卡。但格式化操作可以防止一些其他错误和异常。
现在可以安装之前下载的Kali Linux映像文件了。先将下载的文档解压到桌面。可以使用Mac平台的Unarchiver或Keka来解压文档。
然后确定解压后映像文件名。例如,解压出来的映像文件名为kali-1.0.9- rpi.img。最好再度确认一下系统是否可以访问SD卡。方法是再次输入diskutil list命令。
输入以下命令,把映像文件安装到SD卡上(可能需要再输入一次Mac操作系统/管理员密码):
sudo dd if=~/Desktop/kali-1.0.9-rpi.img of=/dev/disk1
图1-14显示了前面这条写入命令执行后的结果。
在映像文件写入microSD卡的过程中,命令提示符会处于停顿状态。休息一下就好,因为这个过程是颇需要一点时间的。在我的系统上,花了差不多30分钟才完成。
可以按下Ctrl + T组合键,向正在运行的程序发送SIGINFO命令,以查看dd命令的运行进度。
图1-15显示了映像文件写到microSD卡的过程,此时命令行提示符处于停顿状态的样子。
如果不加上sudo命令,OS X系统下要用dd命令把映像文件写到microSD卡上时,可能会出现权限不够的提示。如果使用的命令行和上面的略有差异,确保sudo对后面的整个命令都有效,所以建议把sudo后面的命令用括号括起来,以免出现这个错误。
完成映像文件的安装后,只要把microSD卡插入树莓派,打开电源,就可以启动系统了。启动系统可能需要花5分钟。然后输入用户名为root,密码toor,登录Kali系统。如果希望启动到图形界面下,只要在终端输入startx。恭喜!这套运行在树莓派上的Kali系统就装好了。
系统的启动可能需要点时间。树莓派支持图形用户界面(GUI),可以输入startx启动图形界面。但是,建议在树莓派上还是以命令行为主。如果输入了startx命令,可能需要20分钟来加载图形界面,而且用起来非常慢,甚至会没有响应。