Codebase list poshc2 / 06a953b resources / scripts / posh-docker
06a953b

Tree @06a953b (Download .tar.gz)

posh-docker @06a953braw · history · blame

#!/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 <docker-image-tag> -u <username>"
    echo ""
    echo "Default Docker tag is latest (master)"
}

DOCKER_TAG="latest"
USER=""

while getopts "h?t:u:" opt; do
    case "$opt" in
    h|\?)
        show_help
        exit 0
        ;;
    t)  DOCKER_TAG="$OPTARG"
        ;;
    u) USER="$OPTARG"
        ;;
    esac
done

if [ ! -z "$USER" ]; then
    sudo -E docker run -ti -l posh-client --rm -v "$POSH_PROJECTS_DIR:$DOCKER_POSH_PROJECTS_DIR" "$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" "$DOCKER_IMAGE_NAME":"$DOCKER_TAG" /usr/local/bin/posh
fi