From e6402b793c901314321e048d0e9c69b0432e40bb Mon Sep 17 00:00:00 2001 From: t3chn0m4g3 Date: Fri, 2 Jul 2021 22:12:47 +0000 Subject: [PATCH] start including hellpot --- docker/hellpot/Dockerfile | 44 +++++++++++++++++++++++++++++++ docker/hellpot/dist/config.toml | 10 +++++++ docker/hellpot/dist/logger.go | 27 +++++++++++++++++++ docker/hellpot/docker-compose.yml | 20 ++++++++++++++ 4 files changed, 101 insertions(+) create mode 100644 docker/hellpot/Dockerfile create mode 100644 docker/hellpot/dist/config.toml create mode 100644 docker/hellpot/dist/logger.go create mode 100644 docker/hellpot/docker-compose.yml diff --git a/docker/hellpot/Dockerfile b/docker/hellpot/Dockerfile new file mode 100644 index 00000000..7058000b --- /dev/null +++ b/docker/hellpot/Dockerfile @@ -0,0 +1,44 @@ +FROM alpine:3.14 +# +# Include dist +ADD dist/ /root/dist/ +# +# Setup apk +RUN apk -U --no-cache add \ + build-base \ + git \ + go \ + g++ +# +# Setup go, hellpot +RUN cd /root && \ + export GOPATH=/opt/go/ && \ + mkdir -p /opt/go && \ + git clone https://github.com/yunginnanet/HellPot && \ + cd HellPot && \ + git checkout 97fe39bf2f9e03a9a23327c5401a5627e0c37f9a && \ + mv /root/dist/logger.go /root/HellPot/src/logger/ && \ + go mod download && \ + go install && \ + mkdir -p /opt/hellpot && \ + mv /opt/go/bin/HellPot /opt/hellpot/ && \ + mv /root/dist/config.toml /opt/hellpot && \ +# +# Setup user, groups and configs + addgroup -g 2000 hellpot && \ + adduser -S -s /bin/ash -u 2000 -D -g 2000 hellpot && \ + mkdir -p /var/log/hellpot && \ +# +# Clean up + apk del --purge build-base \ + git \ + go \ + g++ && \ + rm -rf /var/cache/apk/* \ + /opt/go \ + /root/dist +# +# Start hellpot +WORKDIR /opt/hellpot +USER hellpot:hellpot +CMD ["./HellPot"] diff --git a/docker/hellpot/dist/config.toml b/docker/hellpot/dist/config.toml new file mode 100644 index 00000000..77b04896 --- /dev/null +++ b/docker/hellpot/dist/config.toml @@ -0,0 +1,10 @@ +name = "HellPot 0.1" + +[http] + bind_addr = "0.0.0.0" + bind_port = "8080" + paths = ["wp-login.php","wp-login"] + +[logger] + debug = true + log_directory = "/var/log/hellpot/" diff --git a/docker/hellpot/dist/logger.go b/docker/hellpot/dist/logger.go new file mode 100644 index 00000000..d7baef80 --- /dev/null +++ b/docker/hellpot/dist/logger.go @@ -0,0 +1,27 @@ +package logger + +import ( + //"fmt" + "github.com/rs/zerolog" + //"github.com/rs/zerolog/log" + "github.com/yunginnanet/HellPot/src/config" + "os" +) + +var ( + logFile *os.File + err error +) + +var GlobalLogger zerolog.Logger + +func LogInit() { + if err := os.MkdirAll(config.LogDir, 0755); err != nil { + panic("cannot create log directory: " + config.LogDir + "(" + err.Error() + ")") + } + if logFile, err = os.OpenFile(config.LogDir+"hellpot.log", os.O_RDWR|os.O_CREATE|os.O_APPEND, 0666); err != nil { + panic("cannot create log file: " + err.Error()) + } + multi := zerolog.MultiLevelWriter(zerolog.ConsoleWriter{Out: os.Stderr}, logFile) + GlobalLogger = zerolog.New(multi).With().Timestamp().Logger() +} diff --git a/docker/hellpot/docker-compose.yml b/docker/hellpot/docker-compose.yml new file mode 100644 index 00000000..150520db --- /dev/null +++ b/docker/hellpot/docker-compose.yml @@ -0,0 +1,20 @@ +version: '2.3' + +networks: + hellpot_local: + +services: + +# hellpot service + hellpot: + build: . + container_name: hellpot + restart: always + networks: + - hellpot_local + ports: + - "80:8080" + image: "dtagdevsec/hellpot:2006" + read_only: true + volumes: + - /data/hellpot/log:/var/log/hellpot