#!/bin/bash source /usr/local/bin/_posh-common get_posh_projects_dir get_docker_posh_projects_dir get_docker_image_name show_help(){ echo "*** PoshC2 Docker Implant Handler ***" echo "Usage:" echo "posh -t -u " echo "" echo "Default Docker tag is latest (master)" } DOCKER_TAG="latest" USER="" DEV="" while getopts "h?t:u:d" opt; do case "$opt" in h|\?) show_help exit 0 ;; t) DOCKER_TAG="$OPTARG" ;; u) USER="$OPTARG" ;; d) DEV="-v /opt/PoshC2:/opt/PoshC2" ;; esac done if [ ! -z "$USER" ]; then sudo -E docker run -ti -l posh-client --rm -v "$POSH_PROJECTS_DIR:$DOCKER_POSH_PROJECTS_DIR" $DEV "$DOCKER_IMAGE_NAME":"$DOCKER_TAG" /usr/local/bin/posh -u "$USER" else sudo -E docker run -ti -l posh-client --rm -v "$POSH_PROJECTS_DIR:$DOCKER_POSH_PROJECTS_DIR" $DEV "$DOCKER_IMAGE_NAME":"$DOCKER_TAG" /usr/local/bin/posh fi