返回介绍

6.4 Bash Bunny

发布于 2024-10-13 11:41:08 字数 4532 浏览 0 评论 0 收藏 0

在本书之前的版本中,我们讨论了 Rubber Ducky 以及介绍它如何模拟 HID 设备(如键盘)来存储命令。作为红队,Rubber Ducky 是一个很好的工具,因为它可以用于社会工程攻击实践,加速 PowerShell 命令的传递,可以突破没有键盘但有 USB 接口的自助服务终端系统。

Bash Bunny 是 Rubber Ducky 的高级版本。它不仅可以执行 HID 类型的攻击,而且还可以做更多的事情。Bash Bunny 有两个独立的空间来存储两个攻击(以及一个额外的管理设置)。这些静荷可以用来窃取凭证、网络钓鱼、Ducky 攻击、运行 PowerShell 命令、执行扫描和侦察,以及执行 Metasploit autopwn 等。

在本书之前的版本中,我们介绍了使用 KonBoot 绕过您不知道密码的主机。KonBoot 适用于没有加密主机,主机从 USB 设备启动,覆盖本地管理员密码。虽然主机需要完全重启,但这会使您登录这台没有凭证的主机。您可能还没有用过 KonBoot,我们在模拟攻击行动中一直使用它,并取得了巨大成功。

您不想使用 KonBoot 可能有两个原因:这种攻击方式不适用于加密计算机;您可能不想重新启动被攻击者的主机。如何从锁定的主机获取信息,来访问网络上的其他主机或获得散列/密码?这就是 Bash Bunny 发挥作用的地方。

我们将使用 Bash Bunny 运行两种不同的攻击静荷。如果我们有物理访问权限,那么这两个静荷将从锁定(或解锁)系统获取信息。下面我们将演示 BunnyTap 和 QuickCreds 的使用。

6.4.1 突破进入 CSK 公司

经过数小时,您终于进入了 CSK 公司,之后您有几小时的时间,可以用于模拟黑客攻击。您接触第一台主机,插入 KonBoot 并重新启动系统,但是发现这些系统已经加密。然后,转到下一台处于锁定屏幕保护状态的主机。您插入 Bash Bunny 两次,分别运行 BunnyTap 和 QuickCreds 程序。几分钟后,QuickCreds 中的 Responder 程序搜集到 NetNTLMv2 散列值。我们使用 hashcat 工具破解散列值,几分钟内获得用户的密码!在我们无法获取或破解散列值的机器上,BunnyTap 运行 PosionTap,捕获热门网站的 Cookie,并配置为内部应用程序。我们导入这些 Cookie,将便携式计算机连接到他们的网络,替换敏感网站的应用程序 Cookie,无须知道网站密码,即可获取这些网站的访问权限。

在 Kali 上设置 Bash Bunny。

  • 下载最新的固件。
  • 将 Bash Bunny 设置在 Switch 3 上(Arminy Mode) - 布防模式(最靠近 USB 端口)。
  • 将固件放在 USB 加载的根目录,拔下插头,重新插入,等待约 10min,直到它闪烁蓝光。
  • 完成所有操作后,返回 Bash Bunny,编辑以下文件。

payloads> switch1> payload.txt

  • \# System default payload
  • LED B SLOW
  • ATTACKMODE ECM_ETHERNET STORAGE
  • 拔下您的设备。
  • 在 Kali 设备上设置互联网共享。
    • wget bashbunny.com/bb.sh
    • chmod + x bb.sh
    • ./bb.sh
    • 引导模式(选择所有默认值)
  • 将 Bash Bunny 设置在 Switch 1 上(离 USB 最远)。完成后,需确保 Bash Bunny 已连接,在那里您应该看到 Cloud←→Laptop←→Bunny 镜像。
  • 在您的 Kali 机器上,使用密码 hak5bunny 通过 SSH 连接到 Bash Bunny,如图 6.9 所示。

0609

图 6.9

