《树莓派渗透测试实战》——1.4 安装Kali Linux

简介:

本节书摘来自异步社区《树莓派渗透测试实战》一书中的第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。


screenshot

最好在安装前,计算和对比下载的映像文件的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程序的界面。


screenshot

如果用的是Mac平台,第一步是确定操作系统读取SD卡的位置。可以在终端输入diskutil list命令以达到这个目的,执行的结果如图1-13所示。


screenshot

在图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显示了前面这条写入命令执行后的结果。


screenshot

在映像文件写入microSD卡的过程中,命令提示符会处于停顿状态。休息一下就好,因为这个过程是颇需要一点时间的。在我的系统上,花了差不多30分钟才完成。

可以按下Ctrl + T组合键,向正在运行的程序发送SIGINFO命令,以查看dd命令的运行进度。

图1-15显示了映像文件写到microSD卡的过程,此时命令行提示符处于停顿状态的样子。


screenshot

如果不加上sudo命令,OS X系统下要用dd命令把映像文件写到microSD卡上时,可能会出现权限不够的提示。如果使用的命令行和上面的略有差异,确保sudo对后面的整个命令都有效,所以建议把sudo后面的命令用括号括起来,以免出现这个错误。

完成映像文件的安装后,只要把microSD卡插入树莓派,打开电源,就可以启动系统了。启动系统可能需要花5分钟。然后输入用户名为root,密码toor,登录Kali系统。如果希望启动到图形界面下,只要在终端输入startx。恭喜!这套运行在树莓派上的Kali系统就装好了。

系统的启动可能需要点时间。树莓派支持图形用户界面(GUI),可以输入startx启动图形界面。但是,建议在树莓派上还是以命令行为主。如果输入了startx命令,可能需要20分钟来加载图形界面,而且用起来非常慢,甚至会没有响应。
相关文章
|
7天前
|
存储 安全 数据管理
如何在 Rocky Linux 8 上安装和配置 Elasticsearch
本文详细介绍了在 Rocky Linux 8 上安装和配置 Elasticsearch 的步骤,包括添加仓库、安装 Elasticsearch、配置文件修改、设置内存和文件描述符、启动和验证 Elasticsearch,以及常见问题的解决方法。通过这些步骤,你可以快速搭建起这个强大的分布式搜索和分析引擎。
20 5
|
19天前
|
消息中间件 Linux RocketMQ
在Red Hat Enterprise Linux 9上使用Docker快速安装并部署
通过以上步骤,你可以在Red Hat Enterprise Linux 9上使用Docker快速安装并部署RocketMQ。这种方法不仅简化了安装过程,还提供了一个灵活的环境来管理和扩展消息队列系统。RocketMQ作为一款高性能的分布式消息系统,通过Docker可以实现快速部署和高效管理。
46 2
|
20天前
|
消息中间件 Linux RocketMQ
在Red Hat Enterprise Linux 9上使用Docker快速安装并部署
通过以上步骤,你可以在Red Hat Enterprise Linux 9上使用Docker快速安装并部署RocketMQ。这种方法不仅简化了安装过程,还提供了一个灵活的环境来管理和扩展消息队列系统。RocketMQ作为一款高性能的分布式消息系统,通过Docker可以实现快速部署和高效管理。
29 3
|
3天前
|
存储 缓存 Linux
【Linux】另一种基于rpm安装yum的方式
通过本文的方法,您可以在离线环境中使用RPM包安装YUM并进行必要的配置。这种方法适用于无法直接访问互联网的服务器或需要严格控制软件源的环境。通过配置本地YUM仓库,确保了软件包的安装和更新可以顺利进行。希望本文能够为您在特定环境中部署YUM提供实用的指导。
28 0
|
9天前
|
关系型数据库 MySQL Linux
Linux-安装Mariadb
本文介绍了在 Alibaba Cloud Linux 系统上安装和配置 MariaDB 10.5 的步骤。包括下载安装、初始化数据库、启动服务、处理启动失败的常见问题(如权限问题),以及如何连接数据库、设置密码和允许外部连接。通过这些步骤,您可以顺利完成 MariaDB 的安装和基本配置。
22 0
|
6天前
|
JSON Java 测试技术
SpringCloud2023实战之接口服务测试工具SpringBootTest
SpringBootTest同时集成了JUnit Jupiter、AssertJ、Hamcrest测试辅助库,使得更容易编写但愿测试代码。
34 3
|
1月前
|
JSON 算法 数据可视化
测试专项笔记(一): 通过算法能力接口返回的检测结果完成相关指标的计算(目标检测)
这篇文章是关于如何通过算法接口返回的目标检测结果来计算性能指标的笔记。它涵盖了任务描述、指标分析(包括TP、FP、FN、TN、精准率和召回率),接口处理,数据集处理,以及如何使用实用工具进行文件操作和数据可视化。文章还提供了一些Python代码示例,用于处理图像文件、转换数据格式以及计算目标检测的性能指标。
57 0
测试专项笔记(一): 通过算法能力接口返回的检测结果完成相关指标的计算(目标检测)
|
2月前
|
移动开发 JSON Java
Jmeter实现WebSocket协议的接口测试方法
WebSocket协议是HTML5的一种新协议,实现了浏览器与服务器之间的全双工通信。通过简单的握手动作,双方可直接传输数据。其优势包括极小的头部开销和服务器推送功能。使用JMeter进行WebSocket接口和性能测试时,需安装特定插件并配置相关参数,如服务器地址、端口号等,还可通过CSV文件实现参数化,以满足不同测试需求。
237 7
Jmeter实现WebSocket协议的接口测试方法
|
2月前
|
JSON 移动开发 监控
快速上手|HTTP 接口功能自动化测试
HTTP接口功能测试对于确保Web应用和H5应用的数据正确性至关重要。这类测试主要针对后台HTTP接口,通过构造不同参数输入值并获取JSON格式的输出结果来进行验证。HTTP协议基于TCP连接,包括请求与响应模式。请求由请求行、消息报头和请求正文组成,响应则包含状态行、消息报头及响应正文。常用的请求方法有GET、POST等,而响应状态码如2xx代表成功。测试过程使用Python语言和pycurl模块调用接口,并通过断言机制比对实际与预期结果,确保功能正确性。
247 3
快速上手|HTTP 接口功能自动化测试
|
1月前
|
JavaScript 前端开发 API
vue尚品汇商城项目-day02【9.Home组件拆分+10.postman测试接口】
vue尚品汇商城项目-day02【9.Home组件拆分+10.postman测试接口】
40 0