本书的重点是学习如何使用 Raspberry Pi 3 和 Kali Linux 构建和使用低成本的便携式黑客武器库。在本书的最后,我们将拥有一个非常灵活的渗透测试平台,适用于不需要具有高处理能力需求的应用程序的渗透测试项目。这种组合利用了 Raspberry Pi 的可移植性和最流行的开源渗透工具集 Kali Linux 的功能。在本书中,我们将重点介绍如何使用组合平台在远程位置执行隐蔽安全评估。我们将以最小的占地面积将它们设置为远程管理,以帮助它们不被发现。我们将看到,在 Raspberry Pi 3 上结合 Kali Linux 可以为我们提供一个灵活、适应性强、低调且经济高效的渗透测试平台,可以实现大型平台无法实现的许多测试目标。
在本章中,我们将了解可用于构建低成本、占地面积小但功能强大的渗透测试平台的硬件和软件选项。我们将讨论我们权衡的一些考虑因素,以及为什么我们选择 Raspberry Pi 3 作为硬件平台,选择 Kali Linux 作为软件发行版来构建渗透测试平台。
...
...
@@ -65,7 +65,7 @@
![Hardware options and why the Pi](img/Image00005.jpg)
随着型号的进步,硬件也在进步。Pi 1 和 Pi 2 模型是非常好的单元,它们对于嵌入式项目来说仍然是完美的。但是由于硬件增强和 Raspberry Pi 3 的强大功能,型号 B 是我们在这个项目中的选择。我们想在这个小小的外形上获得尽可能多的能量。我们拥有的能力越大,我们就越希望笔测试工具的性能越好。
随着型号的进步,硬件也在进步。Pi 1 和 Pi 2 模型是非常好的单元,它们对于嵌入式项目来说仍然是完美的。但是由于硬件增强和 Raspberry Pi 3 的强大功能,型号 B 是我们在这个项目中的选择。我们想在这个小小的外形上获得尽可能多的能量。我们拥有的能力越大,我们就越希望渗透测试工具的性能越好。
有了这些选项,我们选择了树莓皮 3。当时的电源是 1.2GHz 的四核以及 SDRAM。但不仅仅是这样,Raspberry Pi 3 还提供了使用内置无线和蓝牙的新笔测试工具的灵活性。与过去的版本相比,我们非常兴奋地看到这些新选项。
有了这些选项,我们选择了树莓皮 3。当时的电源是 1.2GHz 的四核以及 SDRAM。但不仅仅是这样,Raspberry Pi 3 还提供了使用内置无线和蓝牙的新渗透测试工具的灵活性。与过去的版本相比,我们非常兴奋地看到这些新选项。
# 软件选项和为什么选择 Kali
关于可以在 Raspberry Pi 上运行的操作系统,我们首先注意到的一点是,列表非常广泛。对硬件有很多支持。这也是我们选择 Raspberry Pi 硬件而不是其他可用平台的另一个原因。对于渗透测试软件,我们选择使用 Kali Linux([https://www.kali.org](https://www.kali.org) 用于我们的 Pi 笔测试盒。Kali Linux 附带了大量已经安装的安全工具,它是 BackTrack 的继承者,BackTrack 是我们过去使用的一个备受尊敬的、面向安全的 Linux 发行版。Kali Linux 的 Raspberry Pi 自定义映像由攻击性安全([维护 https://www.offensive-security.com/](https://www.offensive-security.com/) )。
关于可以在 Raspberry Pi 上运行的操作系统,我们首先注意到的一点是,列表非常广泛。对硬件有很多支持。这也是我们选择 Raspberry Pi 硬件而不是其他可用平台的另一个原因。对于渗透测试软件,我们选择使用 Kali Linux([https://www.kali.org](https://www.kali.org) 用于我们的 Pi 渗透测试盒。Kali Linux 附带了大量已经安装的安全工具,它是 BackTrack 的继承者,BackTrack 是我们过去使用的一个备受尊敬的、面向安全的 Linux 发行版。Kali Linux 的 Raspberry Pi 自定义映像由攻击性安全([维护 https://www.offensive-security.com/](https://www.offensive-security.com/) )。
Kali Linux 并不是唯一一个伟大的**发行版**(或发行版——Linux 操作系统和应用程序的特定混合版)。其他伟大的笔测试发行版可用于渗透测试。这些其他发行版包括 PwnPi、Raspberry Pwn 和 PwnBerry Pi。我们稍后将在本书中讨论这些发行版,特别是在[第 6 章](6.html#ch06"Chapter 6. Finishing the Attack - Report and Withdraw")、*完成攻击-报告并撤回*中。但是现在,我们将把重点放在我们选择的发行版 Kali Linux 上,因为它拥有巨大的社区,并且支持我们在本书中所要包含的大多数项目。
Kali Linux 并不是唯一一个伟大的**发行版**(或发行版——Linux 操作系统和应用程序的特定混合版)。其他伟大的渗透测试发行版可用于渗透测试。这些其他发行版包括 PwnPi、Raspberry Pwn 和 PwnBerry Pi。我们稍后将在本书中讨论这些发行版,特别是在[第 6 章](6.html#ch06"Chapter 6. Finishing the Attack - Report and Withdraw")、*完成攻击-报告并撤回*中。但是现在,我们将把重点放在我们选择的发行版 Kali Linux 上,因为它拥有巨大的社区,并且支持我们在本书中所要包含的大多数项目。
### 提示
...
...
@@ -242,7 +242,7 @@ apt-get dist-upgrade
```
在这之后,我们重新启动 Raspberry Pi 3,当它回来时,我们应该有一个完全更新的操作系统,准备好使用一些笔测试工具。
在这之后,我们重新启动 Raspberry Pi 3,当它回来时,我们应该有一个完全更新的操作系统,准备好使用一些渗透测试工具。
在本章中,我们介绍了各种可用的硬件选项以及选择 Raspberry Pi 3 的原因。我们讨论了可用的各种工具包、购买工具包的好处及其差异。我们还讨论了各种软件平台,以及为什么选择 Kali Linux 作为我们的软件平台。
接下来,我们介绍了开始使用 Kali Linux 和 Raspberry Pi 3 的方法。这包括准备好硬件,在 microSD 卡上安装软件,以及设置 Kali Linux 以确保其安全性的基础知识。此时,我们应该在 Raspberry Pi 3 上安装一个功能齐全、最新的 Kali Linux,并准备好开始使用这些工具,将这台计算机变成一个强大的笔测试平台。
接下来,我们介绍了开始使用 Kali Linux 和 Raspberry Pi 3 的方法。这包括准备好硬件,在 microSD 卡上安装软件,以及设置 Kali Linux 以确保其安全性的基础知识。此时,我们应该在 Raspberry Pi 3 上安装一个功能齐全、最新的 Kali Linux,并准备好开始使用这些工具,将这台计算机变成一个强大的渗透测试平台。
在下一章中,我们将开始深入研究一些基本工具,这些工具将允许我们访问并使用树莓 Pi 3 作为笔测试盒。这将包括几种方法,我们可以使用远程和安全地访问 Raspberry Pi 3,配置各种类型的接口,以及设置命令和控制服务器。
\ No newline at end of file
在下一章中,我们将开始深入研究一些基本工具,这些工具将允许我们访问并使用树莓 Pi 3 作为渗透测试盒。这将包括几种方法,我们可以使用远程和安全地访问 Raspberry Pi 3,配置各种类型的接口,以及设置命令和控制服务器。
尽管 Raspberry Pi 3 比其前身有了巨大的改进,但它仍然应该被视为一个动力不足的安全评估平台。这就是说,它被设计成一种低成本、超便携的计算机,主要面向教育者和爱好者。这使得它在秘密、现场渗透测试和其他谨慎的活动中具有优势。本章的重点将是如何准备运行 Kali Linux 的 Raspberry Pi(或其他平台),以便在渗透测试的所有阶段进行管理访问和连接。
...
...
@@ -25,9 +25,9 @@
# 准备渗透试验
我们在[第 1 章](1.html#ch01"Chapter 1. Choosing a Pen Test Platform")*选择笔测试平台*中介绍的 Kali Linux ARM 映像已经针对树莓 Pi 2 或 3 进行了优化。然而,我们发现建议执行一些额外的步骤,以确保我们在最稳定的模式下使用 Kali Linux,从而避免 Raspberry Pi 崩溃。步骤如下:
我们在[第 1 章](1.html#ch01"Chapter 1. Choosing a Pen Test Platform")*选择渗透测试平台*中介绍的 Kali Linux ARM 映像已经针对树莓 Pi 2 或 3 进行了优化。然而,我们发现建议执行一些额外的步骤,以确保我们在最稳定的模式下使用 Kali Linux,从而避免 Raspberry Pi 崩溃。步骤如下:
1. 我们首先建议按照[第 1 章](1.html#ch01"Chapter 1. Choosing a Pen Test Platform")*选择笔测试平台*中的详细说明执行操作系统更新。我们不会在这里重复这些步骤,因此如果我们没有更新操作系统,请返回[第 1 章](1.html#ch01"Chapter 1. Choosing a Pen Test Platform")、*选择笔测试平台*并按照说明操作。
1. 我们首先建议按照[第 1 章](1.html#ch01"Chapter 1. Choosing a Pen Test Platform")*选择渗透测试平台*中的详细说明执行操作系统更新。我们不会在这里重复这些步骤,因此如果我们没有更新操作系统,请返回[第 1 章](1.html#ch01"Chapter 1. Choosing a Pen Test Platform")、*选择渗透测试平台*并按照说明操作。
2. The next step we should perform is to properly identify our Raspberry Pi. The Kali Linux image ships with a generic hostname. To change the hostname, we'll use the Linux editor of our choice (seriously, any one will do; even if we are a fan of nano - this is a judgement-free zone) to edit `/etc/hostname` . The only thing in this file should be our hostname. We can see in our example that we are changing our Pi's hostname from Kali to **Kali_Pi** :
![Preparing for a penetration test](img/Image00031.jpg)
现在我们已经在[第 5 章](5.html#ch05"Chapter 5. Taking Action - Intrude and Exploit")*采取行动-入侵和利用*中找到并利用了我们的目标,是时候进入渗透测试杀伤链的最后阶段了,即**报告**和**撤回**。有些人可能会争辩这一步骤的有效性和重要性,因为大部分的重击努力和影响是在[第 5 章](5.html#ch05"Chapter 5. Taking Action - Intrude and Exploit")中完成的,*采取行动-入侵和利用*,但没有适当清理和覆盖我们的足迹,我们可以留下一些面包屑,告诉别人我们去了哪里,我们做了什么。这肯定不仅会损害我们作为渗透测试人员的声誉,还会危及任务。报告本身就是我们的客户认为我们的产品。因此,毫不奇怪,我们应该非常小心地确保他们组织良好、信息丰富、准确,最重要的是,满足客户的目标。我们还应确保谨慎处理这一阶段。目标环境的用户和操作员的工作和声誉受到威胁。
...
...
@@ -16,7 +16,7 @@
### 注
您可以使用我们在[第 1 章](1.html#ch01"Chapter 1. Choosing a Pen Test Platform")*中介绍的 SD 格式工具*选择笔测试平台。您还可以使用[第 1 章](1.html#ch01"Chapter 1. Choosing a Pen Test Platform")*选择笔测试平台*中所述的步骤,在执行渗透测试之前备份您的图像,并将您的树莓 Pi 重置回该图像,以隐藏其在重新成像之前的使用方式。
您可以使用我们在[第 1 章](1.html#ch01"Chapter 1. Choosing a Pen Test Platform")*中介绍的 SD 格式工具*选择渗透测试平台。您还可以使用[第 1 章](1.html#ch01"Chapter 1. Choosing a Pen Test Platform")*选择渗透测试平台*中所述的步骤,在执行渗透测试之前备份您的图像,并将您的树莓 Pi 重置回该图像,以隐藏其在重新成像之前的使用方式。
现在,我们已经在网络端和端点上完成了跟踪,剩下的只是我们留下的任何设备。这包括我们的树莓皮。要将 Raspberry Pi 重置为出厂默认值,我们可以参考[第 1 章](1.html#ch01"Chapter 1. Choosing a Pen Test Platform")*中的安装 Kali Linux,选择笔测试平台*,重新安装 Kali 或 NOOBS 软件。这将允许我们再次运行干净的映像。如果我们在[第一章](1.html#ch01"Chapter 1. Choosing a Pen Test Platform")*选择钢笔测试平台*中克隆了您的*金色*图像,我们可以用该图像重新塑造我们的树莓皮。
现在,我们已经在网络端和端点上完成了跟踪,剩下的只是我们留下的任何设备。这包括我们的树莓皮。要将 Raspberry Pi 重置为出厂默认值,我们可以参考[第 1 章](1.html#ch01"Chapter 1. Choosing a Pen Test Platform")*中的安装 Kali Linux,选择渗透测试平台*,重新安装 Kali 或 NOOBS 软件。这将允许我们再次运行干净的映像。如果我们在[第一章](1.html#ch01"Chapter 1. Choosing a Pen Test Platform")*选择钢渗透测试平台*中克隆了您的*金色*图像,我们可以用该图像重新塑造我们的树莓皮。
如果我们没有重新映像或重新安装 Raspberry Pi 的选项,我们可以选择只销毁硬件。要销毁的最重要的一块是 microSD 卡(见下图),因为它包含了我们在 Pi 上所做的一切。但是,我们可能想考虑销毁您可能使用过的任何接口(USB Wi-Fi、以太网或蓝牙适配器),因为这些物理 MAC 地址中的任何一个可能已经被记录在目标网络上,因此可以证明设备在那里。如果我们使用了机载接口,我们甚至可能需要摧毁树莓 Pi 本身。
![Clearing the data off the Raspberry Pi](img/Image00174.jpg)
如果覆盆子 Pi 位于我们无法收回或摧毁它的位置,我们唯一的选择就是远程破坏它,这样我们就可以删除我们攻击目标的任何线索。为此,我们可以在 Kali 中使用`rm`命令。`rm`命令用于从操作系统中删除文件等。作为一个很酷的奖励,`rm`有一些有趣的标志,我们可以利用这些标志来发挥我们的优势。这些标志包括`-r`和`-f`标志。`-r`标志表示递归执行操作,因此该目录及以下目录中的所有内容都将被删除,`-f`标志强制删除,而无需询问。因此,从任何目录运行命令`rm -fr *`将删除该目录内的所有内容以及该目录下的任何内容。这个命令的有趣之处在于我们是否从`/`或目录结构的顶部运行它。由于该命令将删除该目录及以下目录中的所有内容,因此从顶层运行该命令将删除所有文件,从而使该框无法使用。任何数据取证人员都会告诉我们,数据仍然存在,只是没有被操作系统使用。所以,我们真的需要覆盖这些数据。我们可以使用`dd`命令来实现这一点。我们在[第一章](1.html#ch01"Chapter 1. Choosing a Pen Test Platform")中设置树莓圆周率时使用`dd`,*选择钢笔测试平台*。我们可以简单地使用以下方法来完成工作:
如果覆盆子 Pi 位于我们无法收回或摧毁它的位置,我们唯一的选择就是远程破坏它,这样我们就可以删除我们攻击目标的任何线索。为此,我们可以在 Kali 中使用`rm`命令。`rm`命令用于从操作系统中删除文件等。作为一个很酷的奖励,`rm`有一些有趣的标志,我们可以利用这些标志来发挥我们的优势。这些标志包括`-r`和`-f`标志。`-r`标志表示递归执行操作,因此该目录及以下目录中的所有内容都将被删除,`-f`标志强制删除,而无需询问。因此,从任何目录运行命令`rm -fr *`将删除该目录内的所有内容以及该目录下的任何内容。这个命令的有趣之处在于我们是否从`/`或目录结构的顶部运行它。由于该命令将删除该目录及以下目录中的所有内容,因此从顶层运行该命令将删除所有文件,从而使该框无法使用。任何数据取证人员都会告诉我们,数据仍然存在,只是没有被操作系统使用。所以,我们真的需要覆盖这些数据。我们可以使用`dd`命令来实现这一点。我们在[第一章](1.html#ch01"Chapter 1. Choosing a Pen Test Platform")中设置树莓圆周率时使用`dd`,*选择钢渗透测试平台*。我们可以简单地使用以下方法来完成工作:
```
dd if=/dev/urandom of=/dev/sda1 (where sda1 is your microSD card)
在前几章中,我们重点介绍了 Kali Linux,并将其用于 Raspberry Pi 作为一个功能强大但通用的渗透测试平台。在本章中,我们将不再使用典型 pen 测试的 Kill-Chain 模型方法,而是将重点放在 Raspberry Pi 的一些其他有趣和激动人心的用例上。我们将探索 Kali Linux 以外的一些图像,看看它们能提供什么好处。这甚至包括从 Linux/Unix 衍生产品转移到 Pi 上试用 Windows10IoT 版本,疯狂的谈话,对吗?Raspberry Pi 是一款功能强大的安全设备,用于保护您的网络,因此我们也将深入探讨这些主题。最后,我们将研究一些与安全无关的项目,我们认为这些项目是利用 Raspberry Pi 的一种令人兴奋的方式。
...
...
@@ -63,7 +63,7 @@ Raspberry Pwn 的安装过程不同于提供 ARM 图像的完整发行版。这
2. 我们需要使用[第 1 章](1.html#ch01"Chapter 1. Choosing a Pen Test Platform")*选择笔测试平台*中所述的过程安装此图像。安装 Debian 映像的命令是`sudo dd if=2016-09-23-raspbian-jessie.img of=/dev/disk2`。
2. 我们需要使用[第 1 章](1.html#ch01"Chapter 1. Choosing a Pen Test Platform")*选择渗透测试平台*中所述的过程安装此图像。安装 Debian 映像的命令是`sudo dd if=2016-09-23-raspbian-jessie.img of=/dev/disk2`。
3. 一旦安装,我们将把 microSD 放入 Raspberry Pi 中,并确保通过以太网端口将其连接到提供互联网访问的活动端口。
4. 现在我们将使用`sudo -i`命令成为 root 用户。
5. We can test network connectivity by pinging [https://www.google.com/?gfe_rd=cr&ei=UaYuWOSmFqT98wfv2abABQ&gws_rd=cr&fg=1](https://www.google.com/?gfe_rd=cr&ei=UaYuWOSmFqT98wfv2abABQ&gws_rd=cr&fg=1) . Once we confirm that we have network connectivity, we'll type `apt-get update` to update the firmware. This should only take a few minutes.
1. 在第一步中,我们将按照[第 1 章](1.html#ch01"Chapter 1. Choosing a Pen Test Platform")、*选择笔测试平台*中的步骤,通过 NOOBS 软件包或直接从 Raspberry Pi 网站安装所选的最新 Linux 映像。Raspbian 和 Kali 都可以运行 OpenVPN。我们选择了卡利(嘿,很熟悉!)。
2. 接下来,我们要确保使用[第 1 章](1.html#ch01"Chapter 1. Choosing a Pen Test Platform")*选择笔测试平台*中讨论的`apt-get update`和`apt-get upgrade`命令更新图像。
1. 在第一步中,我们将按照[第 1 章](1.html#ch01"Chapter 1. Choosing a Pen Test Platform")、*选择渗透测试平台*中的步骤,通过 NOOBS 软件包或直接从 Raspberry Pi 网站安装所选的最新 Linux 映像。Raspbian 和 Kali 都可以运行 OpenVPN。我们选择了卡利(嘿,很熟悉!)。
2. 接下来,我们要确保使用[第 1 章](1.html#ch01"Chapter 1. Choosing a Pen Test Platform")*选择渗透测试平台*中讨论的`apt-get update`和`apt-get upgrade`命令更新图像。
6. 一旦我们有了图像,我们需要在 microSD 卡上输入。我们可以参考[第 1 章](1.html#ch01"Chapter 1. Choosing a Pen Test Platform")*选择笔测试平台*来了解如何做到这一点。
6. 一旦我们有了图像,我们需要在 microSD 卡上输入。我们可以参考[第 1 章](1.html#ch01"Chapter 1. Choosing a Pen Test Platform")*选择渗透测试平台*来了解如何做到这一点。
7. After we have NOOBS installed on our microSD card, we can put it back into our Raspberry Pi and boot it up. Once that boots up, we will need to select a Wi-Fi network. Choose the appropriate Wi-Fi network along with the correct authentication method.
![Running Windows 10 on Raspberry Pi 3](img/Image00217.jpg)
为了启动这个项目,我们需要下载 PiAware 操作系统并将其安装到 Raspberry Pi 上。请参阅本书[第一章](1.html#ch01"Chapter 1. Choosing a Pen Test Platform")*选择笔测试平台*,了解如何在 microSD 卡上为我们的 Raspberry Pi 安装操作系统。PiAware 可在[找到 https://flightaware.com/adsb/piaware/](https://flightaware.com/adsb/piaware/) 。
为了启动这个项目,我们需要下载 PiAware 操作系统并将其安装到 Raspberry Pi 上。请参阅本书[第一章](1.html#ch01"Chapter 1. Choosing a Pen Test Platform")*选择渗透测试平台*,了解如何在 microSD 卡上为我们的 Raspberry Pi 安装操作系统。PiAware 可在[找到 https://flightaware.com/adsb/piaware/](https://flightaware.com/adsb/piaware/) 。
在我们用 PiAware 操作系统启动 Raspberry Pi 之后,我们需要将 ADS-B USB 接收器插入 Raspberry Pi。我们推荐 Noolec NESDR Mini USB RTL-SDR 和 ADS-B 接收器组,在美国购买价格约为 22 美元。下图显示了 NooElec NESDR Mini:
...
...
@@ -854,7 +854,7 @@ Raspberry Pi 在线上有数百个类似的家庭自动化和安全项目——
# 总结
Raspberry Pi 从一开始就为我们提供了各种各样的应用程序和项目,我们可以进行探索。虽然本书的大部分内容只关注 Raspberry Pi 的一个具体实现——将其与 Kali Linux 一起用作笔测试平台——但我们希望在本章中探索其他诱人的选项,以帮助激发您的兴趣并扩大您对所有这些项目都可以帮助开发的技能的了解。Kali Linux 之外的 ARM 映像,如 PwnPi、Raspberry Pwn、PwnBerry Pi 和 Windows 10,使该平台在任何安全测试中都具有重要的实用性。卡利目前是该领域的领导者,但我们相信了解其他领域的情况总是一个好主意。在本章中,我们还想展示一些其他与安全相关的用途,并在这样做的过程中将同一个经济高效的平台转变为防火墙和入侵检测系统、内容过滤器,甚至参与了名为 Tor 的匿名网络。为了证明我们并非都是生意人,我们还向您展示了其他一些非常酷的 Pi 项目,我们认为这些项目是使用该平台的有趣方式。
Raspberry Pi 从一开始就为我们提供了各种各样的应用程序和项目,我们可以进行探索。虽然本书的大部分内容只关注 Raspberry Pi 的一个具体实现——将其与 Kali Linux 一起用作渗透测试平台——但我们希望在本章中探索其他诱人的选项,以帮助激发您的兴趣并扩大您对所有这些项目都可以帮助开发的技能的了解。Kali Linux 之外的 ARM 映像,如 PwnPi、Raspberry Pwn、PwnBerry Pi 和 Windows 10,使该平台在任何安全测试中都具有重要的实用性。卡利目前是该领域的领导者,但我们相信了解其他领域的情况总是一个好主意。在本章中,我们还想展示一些其他与安全相关的用途,并在这样做的过程中将同一个经济高效的平台转变为防火墙和入侵检测系统、内容过滤器,甚至参与了名为 Tor 的匿名网络。为了证明我们并非都是生意人,我们还向您展示了其他一些非常酷的 Pi 项目,我们认为这些项目是使用该平台的有趣方式。