6.4 Bash Bunny
在本书之前的版本中,我们讨论了 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 所示。
图 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 所示。
图 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 所示。
图 6.11
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论