🛜 T-Pot Mobile - The All In One Wireless Honeypot Solution 🍯
GPL-3.0 License
The idea for T-Pot Mobile started a couple of years back when T-Pot started to support the ARM64 architecture. Raspberry Pi hardware was hard to come by at reasonable prices so the journey took a little longer than anticipated. Started as a one-day-a-month project at work, it fastly turned into a weekend / evening project (winter was coming) and the first version was done in December. While already being an eye catcher the display was not bright enough, the resistive touchpanel and the resolution really did limit the possibilities. In consequence a new display had to be found that helped overcome the drawbacks. The Waveshare 4.3" capacitive display was great choice with a higher resolution. The case had to redesigned and the code had to be adjusted to work with a capacitive display. Quickly it was decided to make this available for everyone (once T-Pot 24.04 was released). I am very happy to share this project as Open Source, with a huge thanks to Telekom Security to make this possible. Cannot wait to see your prints, spins and forks!
T-Pot Mobile is developed specifically to make T-Pot a tangible, fully wireless honeypot supporting the following hardware components:
docker-compose.yml
specifically adjusted for this use case.The GUI has been developed using Pygame (Raspbian / Debian Bookworm is fully supported and required).
tsec
and the WiFi settings for your local network (adjustments of the Wifi settings are described here)env bash -c "$(curl -sL https://github.com/telekom-security/tpotmobile/raw/main/install.sh)"
Boot the machine, SSH into Raspbian on tcp/22
, run the following commands and follow the installer:
sudo apt install git
git clone https://github.com/telekom-security/tpotmobile
cd tpotmobile
bash install.sh
The install.sh
script will also install T-Pot. When the installer asks for a T-Pot type, please choose (M)obile
in order to download the correct docker images.
Then sudo reboot
the machine, please notice after the reboot SSH will only be available via tcp/64295
.
It takes about 8 minutes until all services are started successfully after installation.
internet.t-d1.de
.q
to exit the GUI.tsec
and the password you chose./etc/systemd/system
are the T-Pot systemd service files tpot.service
and tpotdisplay.service
located. While tpot.service
does control the T-Pot services tpotdisplay.service
controls the T-Pot Mobile GUI.sudo systemctl start tpot.service
sudo systemctl start tpotdisplay.service
sudo systemctl stop tpot.service
sudo systemctl stop tpotdisplay.service
sudo crontab -e
.missing
. This means even if newer image versions are available docker compose
will not pull them. If your mobile connection is perfectly fine with downloading large docker image files then you can adjust TPOT_PULL_POLICY
in tpotce/.env
to always
. Otherwise install updates using a different network connection i.e. LAN / WiFi.cd tpotce && sudo systemctl stop tpot && git pull
cd tpotmobile && sudo systemctl stop tpotdisplay && git pull
cd tpotce && docker compose -f docker-compose.yml pull
/etc/NetworkManager/system-connections
.preconfigured.nmconnection
which contains the settings provided by Raspberry Pi Imager.For 3d printing we were using PLA+ filament with the following settings, depending on your usage other filament types need to be considered i.e. PETG, ABS or ASA (those remain untested regarding the case). While the support settings will complicate the removal of the supports it improves not only the print quality but also in better layer adhesion for the supports.
Make sure you ordered the display including the case, this will provide you with most of the required assembly parts, otherwise the case will not fit.
Place the display face down
Insert the microSD card into the Pi4, after installing Raspbian. It will be harder to reach the microSD card later in the process.
Screw the smallest standoffs in (included in the display / case package).
Align the Raspberry Pi on the standoffs and use the nuts (4 x M2.5) and standoffs (4 x M2.5 + 6) from the assortment to secure it.
Insert the flex DSI cable and ensure the cable and socket connectors align and the pins face each other.
Now screw the standoffs with the short end into the remaining four threads of the display backplate.
Install the UPS HAT on top of the Pi4 and secure it with the four phillips-head screws.
Add the remaining standoffs.
Insert the batteries and be careful about polarity.
If you are using the LTE stick you have probably soldered the power connectors to a stacking HAT. You can now place it on top of the UPS HAT.
Now is a good time to test everything before putting it into the case. Connect the power supply to the UPS HAT and switch the UPS HAT on.
Now put the LTE stick back into its case, insert the SIM card (which at this point should be setup not to require a PIN) and slide the LTE stick into its casket of the 3d printed case.
Slide the components carefully into the case and make sure not to damage the ribbon cable of the display.
Hold the display in place and turn the case upside down to secure the standoffs in the case using the Phillips-head screws.
Done. Now connect the power supply (barrel connector) and turn the UPS HAT on. Depending on your usage the UPS HAT will only fully charge the batteries if the USB-C power supply for the Pi4 is connected as well.