Skip to main content

An offensive payload generator.

Project description

pop

pop is an offensive payload generator designed for portability, minimalism and efficiency. It is usable as a command-line tool, a Web application and a Discord app.

Note that, depending on the payload generator, some dependencies might have to be satisfied, first. For example, the rt-go module requires the go binary to be available.

Command-line tool

pip install popsh
pop -H

Heroku

Deployment to Heroku, whether for the web UI or the Discord applcation is quite simple. First, make sure you have an Heroku account and install the command-line tool locally. Then, simply create an app with the following command:

heroku apps:create

You'll be provided the randomly-generated identifier for the app. The app's publicly reachable URL will be https://APPID.herokuapp.com/.

Simple deployment (no dependencies)

When you're ready to deploy the app, simply move to the project's repository and run the following command.

# first time only
git remote add heroku https://git.heroku.com/$APPNAME.git

# if deploying the Discord app (+ Web UI).
. ./env.rc
sh ./tools/heroku-set-config.sh $APPNAME

# deploy the app
git push heroku main

Full deployment

To deploy the application with all modules available, first make sure that Docker is available and run the following commands.

# Fetch the existing image
docker pull registry.gitlab.com/pgregoire/pop:latest

# Re-tag the image for Heroku
docker tag registry.gitlab.com/pgregoire/pop:latest registry.heroku.com/$APPNAME/web

# Login to the Heroku image registry
docker login --username=_ --password=$(heroku auth:token) registry.heroku.com

# Push the image to Heroku
docker push registry.heroku.com/$APPNAME/web

# Deploy the image/app
heroku container:release web

Discord application

To make the application available to Discord users, you'll have to register the application with Discord and deploy the application where it will be publicly reachable.

Before proceeding, you need to have the publicly reachable URL of the app in hand. The Interactions endpoint URL for the Discord bot will be $URL/b/d.

Register a bot following the instructions at https://flask-discord-interactions.readthedocs.io/en/latest/botsetup.html

If you plan on using the project's scripts to deploy the app, set the following environment variables (they could be stored in env.rc for convenience).

DISCORD_CLIENT_ID='123456789012345678'
DISCORD_PUBLIC_KEY='123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0'
DISCORD_CLIENT_SECRET='xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
DISCORD_GUILD_ID='123456789012345678'

export DISCORD_CLIENT_ID
export DISCORD_PUBLIC_KEY
export DISCORD_CLIENT_SECRET
export DISCORD_GUILD_ID

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

popsh-1.0.3.tar.gz (38.5 kB view hashes)

Uploaded Source

Built Distribution

popsh-1.0.3-py3-none-any.whl (82.6 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page