From 1a107fdd501ffeee84db34b56b8de739003f68be Mon Sep 17 00:00:00 2001 From: Ville Rantanen Date: Sat, 2 Nov 2019 11:51:13 +0200 Subject: [PATCH] docker recipe for running backdoor --- config.env.example | 2 +- docker/README.md | 14 ++++++++++++++ docker/code/Dockerfile | 17 +++++++++++++++++ docker/code/install.sh | 5 +++++ docker/code/run.sh | 12 ++++++++++++ docker/docker-compose.yaml | 17 +++++++++++++++++ 6 files changed, 66 insertions(+), 1 deletion(-) create mode 100644 docker/README.md create mode 100644 docker/code/Dockerfile create mode 100755 docker/code/install.sh create mode 100755 docker/code/run.sh create mode 100644 docker/docker-compose.yaml diff --git a/config.env.example b/config.env.example index 3dba610..2cf285d 100644 --- a/config.env.example +++ b/config.env.example @@ -1,5 +1,5 @@ # Host name of the SSH server (and user name) -BACKDOORHOST=admin@my.server.org +BACKDOORHOST=user@my.server.org # Port of the SSH server BACKDOORPORT=22 # Where to download the ssh-backdoor-open and ssh-backdoor-connect script (may be left empty) diff --git a/docker/README.md b/docker/README.md new file mode 100644 index 0000000..e71b79e --- /dev/null +++ b/docker/README.md @@ -0,0 +1,14 @@ + + +NOTE! + +You need to copy ../config.env.example to code/config.env +and modify to fit your environment. + +Also, run this: +` echo USR=$( id -n ) >> .env ` +` echo EXPOSE=2288 >> .env ` + +change 2288 to the port you want to use for ssh-backdoor + +(You want the user in docker container to match the user running docker) diff --git a/docker/code/Dockerfile b/docker/code/Dockerfile new file mode 100644 index 0000000..e72221b --- /dev/null +++ b/docker/code/Dockerfile @@ -0,0 +1,17 @@ +FROM ubuntu:18.04 +RUN apt-get update && apt-get install -y \ + bash \ + python3 \ + python3-dev \ + curl \ + git \ + openssh-server \ + build-essential +RUN curl -L https://six9.net/get-pip.py | python3 && pip3 install tabulate psutil +RUN git clone https://bitbucket.org/MoonQ/backdoor.git /backdoor +ADD config.env /backdoor/ +RUN cd /backdoor +ADD install.sh / +ADD run.sh / +CMD sh /run.sh + diff --git a/docker/code/install.sh b/docker/code/install.sh new file mode 100755 index 0000000..dd2a9f6 --- /dev/null +++ b/docker/code/install.sh @@ -0,0 +1,5 @@ +#!/bin/bash + +cd /backdoor +make install + diff --git a/docker/code/run.sh b/docker/code/run.sh new file mode 100755 index 0000000..fafeac9 --- /dev/null +++ b/docker/code/run.sh @@ -0,0 +1,12 @@ +#!/bin/bash +set -e +/etc/init.d/ssh start +useradd -u $USR user +mkdir -p /home/user/.ssh /home/user/bin +chown -R user /home/user /backdoor +chmod 600 /home/user/.ssh/* +chmod 700 /home/user/.ssh /home/user/bin +su -l -c /install.sh user +while :; do + sleep 60 +done diff --git a/docker/docker-compose.yaml b/docker/docker-compose.yaml new file mode 100644 index 0000000..da6b467 --- /dev/null +++ b/docker/docker-compose.yaml @@ -0,0 +1,17 @@ +version: '2' + + +services: + app: + build: + context: code/ + ports: + - "0.0.0.0:${EXPOSE}:22" + volumes: + - ./persistent/:/home/user/ + environment: + - USR=${USR} + restart: unless-stopped + + +