Payload installation on the Pineapple Pager is one of the areas which will see significant usability improvements in future firmware updates. Expect revisions to this process and this manual!

Downloading payloads

The official Hak5 payload repository is available at https://github.com/hak5/wifipineapplepager-payloads/tree/master

This includes Hak5 example scripts and community contributed payloads.

Payloads in the repository are organized into alert, recon, and user, with further sub-categories.

The payload repository can be cloned using standard git tools, or downloaded as a zip file containing all payloads in the repository.

Copying payloads to the device

If you download the payload repository using a computer (via git or zip), payloads can then be copied to the Pineapple Pager using the standard scp file copy tool. This is available as a command line tool on all major operating systems. There are also many graphical versions of scp, such as WinSCP for Windows platforms and FileZilla on macOS.

Copying via graphical tools

When connecting to the Pager, select the scp or sftp protocols. sftp is a variant of scp; legacy basic FTP is not supported.

Use the root user to log in, and the password that you created during setup.

The default root home directory - /root (or /mmc/root - they are the same location) - contains the payloads directory.

Copy payloads into the appropriate payloads directory and category.

Copying via Command Line

First, clone the git repository

  $ git clone https://github.com/hak5/wifipineapplepager-payloads.git
Cloning into 'wifipineapplepager-payloads'...
remote: Enumerating objects: 105, done.
remote: Counting objects: 100% (105/105), done.
remote: Compressing objects: 100% (56/56), done.
remote: Total 105 (delta 20), reused 45 (delta 9), pack-reused 0 (from 0)
Receiving objects: 100% (105/105), 23.79 KiB | 3.96 MiB/s, done.
Resolving deltas: 100% (20/20), done.
  

Next, we’ll copy one of the payloads.

  $ cd wifipineapplepager-payloads
$ scp -r library/alerts/pineapple_client_connected/example root@172.16.52.1:/root/payloads/alerts/pineapple_client_connected/
root@172.16.52.1's password: ******
payload.sh
  

Several things are going on in this command:

  1. We change directories to the git repository we cloned. This isn’t required, but makes it easier.
  2. We use the command-line scp tool.
  3. The -r argument tells scp to copy recursively. We need this because we are copying the entire payload directory.
  4. library/alerts/pineapple_client_connected/example is the payload we wish to copy.
  5. root@172.16.52.1 indicates the username (root) and address (172.16.52.1, the address of the Pager).
  6. The second half of the destination root@172.16.52.1:/root/payloads/alerts/pineapple_client_connected/ indicates where to place the files; in this case, we put the payload in the alerts/pineapple_client_connected directory.

Payload directories

When copying a payload to the Pager, remember that each payload consists of one or more files, such as payload.sh. Each payload should be a directory, and placed in the appropriate location for that payload: Alert payloads go in /root/payloads/alerts/, user payloads in /root/payloads/user/, and so on.

For example,

  payloads/
payloads/alerts
payloads/alerts/pineapple_client_connected
payloads/alerts/pineapple_client_connected/example
payloads/alerts/pineapple_client_connected/example/payload
  

If a payload does not appear in the payload list under Alerts or Payloads from the dashboard, make sure you have placed the payload in the proper location.