diff --git a/README.md b/README.md index 53cc292..a02ea74 100644 --- a/README.md +++ b/README.md @@ -1,89 +1,245 @@ -# Payload Library for the Packet Squirrel by Hak5 +# Payload Library for the [Packet Squirrel](https://hak5.org/products/packet-squirrel) by [Hak5](https://hak5.org) -This repository contains payloads and extensions for the Hak5 Packet Squirrel, developed by the Hak5 Community. +This repository contains payloads and extensions for the Hak5 Packet Squirrel and Hak5 Packet Squirrel Mark II. Community developed payloads are listed and developers are encouraged to create pull requests to make changes to or submit new payloads. -Have a great payload? Submit it by forking the payload repository and submitting a pull request!A +
+ +      + +
+ + +
+
+

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

-Learn more about Github pull requests [here](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests) or from the Hak5 Bash Bunny tutorial [here](https://www.youtube.com/watch?v=H6z9BXevsZg). -## Packet Squirrel Versions +
+ +      + +      + +      + +

-The Packet Squirrel Mark II expands on the capabilities of the original Packet Squirrel, introducing new commands and more flexible networking configurations. +
-Payloads for the original Packet Squirrel can be found in the `legacy-mk1` directory. These payloads may not work without modification on the Packet Squirrel Mark II. +# Packet Squirrel Versions -## About the Packet Squirrel +There are currently two versions of the Packet Squirrel. The original Packet Squirrel can be identified by the micro-usb power port, while the Packet Squirrel Mark II can be identified by the USB-C power port. + +Please make sure you select payloads for the device you have! + +Payloads for the original Packet Squirrel be found in the `legacy-mk1/` directory. + +The Packet Squirrel Mark II payloads can be found in the `payloads/` directory. + +The Packet Squirrel Mark II expands the DuckyScript for Packet Squirrel commands and adds many new commands and features. In general, payloads from the original Packet Squirrel can be adapted to run on the Packet Squirrel Mark II by adopting the new commands - check out the [Packet Squirrel Mark II Payload documentation](https://docs.hak5.org/packet-squirrel-mark-ii/payload-development/duckyscript-for-packet-squirrel) for more information! + +The existing suite of original Packet Squirrel payloads remains available and functional on the original hardware in the `legacy-mk1/` directory! + +# Shop +- [Purchase the Packet Squirrel](https://hak5.org/products/packet-squirrel "Purchase the Packet Squirrel") +- [PayloadStudio Pro](https://hak5.org/products/payload-studio-pro "Purchase PayloadStudio Pro") +- [Shop All Hak5 Tools](https://shop.hak5.org "Shop All Hak5 Tools") + +## Getting Started +- [Build Payloads with PayloadStudio](#build-your-payloads-with-payloadstudio) | [QUICK START GUIDE](https://docs.hak5.org/packet-squirrel-mark-ii/payload-development/payload-development-basics "QUICK START GUIDE") + +## Documentation / Learn More +- [Documentation](https://docs.hak5.org/packet-squirrel-mark-ii "Documentation") + +## Community +*Got Questions? Need some help? Reach out:* +- [Discord](https://hak5.org/discord/ "Discord") | [Forums](https://forums.hak5.org/forum/94-packet-squirrel/ "Forums") + +## Additional Links + Follow the creators
+

+ Korben's Twitter | + Korben's Instagram +
+ Dragorn's Mastodon | +
+ Darren's Twitter | + Darren's Instagram +

+ +
+

About the Packet Squrirel

The Packet Squirrel Mark II by Hak5 is a stealthy pocket-sized man-in-the-middle. This Ethernet multi-tool is designed to give you covert remote access, painless packet captures, and secure VPN connections with the flip of a switch. -- [Purchase at Hak5](https://hak5.org/products/packet-squirrel "Purchase at Hak5") -- [Documentation](https://docs.hak5.org/packet-squirrel-mark-ii "Documentation") -- [Forums](https://forums.hak5.org/forum/94-packet-squirrel/ "Forums") -- [Discord](https://hak5.org/discord "Discord") + +
+Launch Video +
+
+
+

+ +
Hak5 Packet Squirrel Features +

+
-![Packet Squirrel](https://cdn.shopify.com/s/files/1/0068/2142/products/Packet_Squirrel_300x.jpg) +The Packet Squirrel Mark II is an Ethernet multi-tool for packet capture, man-in-the-middle network manipulation, stream filtering and redirection, remote VPN access, and more. -## Updating +Use simplified DuckyScript for Packet Squirrel to create payloads, or unlock the full power of Bash script or Python 3 for complex payloads. -If you've downloaded this repository via `git`, you can update to the latest versions of the payloads with `git pull`. If you downloaded as a zip or other file, please download the latest from [github](https://github.com/hak5/packetsquirrel-payloads/). +Edit payloads live in the Web UI editor with syntax highlighting, SSH, or [build your payloads with Payload Studio](https://payloadstudio.hak5.org). -## Disclaimer +Exfiltrate data or pentest from anywhere with [Hak5 Cloud C²](https://shop.hak5.org/products/c2 "Hak5 Cloud C²"). -Generally, payloads may execute commands on your device. As such, it is possible for a payload to damage your device. Payloads from this repository are provided AS-IS without warranty. While Hak5 makes a best effort to review payloads, there are no guarantees as to their effectiveness or safety. As with any script, you are advised to proceed with caution. +# About DuckyScript™ -## Legal +DuckyScript is the payload language of Hak5 gear. -Payloads from this repository are provided for educational purposes only. Hak5 gear is intended for authorized auditing and security analysis purposes only where permitted subject to local and international laws where applicable. Users are solely responsible for compliance with all laws of their locality. Hak5 LLC and affiliates claim no responsibility for unauthorized or unlawful use. +Originating on the Hak5 USB Rubber Ducky as a standalone language, the Packet Squirrel uses DuckyScript commands to bring the ethos of easy-to-use actions to the payload language. -## Contributing +DuckyScript commands are always in all capital letters to distinguish them from other system or script language commands. Typically, they take a small number of options (or sometimes no options at all). -Once you have developed your payload, you are encouraged to contribute to this repository by submitting a Pull Request. Reviewed and Approved pull requests will add your payload to this repository, where they may be publicly available. +Payloads can be constructed of DuckyScript commands alone, or combined with the power of bash scripting and system commands to create fully custom, advanced actions. -Please adhere to the following best practices and style guide when submitting a payload. +The files in this repository are _the source code_ for your payloads and run _directly on the device_ **no compilation required** - simply place your `payload.txt` in the appropriate directory and you're ready to go! -Hak5 reserves the right to modify payloads to meet the guidelines when necessary, or to decline to include a payload in the public repository. +

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 +

-Please ensure that any default configuration values do not point to actual services! Do not include *your* passwords or login information in submitted payloads! -### Naming Conventions +

Hak5 Cloud C²

+Cloud C² makes it easy for pen testers and IT security teams to deploy and manage fleets of Hak5 gear from a simple cloud dashboard. -Please give your payload a unique and descriptive name. Do not use spaces in payload names. Each payload should be placed into its own directory, with `-` or `_` used in place of spaces, in one of the categories such as exfiltration, phishing, remote_access or recon. Please do not create your own category. +Cloud C² is available as an instant download. **A free license for Community Edition is available which is not for commercial use and comes with community support.** +The **Professional** and **Teams Editions** are for commercial use with standard support. +

+ +
+ Hak5 Cloud C² Web Interface +

+ +Cloud C² is a **self-hosted** web-based command and control suite for networked Hak5 gear that lets you **pentest from anywhere.** + +Linux, Mac and Windows computers can host the Cloud C² server while Hak5 gear such as the WiFi Pineapple, LAN Turtle and Packet Squirrel can be provisioned as clients. + +Once you have the Cloud C² server running on a public-facing machine (such as a VPS) and the Hak5 devices are provisioned and deployed, you can login to the Cloud C² web interface to manage these devices as if you were directly connected. + +With multiple Hak5 devices deployed at a client site, aggregated data provides a big picture view of the wired and wireless environments. + +

+ +
+ Hak5 Cloud C² Web Interface - Teams Edition - Sites +

+ +Hak5 Cloud C² Teams edition comes full of features designed to help you manage **all** of your remote Hak5 devices with ease: + - Multi-User + - Multi-Site + - Role-Based Access Control + - Advanced Auditing + - Tunneling Services including web Terminal and WiFi Pineapple web interface proxy + +Learn More + +

Contributing

+ +

+ +
+View Featured Payloads and Leaderboard +

+ + +Once you have developed your payload, you are encouraged to contribute to this repository by submitting a Pull Request. Reviewed and Approved pull requests will add your payload to this repository, where they may be publically available. + +# Please adhere to the following best practices and style guides when submitting a payload. + +### Purely destructive or invasive payloads will not be accepted. No, it's not "just a prank". + +Payloads should be submitted to the most appropriate category directory, such as exfiltration, interception, recon, sniffing, etc. + +Subject to change. Please ensure any submissions meet the [latest version](https://github.com/hak5/packetsquirrel-payloads/blob/master/README.md) of these standards before submitting a Pull Request. + +## Naming Conventions + +Please give your payload a unique, descriptive and appropriate name. Do not use spaces in payload, directory or file names. Each payload should be submit into its own directory, with `-` or `_` used in place of spaces, to one of the categories such as exfiltration, interception, sniffing, or recon. Do not create your own category. The payload itself should be named `payload`. Additional files and documentation can be included in the payload directory. Documentation should be in `README.md` or `README.txt`. -### Comments +## Payload Configuration + +In many cases, payloads will require some level of configuration by the end payload user. Be sure to take the following into careful consideration to ensure your payload is easily tested, used and maintained. + +- Remember to use PLACEHOLDERS for configurable portions of your payload - do not share your personal URLs, API keys, Passphrases, etc... +- Do not leave defaults that point at live services +- Make note of both required and optional configuration(s) in your payload using comments at the top of your payload or "inline" where applicable + +## Payload Format Payloads should begin with comments specifying at the very least the name of the payload and author. Additional information such as a brief description, the target, any dependencies / prerequisites and the LED status used is helpful. - # Title: Meterpreter-via-SSH - # Description: Covert meterpreter shell via overt SSH connection - # Author: Zappus + # Title: Example payload + # Description: Example payload with configuration options + # Author: Hak5 # Version: 1.0 # Category: Remote-Access # Net Mode: NAT - # Firmware: 1.2 # # LED State Descriptions # Magenta Solid - Configuring NETMODE # LED OFF - Waiting for BUTTON - # Red Blink 2 Times - SSH Connection Failed - # Amber Blink 5 Times - SSH Connection Successful - # Red Blink 1 Time - Meterpreter Failed - # Cyan Blink 1 Time - Meterpreter Successful + # Red Blink 2 Times - Connection Failed + # Amber Blink 5 Times - Connection Successful + # Red Blink 1 Time - Command Failed + # Cyan Blink 1 Time - Command Successful ### Configuration Options -Configurable options should be specified in variables at the top of the payload.txt file +Configurable options should be specified in variables at the top of the payload file: # Options SSH_USER="username" SSH_HOST="hostname" - MSF_PORT=31337 + PORT=31337 + +### NETMODE + +All payloads should include a `NETMODE` command to set the Packet Squirrel to a useful network mode. + +When in doubt, `NETMODE NAT` is a reasonable default. ### LED @@ -94,3 +250,17 @@ The payload should use common payload states rather than unique color/pattern co Common payload states include a `SETUP`, with may include a `FAIL` if certain conditions are not met. This is typically followed by either a single `ATTACK` or multiple `STAGEs`. More complex payloads may include a `SPECIAL` function to wait until certain conditions are met. Payloads commonly end with a `CLEANUP` phase, such as moving and deleting files or stopping services. A payload may `FINISH` when the objective is complete and the device is safe to eject or turn off. These common payload states correspond to `LED` states. + +

Legal

+ +Payloads from this repository are provided for educational purposes only. Hak5 gear is intended for authorized auditing and security analysis purposes only where permitted subject to local and international laws where applicable. Users are solely responsible for compliance with all laws of their locality. Hak5 LLC and affiliates claim no responsibility for unauthorized or unlawful use. + +DuckyScript is a trademark of Hak5 LLC. Copyright © 2010 Hak5 LLC. All rights reserved. No part of this work may be reproduced or transmitted in any form or by any means without prior written permission from the copyright owner. +Packet Squirrel and DuckyScript are subject to the Hak5 license agreement (https://hak5.org/license) +DuckyScript is the intellectual property of Hak5 LLC for the sole benefit of Hak5 LLC and its licensees. To inquire about obtaining a license to use this material in your own project, contact us. Please report counterfeits and brand abuse to legal@hak5.org. +This material is for education, authorized auditing and analysis purposes where permitted subject to local and international laws. Users are solely responsible for compliance. Hak5 LLC claims no responsibility for unauthorized or unlawful use. +Hak5 LLC products and technology are only available to BIS recognized license exception ENC favorable treatment countries pursuant to US 15 CFR Supplement No 3 to Part 740. + +# Disclaimer +Generally, payloads may execute commands on your device. As such, it is possible for a payload to damage your device. Payloads from this repository are provided AS-IS without warranty. While Hak5 makes a best effort to review payloads, there are no guarantees as to their effectiveness. As with any script, you are advised to proceed with caution. +