下面介绍如何登录 Bash Bunny。

  • 在您的 Kali 机器上,使用密码 hak5bunny 通过 SSH 连接到 Bash Bunny。
  • ssh root@172.16.64.1。
  • 在 Bash Bunny 中更新并安装一些工具。
    • apt-get update
    • apt-get upgrade
    • export GIT_SSL_NO_VERIFY=1
    • git clone https://github.com/lgandx/Responder.git/tools/responder
    • git clone https://github.com/CoreSecurity/impacket.git/tools/impacket
    • cd /tools/impacket && python ./setup.py install
    • apt-get -y install dsniff
  • 在 Kali 机器的另一个终端中,安装所需的所有模块。
    • git clone https://github.com/hak5/bashbunny-payloads.git/opt/bashbunny-payloads
  • 您可以选择任何类型的静荷,但在示例中,我们将设置 Bash Bunny 两个静荷:BunnyTap 和 QuickCreds。
    • cp -R/opt/bashbunny-payloads/payloads/library/credentials/BunnyTap/*/media/ root/BashBunny/payloads/switch1/
    • cp -R/opt/bashbunny-payloads/payloads/library/credentials/QuickCreds/*/media/ root/ BashBunny/payloads/switch2/
    • 注意,在每个 Switch1 和 Switch2 文件夹中都有一个名为 payload.txt 的文件。在每个文件中,您需要将其配置为攻击 Windows 或 macOS 主机。对于 Windows 主机,需确保将 ATTACKMODE 设置为 RNDIS_ETHERNET;对于 macOS,需将其配置为 ECM_ETHERNET。

6.4.2 QuickCreds

QuickCreds 是一个可以推荐的工具,它利用 Responder,从锁定和未锁定的主机捕获 NTLMv2 挑战散列值。假设您在做一次物理安全评估,进入公司并遇到许多锁屏的主机时,您插入 Bash Bunny,选择 QuickCreds,每台机器等待时间约 2min。Bash Bunny 将接管网络适配器,使用 Response 路由共享和身份验证请求,然后记录该数据。它将所有凭证保存到 USB 磁盘的 loot 文件夹中,如图 6.10 所示。

0610

图 6.10

6.4.3 BunnyTap

BunnyTap 基于 Samy Kamkar 的 PoisonTap 工具。即使是在锁定的机器上,PoisonTap 也可以执行以下操作。

  • 通过 USB(或 Thunderbolt)模拟以太网设备。
  • 劫持设备的所有互联网流量(低优先级/未知网络接口)。
  • 从网络浏览器提取和存储 Alexa 前 1,000,000 个网站的 HTTP Cookie 和会话。
  • 将内部路由器暴露给攻击者,使其可以通过 WebSocket 和 DNS 重新绑定进行远程访问(感谢 Matt Austin 提供重新绑定的想法)。
  • 在 HTTP 缓存中为数十万个域和常见的 JavaScript CDN URL 安装基于 Web 的持久后门程序,所有这些都可以通过缓存中毒访问用户的 Cookie。
  • 允许攻击者在任何后门域上远程强制用户发出 HTTP 请求并回送响应(GET 与 POST)以及 Cookie。
  • 不需要解锁机器。
  • 即使在设备被移除并且攻击者离开后,后门和远程访问仍然存在。

从物理安全评估的角度来看,您进入他们的办公室,将 BunnyTap 插入每台机器,然后等待大约 2min。Bash Bunny 将接管所有流量数据。如果主机浏览器已经打开并且处于活跃状态(如广告或任何定期更新的页面),那么 BunnyTap 将启动并请求所有 Alexa 排名前 1,000,000 的网站。如果被攻击用户当时登录任何这些站点,那么 BunnyTap 将捕获被攻击者的所有 Cookie。现在,我们可以将这些 Cookie 导入我们的主机,用他们的 Cookie 替换我们的 Cookie,在不知道他们的密码的情况下登录,如图 6.11 所示。

0611

图 6.11

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文