mirror of
https://github.com/telekom-security/tpotce.git
synced 2025-10-29 03:22:54 +00:00
Compare commits
7 commits
b852c061ce
...
53127cdd6a
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
53127cdd6a | ||
|
|
cc9c1d95ce | ||
|
|
5ece0ee435 | ||
|
|
e9d80607c3 | ||
|
|
e46942674b | ||
|
|
8dafef2857 | ||
|
|
50beeef63a |
8 changed files with 345 additions and 88 deletions
|
|
@ -326,8 +326,8 @@ Once you are familiar with how things work you should choose a network you suspe
|
||||||
| Distribution Name | x64 | arm64 |
|
| Distribution Name | x64 | arm64 |
|
||||||
| :--------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------ | :-------------------------------------------------------------------------------------------------------------------------------------- |
|
| :--------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------ | :-------------------------------------------------------------------------------------------------------------------------------------- |
|
||||||
| [Alma Linux OS 9.5 Boot ISO](https://almalinux.org) | [download](https://repo.almalinux.org/almalinux/9.5/isos/x86_64/AlmaLinux-9.5-x86_64-boot.iso) | [download](https://repo.almalinux.org/almalinux/9.5/isos/aarch64/AlmaLinux-9.5-aarch64-boot.iso) |
|
| [Alma Linux OS 9.5 Boot ISO](https://almalinux.org) | [download](https://repo.almalinux.org/almalinux/9.5/isos/x86_64/AlmaLinux-9.5-x86_64-boot.iso) | [download](https://repo.almalinux.org/almalinux/9.5/isos/aarch64/AlmaLinux-9.5-aarch64-boot.iso) |
|
||||||
| [Debian 12 Network Install](https://www.debian.org/CD/netinst/index.en.html) | [download](https://cdimage.debian.org/debian-cd/current/amd64/iso-cd/debian-12.9.0-amd64-netinst.iso) | [download](https://cdimage.debian.org/debian-cd/current/arm64/iso-cd/debian-12.9.0-arm64-netinst.iso) |
|
| [Debian 12 Network Install](https://www.debian.org/CD/netinst/index.en.html) | [download](https://cdimage.debian.org/debian-cd/current/amd64/iso-cd/debian-12.10.0-amd64-netinst.iso) | [download](https://cdimage.debian.org/debian-cd/current/arm64/iso-cd/debian-12.10.0-arm64-netinst.iso) |
|
||||||
| [Fedora Server 41 Network Install](https://fedoraproject.org/server/download) | [download](https://download.fedoraproject.org/pub/fedora/linux/releases/41/Server/x86_64/iso/Fedora-Server-netinst-x86_64-41-1.4.iso) | [download](https://download.fedoraproject.org/pub/fedora/linux/releases/41/Server/aarch64/iso/Fedora-Server-netinst-aarch64-41-1.4.iso) |
|
| [Fedora Server 42 Network Install](https://fedoraproject.org/server/download) | [download](https://download.fedoraproject.org/pub/fedora/linux/releases/42/Server/x86_64/iso/Fedora-Server-netinst-x86_64-42-1.1.iso) | [download](https://download.fedoraproject.org/pub/fedora/linux/releases/42/Server/aarch64/iso/Fedora-Server-netinst-aarch64-42-1.1.iso) |
|
||||||
| [OpenSuse Tumbleweed Network Image](https://get.opensuse.org/tumbleweed/#download) | [download](https://download.opensuse.org/tumbleweed/iso/openSUSE-Tumbleweed-NET-x86_64-Current.iso) | [download](https://download.opensuse.org/ports/aarch64/tumbleweed/iso/openSUSE-Tumbleweed-NET-aarch64-Current.iso) |
|
| [OpenSuse Tumbleweed Network Image](https://get.opensuse.org/tumbleweed/#download) | [download](https://download.opensuse.org/tumbleweed/iso/openSUSE-Tumbleweed-NET-x86_64-Current.iso) | [download](https://download.opensuse.org/ports/aarch64/tumbleweed/iso/openSUSE-Tumbleweed-NET-aarch64-Current.iso) |
|
||||||
| [Rocky Linux OS 9.5 Boot ISO](https://rockylinux.org/download) | [download](https://download.rockylinux.org/pub/rocky/9/isos/x86_64/Rocky-9.5-x86_64-minimal.iso) | [download](https://download.rockylinux.org/pub/rocky/9/isos/aarch64/Rocky-9.5-aarch64-minimal.iso) |
|
| [Rocky Linux OS 9.5 Boot ISO](https://rockylinux.org/download) | [download](https://download.rockylinux.org/pub/rocky/9/isos/x86_64/Rocky-9.5-x86_64-minimal.iso) | [download](https://download.rockylinux.org/pub/rocky/9/isos/aarch64/Rocky-9.5-aarch64-minimal.iso) |
|
||||||
| [Ubuntu 24.04.1 Live Server](https://ubuntu.com/download/server) | [download](https://releases.ubuntu.com/24.04/ubuntu-24.04.1-live-server-amd64.iso) | [download](https://cdimage.ubuntu.com/releases/24.04/release/ubuntu-24.04.1-live-server-arm64.iso) |
|
| [Ubuntu 24.04.1 Live Server](https://ubuntu.com/download/server) | [download](https://releases.ubuntu.com/24.04/ubuntu-24.04.1-live-server-amd64.iso) | [download](https://cdimage.ubuntu.com/releases/24.04/release/ubuntu-24.04.1-live-server-arm64.iso) |
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
FROM ubuntu:24.04
|
FROM ubuntu:24.04
|
||||||
ENV DEBIAN_FRONTEND noninteractive
|
ENV DEBIAN_FRONTEND noninteractive
|
||||||
ENV ES_VER=8.17.3
|
ENV ES_VER=8.17.5
|
||||||
#
|
#
|
||||||
# Include dist
|
# Include dist
|
||||||
COPY dist/ /root/dist/
|
COPY dist/ /root/dist/
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
FROM node:20.18.2-alpine3.20
|
FROM node:20.18.2-alpine3.20
|
||||||
ENV KB_VER=8.17.3
|
ENV KB_VER=8.17.5
|
||||||
#
|
#
|
||||||
# Include dist
|
# Include dist
|
||||||
COPY dist/ /root/dist/
|
COPY dist/ /root/dist/
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
FROM ubuntu:24.04
|
FROM ubuntu:24.04
|
||||||
ENV DEBIAN_FRONTEND=noninteractive
|
ENV DEBIAN_FRONTEND=noninteractive
|
||||||
ENV LS_VER=8.17.3
|
ENV LS_VER=8.17.5
|
||||||
#
|
#
|
||||||
# Include dist
|
# Include dist
|
||||||
COPY dist/ /root/dist/
|
COPY dist/ /root/dist/
|
||||||
|
|
|
||||||
|
|
@ -33,8 +33,8 @@ RUN apk --no-cache -U upgrade && \
|
||||||
xmljson && \
|
xmljson && \
|
||||||
#
|
#
|
||||||
# Setup ewsposter
|
# Setup ewsposter
|
||||||
# git clone https://github.com/telekom-security/ewsposter -b V1.30.0 /opt/ewsposter && \
|
git clone https://github.com/telekom-security/ewsposter /opt/ewsposter && \
|
||||||
git clone https://github.com/telekom-security/ewsposter /opt/ewsposter && \
|
# git clone https://github.com/telekom-security/ewsposter -b v1.32 /opt/ewsposter && \
|
||||||
mkdir -p /opt/ewsposter/spool /opt/ewsposter/log && \
|
mkdir -p /opt/ewsposter/spool /opt/ewsposter/log && \
|
||||||
#
|
#
|
||||||
# Setup user and groups
|
# Setup user and groups
|
||||||
|
|
|
||||||
16
docker/ewsposter/dist/ews.cfg
vendored
16
docker/ewsposter/dist/ews.cfg
vendored
|
|
@ -51,7 +51,7 @@ logfile = /data/adbhoney/log/adbhoney.json
|
||||||
malwaredir = /data/adbhoney/downloads
|
malwaredir = /data/adbhoney/downloads
|
||||||
|
|
||||||
[BEELZEBUB]
|
[BEELZEBUB]
|
||||||
beelzebub = false
|
beelzebub = true
|
||||||
nodeid = beelzebub-community-01
|
nodeid = beelzebub-community-01
|
||||||
logfile = /data/beelzebub/log/beelzebub.json
|
logfile = /data/beelzebub/log/beelzebub.json
|
||||||
|
|
||||||
|
|
@ -101,11 +101,6 @@ endlessh = true
|
||||||
nodeid = endlessh-community-01
|
nodeid = endlessh-community-01
|
||||||
logfile = /data/endlessh/log/endlessh.log
|
logfile = /data/endlessh/log/endlessh.log
|
||||||
|
|
||||||
[FATT]
|
|
||||||
fatt = false
|
|
||||||
nodeid = fatt-community-01
|
|
||||||
logfile = /data/fatt/log/fatt.log
|
|
||||||
|
|
||||||
[GALAH]
|
[GALAH]
|
||||||
galah = true
|
galah = true
|
||||||
nodeid = galah-community-01
|
nodeid = galah-community-01
|
||||||
|
|
@ -122,7 +117,7 @@ nodeid = gopot-community-01
|
||||||
logfile = /data/go-pot/log/go-pot.json
|
logfile = /data/go-pot/log/go-pot.json
|
||||||
|
|
||||||
[H0NEYTR4P]
|
[H0NEYTR4P]
|
||||||
h0neytr4p = false
|
h0neytr4p = true
|
||||||
nodeid = h0neytr4p-community-01
|
nodeid = h0neytr4p-community-01
|
||||||
logfile = /data/h0neytr4p/log/log.json
|
logfile = /data/h0neytr4p/log/log.json
|
||||||
payloaddir = /data/h04neytr4p/payload
|
payloaddir = /data/h04neytr4p/payload
|
||||||
|
|
@ -189,11 +184,6 @@ sentrypeer = true
|
||||||
nodeid = sentrypeer-community-01
|
nodeid = sentrypeer-community-01
|
||||||
logfile = /data/sentrypeer/log/sentrypeer.json
|
logfile = /data/sentrypeer/log/sentrypeer.json
|
||||||
|
|
||||||
[SURICATA]
|
|
||||||
suricata = false
|
|
||||||
nodeid = suricata-community-01
|
|
||||||
logfile = /data/suricata/log/eve.json
|
|
||||||
|
|
||||||
[TANNER]
|
[TANNER]
|
||||||
tanner = true
|
tanner = true
|
||||||
nodeid = tanner-community-01
|
nodeid = tanner-community-01
|
||||||
|
|
@ -202,4 +192,4 @@ logfile = /data/tanner/log/tanner_report.json
|
||||||
[WORDPOT]
|
[WORDPOT]
|
||||||
wordpot = true
|
wordpot = true
|
||||||
nodeid = wordpot-community-01
|
nodeid = wordpot-community-01
|
||||||
logfile = /data/wordpot/log/wordpot.log
|
logfile = /data/wordpot/log/wordpot.log
|
||||||
|
|
|
||||||
205
docker/ewsposter/dist/ews.cfg.backup
vendored
Normal file
205
docker/ewsposter/dist/ews.cfg.backup
vendored
Normal file
|
|
@ -0,0 +1,205 @@
|
||||||
|
[MAIN]
|
||||||
|
homedir = /opt/ewsposter/
|
||||||
|
spooldir = /opt/ewsposter/spool/
|
||||||
|
logdir = /opt/ewsposter/log/
|
||||||
|
del_malware_after_send = false
|
||||||
|
send_malware = false
|
||||||
|
sendlimit = 5000
|
||||||
|
contact = your_email_address
|
||||||
|
proxy = None
|
||||||
|
ip_int = None
|
||||||
|
ip_ext = None
|
||||||
|
|
||||||
|
[EWS]
|
||||||
|
ews = true
|
||||||
|
username = community-01-user
|
||||||
|
token = foth{a5maiCee8fineu7
|
||||||
|
rhost_first = https://community.sicherheitstacho.eu/ews-0.1/alert/postSimpleMessage
|
||||||
|
rhost_second = https://community.sicherheitstacho.eu/ews-0.1/alert/postSimpleMessage
|
||||||
|
ignorecert = false
|
||||||
|
|
||||||
|
[HPFEED]
|
||||||
|
hpfeed = %(EWS_HPFEEDS_ENABLE)s
|
||||||
|
host = %(EWS_HPFEEDS_HOST)s
|
||||||
|
port = %(EWS_HPFEEDS_PORT)s
|
||||||
|
channels = %(EWS_HPFEEDS_CHANNELS)s
|
||||||
|
ident = %(EWS_HPFEEDS_IDENT)s
|
||||||
|
secret= %(EWS_HPFEEDS_SECRET)s
|
||||||
|
# path/to/certificate for tls broker - or "false" for non-tls broker
|
||||||
|
tlscert = %(EWS_HPFEEDS_TLSCERT)s
|
||||||
|
# hpfeeds submission format: "ews" (xml) or "json"
|
||||||
|
hpfformat = %(EWS_HPFEEDS_FORMAT)s
|
||||||
|
|
||||||
|
[EWSJSON]
|
||||||
|
json = false
|
||||||
|
jsondir = /data/ews/json/
|
||||||
|
|
||||||
|
[INFLUXDB]
|
||||||
|
influxdb = false
|
||||||
|
host = http://localhost
|
||||||
|
port = 8086
|
||||||
|
username = <your username for influx 1.8>
|
||||||
|
password = <your password for influx 1.8>
|
||||||
|
token = <your token for influx 2.0>
|
||||||
|
bucket = <your bucket/database for 2.0/1.8>
|
||||||
|
org = <your org for influx 2.0>
|
||||||
|
|
||||||
|
[ADBHONEY]
|
||||||
|
adbhoney = true
|
||||||
|
nodeid = adbhoney-community-01
|
||||||
|
logfile = /data/adbhoney/log/adbhoney.json
|
||||||
|
malwaredir = /data/adbhoney/downloads
|
||||||
|
|
||||||
|
[BEELZEBUB]
|
||||||
|
beelzebub = true
|
||||||
|
nodeid = beelzebub-community-01
|
||||||
|
logfile = /data/beelzebub/log/beelzebub.json
|
||||||
|
|
||||||
|
[CISCOASA]
|
||||||
|
ciscoasa = true
|
||||||
|
nodeid = ciscoasa-community-01
|
||||||
|
logfile = /data/ciscoasa/log/ciscoasa.log
|
||||||
|
|
||||||
|
[CITRIX]
|
||||||
|
citrix = true
|
||||||
|
nodeid = citrix-community-01
|
||||||
|
logfile = /data/citrixhoneypot/logs/server.log
|
||||||
|
|
||||||
|
[CONPOT]
|
||||||
|
conpot = true
|
||||||
|
nodeid = conpot-community-01
|
||||||
|
logdir = /data/conpot/log
|
||||||
|
|
||||||
|
[COWRIE]
|
||||||
|
cowrie = true
|
||||||
|
nodeid = cowrie-community-01
|
||||||
|
logfile = /data/cowrie/log/cowrie.json
|
||||||
|
|
||||||
|
[DDOSPOT]
|
||||||
|
ddospot = true
|
||||||
|
nodeid = ddospot-community-01
|
||||||
|
logdir = /data/ddospot/log
|
||||||
|
|
||||||
|
[DICOMPOT]
|
||||||
|
dicompot = true
|
||||||
|
nodeid = dicompot-community-01
|
||||||
|
logfile = /data/dicompot/log/dicompot.log
|
||||||
|
|
||||||
|
[DIONAEA]
|
||||||
|
dionaea = true
|
||||||
|
nodeid = dionaea-community-01
|
||||||
|
malwaredir = /data/dionaea/binaries/
|
||||||
|
sqlitedb = /data/dionaea/log/dionaea.sqlite
|
||||||
|
|
||||||
|
[ELASTICPOT]
|
||||||
|
elasticpot = true
|
||||||
|
nodeid = elasticpot-community-01
|
||||||
|
logfile = /data/elasticpot/log/elasticpot.json
|
||||||
|
|
||||||
|
[ENDLESSH]
|
||||||
|
endlessh = true
|
||||||
|
nodeid = endlessh-community-01
|
||||||
|
logfile = /data/endlessh/log/endlessh.log
|
||||||
|
|
||||||
|
[FATT]
|
||||||
|
fatt = false
|
||||||
|
nodeid = fatt-community-01
|
||||||
|
logfile = /data/fatt/log/fatt.log
|
||||||
|
|
||||||
|
[GALAH]
|
||||||
|
galah = true
|
||||||
|
nodeid = galah-community-01
|
||||||
|
logfile = /data/galah/log/galah.json
|
||||||
|
|
||||||
|
[GLUTTON]
|
||||||
|
glutton = true
|
||||||
|
nodeid = glutton-community-01
|
||||||
|
logfile = /data/glutton/log/glutton.log
|
||||||
|
|
||||||
|
[GOPOT]
|
||||||
|
gopot = true
|
||||||
|
nodeid = gopot-community-01
|
||||||
|
logfile = /data/go-pot/log/go-pot.json
|
||||||
|
|
||||||
|
[H0NEYTR4P]
|
||||||
|
h0neytr4p = true
|
||||||
|
nodeid = h0neytr4p-community-01
|
||||||
|
logfile = /data/h0neytr4p/log/log.json
|
||||||
|
payloaddir = /data/h04neytr4p/payload
|
||||||
|
|
||||||
|
[HELLPOT]
|
||||||
|
hellpot = true
|
||||||
|
nodeid = hellpot-community-01
|
||||||
|
logfile = /data/hellpot/log/hellpot.log
|
||||||
|
|
||||||
|
[HERALDING]
|
||||||
|
heralding = true
|
||||||
|
nodeid = heralding-community-01
|
||||||
|
logfile = /data/heralding/log/auth.csv
|
||||||
|
|
||||||
|
[HONEYAML]
|
||||||
|
honeyaml = true
|
||||||
|
nodeid = honeyaml-community-01
|
||||||
|
logfile = /data/honeyaml/log/honeyaml.log
|
||||||
|
|
||||||
|
[HONEYPOTS]
|
||||||
|
honeypots = true
|
||||||
|
nodeid = honeypots-community-01
|
||||||
|
logdir = /data/honeypots/log
|
||||||
|
|
||||||
|
[HONEYTRAP]
|
||||||
|
honeytrap = true
|
||||||
|
nodeid = honeytrap-community-01
|
||||||
|
newversion = true
|
||||||
|
payloaddir = /data/honeytrap/attacks/
|
||||||
|
attackerfile = /data/honeytrap/log/attacker.log
|
||||||
|
|
||||||
|
[IPPHONEY]
|
||||||
|
ipphoney = true
|
||||||
|
nodeid = ipphoney-community-01
|
||||||
|
logfile = /data/ipphoney/log/ipphoney.json
|
||||||
|
|
||||||
|
[LOG4POT]
|
||||||
|
log4pot = true
|
||||||
|
nodeid = log4pot-community-01
|
||||||
|
logfile = /data/log4pot/log/log4pot.log
|
||||||
|
|
||||||
|
[MAILONEY]
|
||||||
|
mailoney = true
|
||||||
|
nodeid = mailoney-community-01
|
||||||
|
logfile = /data/mailoney/log/commands.log
|
||||||
|
|
||||||
|
[MEDPOT]
|
||||||
|
medpot = true
|
||||||
|
nodeid = medpot-community-01
|
||||||
|
logfile = /data/medpot/log/medpot.log
|
||||||
|
|
||||||
|
[MINIPRINT]
|
||||||
|
miniprint = true
|
||||||
|
nodeid = miniprint-community-01
|
||||||
|
logfile = /data/miniprint/log/miniprint.json
|
||||||
|
|
||||||
|
[REDISHONEYPOT]
|
||||||
|
redishoneypot = true
|
||||||
|
nodeid = redishoneypot-community-01
|
||||||
|
logfile = /data/redishoneypot/log/redishoneypot.log
|
||||||
|
|
||||||
|
[SENTRYPEER]
|
||||||
|
sentrypeer = true
|
||||||
|
nodeid = sentrypeer-community-01
|
||||||
|
logfile = /data/sentrypeer/log/sentrypeer.json
|
||||||
|
|
||||||
|
[SURICATA]
|
||||||
|
suricata = false
|
||||||
|
nodeid = suricata-community-01
|
||||||
|
logfile = /data/suricata/log/eve.json
|
||||||
|
|
||||||
|
[TANNER]
|
||||||
|
tanner = true
|
||||||
|
nodeid = tanner-community-01
|
||||||
|
logfile = /data/tanner/log/tanner_report.json
|
||||||
|
|
||||||
|
[WORDPOT]
|
||||||
|
wordpot = true
|
||||||
|
nodeid = wordpot-community-01
|
||||||
|
logfile = /data/wordpot/log/wordpot.log
|
||||||
198
install.sh
198
install.sh
|
|
@ -1,5 +1,67 @@
|
||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
|
||||||
|
print_help() {
|
||||||
|
echo "Usage: $0 [-s y|n] [-t h|s|l|i|m|t] -u <webuser name> -p <password for web user>"
|
||||||
|
echo " -s: yes or no (optional)"
|
||||||
|
echo " -t: h (host),s (sensor), l (llm), i(mini),m(mobile),t(tarpit) (optional)"
|
||||||
|
echo " -u: web username (optional)"
|
||||||
|
echo " -p: password for web user (optional)"
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
|
||||||
|
validate_s() {
|
||||||
|
if [[ -n "$myQST" ]]; then
|
||||||
|
if [[ "$myQST" =~ ^[yYnN]$ ]]; then
|
||||||
|
return 1 # Valid
|
||||||
|
else
|
||||||
|
print_help
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
print_help
|
||||||
|
fi
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
validate_t() {
|
||||||
|
if [[ -n "$myTPOT_TYPE" ]]; then
|
||||||
|
if [[ "$myTPOT_TYPE" =~ ^[hslimtHSLIMT]$ ]]; then
|
||||||
|
return 1 # Valid
|
||||||
|
else
|
||||||
|
print_help
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
print_help
|
||||||
|
fi
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
while getopts ":s:t:u:p:" opt; do
|
||||||
|
case "$opt" in
|
||||||
|
s)
|
||||||
|
myQST="${OPTARG}"
|
||||||
|
validate_s
|
||||||
|
;;
|
||||||
|
t)
|
||||||
|
myTPOT_TYPE="${OPTARG}"
|
||||||
|
validate_t
|
||||||
|
;;
|
||||||
|
u)
|
||||||
|
export myWEB_USER="${OPTARG}"
|
||||||
|
;;
|
||||||
|
p)
|
||||||
|
export myWEB_PW="${OPTARG}"
|
||||||
|
;;
|
||||||
|
:)
|
||||||
|
echo "Option -${OPTARG} requires an argument."
|
||||||
|
print_help
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
\?)
|
||||||
|
print_help
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
myINSTALL_NOTIFICATION="### Now installing required packages ..."
|
myINSTALL_NOTIFICATION="### Now installing required packages ..."
|
||||||
myUSER=$(whoami)
|
myUSER=$(whoami)
|
||||||
myTPOT_CONF_FILE="/home/${myUSER}/tpotce/.env"
|
myTPOT_CONF_FILE="/home/${myUSER}/tpotce/.env"
|
||||||
|
|
@ -43,12 +105,13 @@ echo "$myINSTALLER"
|
||||||
echo
|
echo
|
||||||
echo
|
echo
|
||||||
echo "### This script will now install T-Pot and all of its dependencies."
|
echo "### This script will now install T-Pot and all of its dependencies."
|
||||||
while [ "${myQST}" != "y" ] && [ "${myQST}" != "n" ];
|
if [[ -z "$myQST" ]]; then
|
||||||
do
|
while [ "${myQST}" != "y" ] && [ "${myQST}" != "n" ]; do
|
||||||
echo
|
echo
|
||||||
read -p "### Install? (y/n) " myQST
|
read -p "### Install? (y/n) " myQST
|
||||||
echo
|
echo
|
||||||
done
|
done
|
||||||
|
fi
|
||||||
if [ "${myQST}" = "n" ];
|
if [ "${myQST}" = "n" ];
|
||||||
then
|
then
|
||||||
echo
|
echo
|
||||||
|
|
@ -183,7 +246,10 @@ echo "### Feed data endlessly to attackers, bots and scanners."
|
||||||
echo "### Also runs a Denial of Service Honeypot (ddospot)."
|
echo "### Also runs a Denial of Service Honeypot (ddospot)."
|
||||||
echo
|
echo
|
||||||
while true; do
|
while true; do
|
||||||
read -p "### Install Type? (h/s/l/i/m/t) " myTPOT_TYPE
|
if [[ -z "$myTPOT_TYPE" ]]; then
|
||||||
|
read -p "### Install Type? (h/s/l/i/m/t) " myTPOT_TYPE
|
||||||
|
fi
|
||||||
|
|
||||||
case "${myTPOT_TYPE}" in
|
case "${myTPOT_TYPE}" in
|
||||||
h|H)
|
h|H)
|
||||||
echo
|
echo
|
||||||
|
|
@ -234,75 +300,71 @@ done
|
||||||
if [ "${myTPOT_TYPE}" == "HIVE" ];
|
if [ "${myTPOT_TYPE}" == "HIVE" ];
|
||||||
# If T-Pot Type is HIVE ask for WebUI username and password
|
# If T-Pot Type is HIVE ask for WebUI username and password
|
||||||
then
|
then
|
||||||
# Preparing web user for T-Pot
|
# Preparing web user for T-Pot
|
||||||
echo
|
echo
|
||||||
echo "### T-Pot User Configuration ..."
|
echo "### T-Pot User Configuration ..."
|
||||||
echo
|
echo
|
||||||
# Asking for web user name
|
# Asking for web user name
|
||||||
myWEB_USER=""
|
if [[ -z "$myWEB_USER" ]]; then
|
||||||
while [ 1 != 2 ];
|
myWEB_USER=""
|
||||||
do
|
while [ 1 != 2 ]; do
|
||||||
myOK=""
|
myOK=""
|
||||||
read -rp "### Enter your web user name: " myWEB_USER
|
read -rp "### Enter your web user name: " myWEB_USER
|
||||||
myWEB_USER=$(echo $myWEB_USER | tr -cd "[:alnum:]_.-")
|
myWEB_USER=$(echo $myWEB_USER | tr -cd "[:alnum:]_.-")
|
||||||
echo "### Your username is: ${myWEB_USER}"
|
echo "### Your username is: ${myWEB_USER}"
|
||||||
while [[ ! "${myOK}" =~ [YyNn] ]];
|
while [[ ! "${myOK}" =~ [YyNn] ]]; do
|
||||||
do
|
read -rp "### Is this correct? (y/n) " myOK
|
||||||
read -rp "### Is this correct? (y/n) " myOK
|
done
|
||||||
done
|
if [[ "${myOK}" =~ [Yy] ]] && [ "$myWEB_USER" != "" ]; then
|
||||||
if [[ "${myOK}" =~ [Yy] ]] && [ "$myWEB_USER" != "" ];
|
break
|
||||||
then
|
else
|
||||||
break
|
echo
|
||||||
else
|
fi
|
||||||
echo
|
done
|
||||||
fi
|
fi
|
||||||
done
|
|
||||||
|
|
||||||
# Asking for web user password
|
# Asking for web user password
|
||||||
myWEB_PW="pass1"
|
if [[ -z "$myWEB_PW" ]]; then
|
||||||
myWEB_PW2="pass2"
|
myWEB_PW="pass1"
|
||||||
mySECURE=0
|
myWEB_PW2="pass2"
|
||||||
myOK=""
|
mySECURE=0
|
||||||
while [ "${myWEB_PW}" != "${myWEB_PW2}" ] && [ "${mySECURE}" == "0" ]
|
myOK=""
|
||||||
do
|
while [ "${myWEB_PW}" != "${myWEB_PW2}" ] && [ "${mySECURE}" == "0" ]; do
|
||||||
echo
|
echo
|
||||||
while [ "${myWEB_PW}" == "pass1" ] || [ "${myWEB_PW}" == "" ]
|
while [ "${myWEB_PW}" == "pass1" ] || [ "${myWEB_PW}" == "" ]; do
|
||||||
do
|
read -rsp "### Enter password for your web user: " myWEB_PW
|
||||||
read -rsp "### Enter password for your web user: " myWEB_PW
|
echo
|
||||||
echo
|
done
|
||||||
done
|
read -rsp "### Repeat password you your web user: " myWEB_PW2
|
||||||
read -rsp "### Repeat password you your web user: " myWEB_PW2
|
echo
|
||||||
echo
|
if [ "${myWEB_PW}" != "${myWEB_PW2}" ]; then
|
||||||
if [ "${myWEB_PW}" != "${myWEB_PW2}" ];
|
echo "### Passwords do not match."
|
||||||
then
|
myWEB_PW="pass1"
|
||||||
echo "### Passwords do not match."
|
myWEB_PW2="pass2"
|
||||||
myWEB_PW="pass1"
|
fi
|
||||||
myWEB_PW2="pass2"
|
mySECURE=$(printf "%s" "$myWEB_PW" | /usr/sbin/cracklib-check | grep -c "OK")
|
||||||
fi
|
if [ "$mySECURE" == "0" ] && [ "$myWEB_PW" == "$myWEB_PW2" ]; then
|
||||||
mySECURE=$(printf "%s" "$myWEB_PW" | /usr/sbin/cracklib-check | grep -c "OK")
|
while [[ ! "${myOK}" =~ [YyNn] ]]; do
|
||||||
if [ "$mySECURE" == "0" ] && [ "$myWEB_PW" == "$myWEB_PW2" ];
|
read -rp "### Keep insecure password? (y/n) " myOK
|
||||||
then
|
done
|
||||||
while [[ ! "${myOK}" =~ [YyNn] ]];
|
if [[ "${myOK}" =~ [Nn] ]] || [ "$myWEB_PW" == "" ]; then
|
||||||
do
|
myWEB_PW="pass1"
|
||||||
read -rp "### Keep insecure password? (y/n) " myOK
|
myWEB_PW2="pass2"
|
||||||
done
|
mySECURE=0
|
||||||
if [[ "${myOK}" =~ [Nn] ]] || [ "$myWEB_PW" == "" ];
|
myOK=""
|
||||||
then
|
fi
|
||||||
myWEB_PW="pass1"
|
fi
|
||||||
myWEB_PW2="pass2"
|
done
|
||||||
mySECURE=0
|
fi
|
||||||
myOK=""
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
# Write username and password to T-Pot config file
|
|
||||||
echo "### Creating base64 encoded htpasswd username and password for T-Pot config file: ${myTPOT_CONF_FILE}"
|
# Write username and password to T-Pot config file
|
||||||
myWEB_USER_ENC=$(htpasswd -b -n "${myWEB_USER}" "${myWEB_PW}")
|
echo "### Creating base64 encoded htpasswd username and password for T-Pot config file: ${myTPOT_CONF_FILE}"
|
||||||
|
myWEB_USER_ENC=$(htpasswd -b -n "${myWEB_USER}" "${myWEB_PW}")
|
||||||
myWEB_USER_ENC_B64=$(echo -n "${myWEB_USER_ENC}" | base64 -w0)
|
myWEB_USER_ENC_B64=$(echo -n "${myWEB_USER_ENC}" | base64 -w0)
|
||||||
|
|
||||||
echo
|
echo
|
||||||
sed -i "s|^WEB_USER=.*|WEB_USER=${myWEB_USER_ENC_B64}|" ${myTPOT_CONF_FILE}
|
sed -i "s|^WEB_USER=.*|WEB_USER=${myWEB_USER_ENC_B64}|" ${myTPOT_CONF_FILE}
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Pull docker images
|
# Pull docker images
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue