Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
tpotce — 🍯 T-Pot - La plateforme multi-honeypot tout-en-un 🐝 | Kitploit
Outils/GitHubGitHub/telekom-security/tpotce
Outils DéfensifsOSINT (Renseignement de Sources Ouvertes)Sniffing et Analyse de PaquetsAnalyse des VulnérabilitésCollecte d'InformationsSécurité RéseauRenseignement sur les MenacesDétection d'IntrusionApprentissage et ÉducationAnalyse de JournauxTop en Détection d'Intrusion n°16
9.4k1.4k14il y a 5 joursVérifié par Kitploit
GitHubtelekom-security/tpotce

tpotce

🍯 T-Pot - La plateforme multi-honeypot tout-en-un 🐝

Voir le dépôt

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

T-Pot - La plateforme multi-honeypot tout-en-un

T-Pot

T-Pot est la plateforme honeypot tout-en-un, éventuellement distribuée, multi-architecture (amd64, arm64), prenant en charge plus de 20 honeypots et d'innombrables options de visualisation grâce à la Elastic Stack, des cartes d'attaques animées en direct et de nombreux outils de sécurité pour améliorer encore l'expérience de tromperie.

TL;DR

  1. Vérifiez la configuration système requise. L'installation de T-Pot nécessite au moins 8 à 16 Go de RAM, 128 Go d'espace disque libre ainsi qu'une connexion internet fonctionnelle (sortante non filtrée).
  2. Téléchargez ou utilisez une distribution en cours d'exécution prise en charge.
  3. Installez l'ISO avec le minimum de paquets / services possible (ssh requis)
  4. Installez curl : $ sudo [apt, dnf, zypper] install curl si ce n'est pas déjà fait
  5. Lancez l'installateur en tant qu'utilisateur non-root depuis $HOME :``` env bash -c "$(curl -sL https://github.com/telekom-security/tpotce/raw/master/install.sh)"
root@kitploit:~
* Suivez les instructions, lisez les messages, vérifiez les éventuels conflits de ports et redémarrez

<!-- TOC -->
- [T-Pot - La plateforme multi honeypots tout-en-un](#t-pot---the-all-in-one-multi-honeypot-platform)
- [TL;DR](#tldr)
- [Avertissement](#disclaimer)
- [Concept technique](#technical-concept)
  - [Honeypots et outils](#honeypots-and-tools)
  - [Architecture technique](#technical-architecture)
  - [Services](#services)
  - [Types d'utilisateurs](#user-types)
- [Configuration système requise](#system-requirements)
  - [Exécution dans une VM](#running-in-a-vm)
  - [Exécution sur du matériel](#running-on-hardware)
  - [Exécution dans le cloud](#running-in-a-cloud)
  - [Ports requis](#required-ports)
  - [Honeypots basés sur LLM](#llm-based-honeypots)
    - [Ollama](#ollama)
    - [ChatGPT](#chatgpt)
- [Placement du système](#system-placement)
- [Installation](#installation)
  - [Choisissez votre distribution](#choose-your-distro)
  - [Support Raspberry Pi 4 (8 Go)](#raspberry-pi-4-8gb-support)
  - [Obtenez et installez T-Pot](#get-and-install-t-pot)
  - [macOS et Windows](#macos--windows)
  - [Red Hat Enterprise Linux](#red-hat-enterprise-linux)
  - [Types d'installation](#installation-types)
    - [Standard / Ruche](#standard--hive)
    - [Distribuée](#distributed)
  - [Désinstaller T-Pot](#uninstall-t-pot)
- [Premier démarrage](#first-start)
  - [Premier démarrage autonome](#standalone-first-start)
  - [Déploiement distribué](#distributed-deployment)
    - [Planification et certificats](#planning-and-certificates)
    - [Déploiement des capteurs](#deploying-sensors)
    - [Suppression des capteurs](#removing-sensors)
  - [Soumission de données à la communauté](#community-data-submission)
  - [Soumission de données HPFEEDS (opt-in)](#opt-in-hpfeeds-data-submission)
- [Accès à distance et outils](#remote-access-and-tools)
  - [SSH](#ssh)
  - [Page d'accueil de T-Pot](#t-pot-landing-page)
  - [Tableau de bord Kibana](#kibana-dashboard)
  - [Carte des attaques](#attack-map)
  - [Cyberchef](#cyberchef)
  - [Elasticvue](#elasticvue)
  - [Spiderfoot](#spiderfoot)
- [Configuration](#configuration)
  - [Fichier de configuration T-Pot](#t-pot-config-file)
  - [Personnaliser les honeypots et services T-Pot](#customize-t-pot-honeypots-and-services)
- [Maintenance](#maintenance)
  - [Mises à jour générales](#general-updates)
  - [Script de mise à jour](#update-script)
  - [Redémarrage quotidien](#daily-reboot)
  - [Problèmes connus](#known-issues)
    - [Échec du téléchargement des images Docker](#docker-images-fail-to-download)
    - [Échec du réseau T-Pot](#t-pot-networking-fails)
  - [Démarrer T-Pot](#start-t-pot)
  - [Arrêter T-Pot](#stop-t-pot)
  - [Dossier de données T-Pot](#t-pot-data-folder)
  - [Persistance des journaux](#log-persistence)
  - [Réinitialisation d'usine](#factory-reset)
  - [Afficher les conteneurs et images](#show-containers-and-images)
  - [Blackhole](#blackhole)
  - [Ajouter des utilisateurs à Nginx (interface Web T-Pot)](#add-users-to-nginx-t-pot-webui)
  - [Importer et exporter des objets Kibana](#import-and-export-kibana-objects)
    - [Exportation](#export)
    - [Importation](#import)
- [Dépannage](#troubleshooting)
  - [Journaux](#logs)
  - [RAM et stockage](#ram-and-storage)
- [Contact](#contact)
  - [Problèmes](#issues)
  - [Discussions](#discussions)
- [Licences](#licenses)
- [Crédits](#credits)
  - [Les développeurs et communautés de développement de](#the-developers-and-development-communities-of)
  - [**Les entreprises et organisations suivantes**](#the-following-companies-and-organizations)
  - [**Et bien sûr ***VOUS*** pour rejoindre la communauté !**](#and-of-course-you-for-joining-the-community)
- [Témoignages](#testimonials)
- [Merci 💖](#thank-you-)
<!-- TOC -->
<br><br>

# Avertissement
- Vous installez et exécutez T-Pot sous votre responsabilité. Choisissez votre déploiement avec soin, car une compromission du système ne peut jamais être exclue.
- Pour une aide rapide, consultez les [Problèmes](https://github.com/telekom-security/tpotce/issues) et [Discussions](https://github.com/telekom-security/tpotce/discussions).
- Le logiciel est conçu et proposé avec la meilleure intention possible. En tant que projet communautaire et open source, il utilise de nombreux autres logiciels open source et peut contenir des bugs et des problèmes. Signalez-les de manière responsable.
- Les honeypots – par conception – ne doivent pas héberger de données sensibles. Assurez-vous de ne pas en ajouter.
- Par défaut, vos données sont soumises à [Sicherheitstacho](https://www.sicherheitstacho.eu/start/main). Vous pouvez désactiver cela dans la configuration (`~/tpotce/docker-compose.yml`) en [supprimant](#community-data-submission) la section `ewsposter`. Mais dans ce cas, partager c'est prendre soin !
<br><br>

# Concept technique
Les principaux composants de T-Pot ont été déplacés dans l'image Docker `tpotinit`, permettant ainsi à T-Pot de supporter désormais plusieurs distributions Linux, voire macOS et Windows (bien que tous deux limités aux fonctionnalités de Docker Desktop). T-Pot utilise [docker](https://www.docker.com/) et [docker compose](https://docs.docker.com/compose/) pour atteindre son objectif d'exécuter le plus grand nombre de honeypots et d'outils possible simultanément, exploitant ainsi au maximum le matériel de l'hôte.
<br><br>

## Honeypots et outils
- T-Pot propose des images Docker pour les honeypots suivants :<br>
[adbhoney](https://github.com/huuck/ADBHoney),
[beelzebub](https://github.com/beelzebub-labs/beelzebub),
[ciscoasa](https://github.com/Cymmetria/ciscoasa_honeypot),
[citrixhoneypot](https://github.com/MalwareTech/CitrixHoneypot),
[conpot](http://conpot.org/),
[cowrie](https://github.com/cowrie/cowrie),
[ddospot](https://github.com/aelth/ddospot),
[dicompot](https://github.com/nsmfoo/dicompot),
[dionaea](https://github.com/DinoTools/dionaea),
[elasticpot](https://gitlab.com/bontchev/elasticpot),
[endlessh](https://github.com/skeeto/endlessh),
[galah](https://github.com/0x4D31/galah),
[go-pot](https://github.com/ryanolee/go-pot),
[glutton](https://github.com/mushorg/glutton),
[h0neytr4p](https://github.com/pbssubhash/h0neytr4p),
[hellpot](https://github.com/yunginnanet/HellPot),
[heralding](https://github.com/johnnykv/heralding),
[honeyaml](https://github.com/mmta/honeyaml),
[honeypots](https://github.com/qeeqbox/honeypots),
[honeytrap](https://github.com/armedpot/honeytrap/),
[ipphoney](https://gitlab.com/bontchev/ipphoney),
[log4pot](https://github.com/thomaspatzke/Log4Pot),
[mailoney](https://github.com/phin3has/mailoney),
[medpot](https://github.com/schmalle/medpot),
[miniprint](https://github.com/sa7mon/miniprint),
[redishoneypot](https://github.com/cypwnpwnsocute/RedisHoneyPot),
[rdphoneypot](https://gitlab.com/bontchev/rdphoneypot),
[sentrypeer](https://github.com/SentryPeer/SentryPeer),
[snare](http://mushmush.org/),
[tanner](http://mushmush.org/),
[wordpot](https://github.com/gbrindisi/wordpot)

Aux côtés des outils suivants :
* [Autoheal](https://github.com/willfarrell/docker-autoheal) un outil pour redémarrer automatiquement les conteneurs dont les contrôles de santé ont échoué.
* [Cyberchef](https://gchq.github.io/CyberChef/) une application web pour le chiffrement, l'encodage, la compression et l'analyse de données.
* [Elastic Stack](https://www.elastic.co/videos) pour visualiser magnifiquement tous les événements capturés par T-Pot.
* [Elasticvue](https://github.com/cars10/elasticvue/) une interface web frontale pour naviguer et interagir avec un cluster Elasticsearch.
* [Fatt](https://github.com/0x4D31/fatt) un script basé sur pyshark pour extraire les métadonnées réseau et les empreintes digitales à partir de fichiers pcap et du trafic réseau en direct.
* [T-Pot-Attack-Map](https://github.com/telekom-security/t-pot-attack-map) une carte d'attaque magnifiquement animée pour T-Pot.
* [P0f](https://lcamtuf.coredump.cx/p0f3/) est un outil pour l'empreinte passive pure du trafic.
* [Spiderfoot](https://github.com/smicallef/spiderfoot) un outil d'automatisation de renseignement open source.
* [Suricata](https://suricata.io/) un moteur de surveillance de la sécurité réseau.

... pour vous offrir la meilleure expérience prête à l'emploi possible et un système multi-honeypot facile à utiliser.
<br><br>


## Architecture technique
![Architecture](https://assets.kitploit.com/production/public/readmes/4462/3fe1e953817d210102d0a4c79a55bebd32d23014d6ddefa058719411cfc9d178.png)

Le code source et les fichiers de configuration sont entièrement stockés dans le référentiel GitHub de T-Pot. Les images Docker sont construites et préconfigurées pour l'environnement T-Pot.

Les Dockerfiles et configurations individuels se trouvent dans le [dossier docker](https://github.com/telekom-security/tpotce/tree/master/docker).
<br><br>

## Services
T-Pot offre un certain nombre de services qui sont essentiellement divisés en cinq groupes :
1. Services système fournis par le système d'exploitation
    * SSH pour l'accès à distance sécurisé.
2. Elastic Stack
    * Elasticsearch pour le stockage des événements.
    * Logstash pour l'ingestion, la réception et l'envoi d'événements à Elasticsearch.
    * Kibana pour l'affichage des événements sur des tableaux de bord magnifiquement rendus.
3. Outils
    * NGINX fournit un accès à distance sécurisé (proxy inverse) à Kibana, CyberChef, Elasticvue, GeoIP AttackMap, Spiderfoot et permet aux capteurs T-Pot de transmettre en toute sécurité les données d'événements à la ruche T-Pot.
    * CyberChef une application web pour le chiffrement, l'encodage, la compression et l'analyse de données.
    * Elasticvue une interface web frontale pour naviguer et interagir avec un cluster Elasticsearch.
    * T-Pot Attack Map une carte d'attaque magnifiquement animée pour T-Pot.
    * Spiderfoot un outil d'automatisation de renseignement open source.
4. Honeypots
    * Une sélection des 23 honeypots disponibles basée sur le `docker-compose.yml` choisi.
5. Surveillance de la sécurité réseau (NSM)
    * Fatt un script basé sur pyshark pour extraire les métadonnées réseau et les empreintes digitales à partir de fichiers pcap et du trafic réseau en direct.
    * P0f est un outil pour l'empreinte passive pure du trafic.
    * Suricata un moteur de surveillance de la sécurité réseau.
<br><br>

## Types d'utilisateurs
Pendant l'installation et lors de l'utilisation de T-Pot, il existe deux types différents de comptes avec lesquels vous allez travailler. Assurez-vous de connaître les différences entre les différents types de comptes, car c'est **de loin** la raison la plus courante des erreurs d'authentification.

| Service          | Type de compte | Nom d'utilisateur / Groupe | Description                                                        |
|:-----------------|:---------------|:---------------------------|:-------------------------------------------------------------------|
| SSH              | OS             | `<OS_USERNAME>`            | L'utilisateur que vous avez choisi lors de l'installation du système d'exploitation.              |
| Nginx            | BasicAuth      | `<WEB_USER>`               | Le `<web_user>` que vous avez choisi lors de l'installation de T-Pot.           |
| CyberChef        | BasicAuth      | `<WEB_USER>`               | Le `<web_user>` que vous avez choisi lors de l'installation de T-Pot.           |
| Elasticvue       | BasicAuth      | `<WEB_USER>`               | Le `<web_user>` que vous avez choisi lors de l'installation de T-Pot.           |
| Geoip Attack Map | BasicAuth      | `<WEB_USER>`               | Le `<web_user>` que vous avez choisi lors de l'installation de T-Pot.           |
| Spiderfoot       | BasicAuth      | `<WEB_USER>`               | Le `<web_user>` que vous avez choisi lors de l'installation de T-Pot.           |
| T-Pot            | OS             | `tpot`                     | `tpot` cet utilisateur / groupe est toujours réservé par les services T-Pot. |
| Journaux T-Pot   | BasicAuth      | `<LS_WEB_USER>`            | Les `LS_WEB_USER` sont gérés automatiquement.                           |


<br><br>

# Configuration système requise

Selon les [images de distribution Linux supportées](#choose-your-distro), la ruche / capteur, l'installation sur [matériel réel](#running-on-hardware), dans une [machine virtuelle](#running-in-a-vm) ou d'autres environnements, il existe différents types d'exigences à respecter concernant le système d'exploitation, la RAM, le stockage et le réseau pour une installation réussie de T-Pot (vous pouvez toujours ajuster `~/tpotce/docker-compose.yml` et `~/tpotce/.env` selon vos besoins pour surmonter ces exigences).
<br><br>

| Type T-Pot | RAM  | Stockage   | Description                                                                                      |
|:-----------|:-----|:-----------|:-------------------------------------------------------------------------------------------------|
| Ruche      | 16 Go | 256 Go SSD | En règle générale, plus il y a de honeypots, capteurs et données, plus il faut de RAM et de stockage.      |
| Capteur    | 8 Go  | 128 Go SSD | Étant donné que les journaux des honeypots sont conservés (~/tpotce/data) pendant 30 jours, le stockage dépend du volume d'attaques. |

T-Pot nécessite ...
- une adresse IPv4 via DHCP ou attribuée statiquement
- une connexion Internet fonctionnelle et non proxyée
... pour une installation et un fonctionnement réussis.
<br><br>
*Si vous avez besoin du support proxy ou d'autres fonctionnalités non standard, vous devriez consulter la documentation des [images de distribution Linux supportées](#choose-your-distro) et/ou la [documentation Docker](https://docs.docker.com/).*
<br><br>

## Exécution dans une VM
Toutes les [images de distribution Linux supportées](#choose-your-distro) s'exécuteront dans une VM, ce qui signifie que T-Pot fonctionnera très bien. Les suivantes ont été testées / signalées comme fonctionnant :
* [UTM (Intel et Apple Silicon)](https://mac.getutm.app/)
* [VirtualBox](https://www.virtualbox.org/)
* [VMWare Fusion](https://www.vmware.com/products/desktop-hypervisor/workstation-and-fusion) et [VMWare Workstation](https://www.vmware.com/products/desktop-hypervisor/workstation-and-fusion)
* KVM est également signalé comme fonctionnant.

***Quelques conseils de configuration / mise en place :***
- Bien que les versions Intel soient stables, le support Apple Silicon (arm64) présente des problèmes connus qui, dans UTM, peuvent nécessiter de passer l'`Affichage` en `Console uniquement` lors de l'installation initiale du système d'exploitation, puis de revenir à `Plein écran graphique`.
- Lors de la configuration, vous devrez peut-être activer le mode promiscuité pour l'interface réseau afin que fatt, suricata et p0f fonctionnent correctement.
- Si vous souhaitez utiliser une carte Wi-Fi comme interface réseau principale pour T-Pot, veuillez noter que tous les pilotes d'interface réseau ne prennent pas en charge toutes les cartes sans fil. Dans VirtualBox par exemple, vous devez choisir le modèle *"MT SERVER"* de la carte NIC.
<br><br>

## Exécution sur du matériel
T-Pot est uniquement limité par le support matériel des [images de distribution Linux supportées](#choose-your-distro). Il est recommandé de vérifier la HCL (liste de compatibilité matérielle) et de tester les distributions supportées avec T-Pot avant d'investir dans du matériel dédié.
<br><br>

## Exécution dans le cloud
T-Pot a été testé et est connu pour fonctionner sur ...
* Telekom OTC en utilisant la méthode post-installation
... d'autres peuvent fonctionner, mais restent non testés.

Certains utilisateurs signalent des installations fonctionnelles sur d'autres clouds et hébergeurs, par exemple Azure et GCP. Les exigences matérielles peuvent être différentes. Si vous n'êtes pas sûr, vous devriez rechercher les [problèmes](https://github.com/telekom-security/tpotce/issues) et les [discussions](https://github.com/telekom-security/tpotce/discussions) et effectuer quelques tests fonctionnels. Avec T-Pot 24.04.0 et versions ultérieures, nous avons veillé à supprimer les paramètres connus pour interférer avec les installations cloud.
<br><br>

## Ports requis
Outre les ports généralement nécessaires au système d'exploitation, par exemple pour obtenir un bail DHCP, DNS, etc., T-Pot nécessitera les ports suivants pour les connexions entrantes / sortantes. Consultez l'[Architecture T-Pot](#technical-architecture) pour une représentation visuelle. Certains ports apparaîtront en double, ce qui est normal car utilisés dans différentes éditions.| Port                                                                                                                               | Protocole | Direction | Description                                                                                                     |
|:-----------------------------------------------------------------------------------------------------------------------------------|:----------|:----------|:----------------------------------------------------------------------------------------------------------------|
| 80, 443                                                                                                                            | tcp       | sortant   | Gestion T-Pot : Installation, mises à jour, logs (p. ex. OS, GitHub, DockerHub, Sicherheitstacho, etc.)         |
| 11434                                                                                                                              | tcp       | sortant   | Honeypots basés sur LLM : Accès à votre installation Ollama                                                     |
| 64294                                                                                                                              | tcp       | entrant   | Gestion T-Pot : Transmission des données des capteurs vers la ruche (via proxy inverse NGINX) vers 127.0.0.1:64305 |
| 64295                                                                                                                              | tcp       | entrant   | Gestion T-Pot : Accès SSH                                                                                      |
| 64297                                                                                                                              | tcp       | entrant   | Gestion T-Pot : Accès au proxy inverse NGINX                                                                    |
| 5555                                                                                                                               | tcp       | entrant   | Honeypot : ADBHoney                                                                                            |
| 22                                                                                                                                 | tcp       | entrant   | Honeypot : Beelzebub (LLM requis)                                                                               |
| 5000                                                                                                                               | udp       | entrant   | Honeypot : CiscoASA                                                                                            |
| 8443                                                                                                                               | tcp       | entrant   | Honeypot : CiscoASA                                                                                            |
| 443                                                                                                                                | tcp       | entrant   | Honeypot : CitrixHoneypot                                                                                      |
| 80, 102, 502, 1025, 2404, 10001, 44818, 47808, 50100                                                                               | tcp       | entrant   | Honeypot : Conpot                                                                                              |
| 161, 623                                                                                                                           | udp       | entrant   | Honeypot : Conpot                                                                                              |
| 22, 23                                                                                                                             | tcp       | entrant   | Honeypot : Cowrie                                                                                              |
| 19, 53, 123, 1900                                                                                                                  | udp       | entrant   | Honeypot : Ddospot                                                                                             |
| 11112                                                                                                                              | tcp       | entrant   | Honeypot : Dicompot                                                                                            |
| 21, 42, 135, 443, 445, 1433, 1723, 1883, 3306, 8081                                                                                | tcp       | entrant   | Honeypot : Dionaea                                                                                             |
| 69                                                                                                                                 | udp       | entrant   | Honeypot : Dionaea                                                                                             |
| 9200                                                                                                                               | tcp       | entrant   | Honeypot : Elasticpot                                                                                          |
| 22                                                                                                                                 | tcp       | entrant   | Honeypot : Endlessh                                                                                            |
| 80, 443, 8080, 8443                                                                                                                | tcp       | entrant   | Honeypot : Galah (LLM requis)                                                                                  |
| 8080                                                                                                                               | tcp       | entrant   | Honeypot : Go-pot                                                                                              |
| 80, 443                                                                                                                            | tcp       | entrant   | Honeypot : H0neytr4p                                                                                           |
| 21, 22, 23, 25, 80, 110, 143, 443, 993, 995, 1080, 5432, 5900                                                                      | tcp       | entrant   | Honeypot : Heralding                                                                                           |
| 3000                                                                                                                               | tcp       | entrant   | Honeypot : Honeyaml                                                                                            |
| 21, 22, 23, 25, 80, 110, 143, 389, 443, 445, 631, 1080, 1433, 1521, 3306, 3389, 5060, 5432, 5900, 6379, 6667, 8080, 9100, 9200, 11211 | tcp       | entrant   | Honeypot : qHoneypots                                                                                          |
| 53, 123, 161, 5060                                                                                                                 | udp       | entrant   | Honeypot : qHoneypots                                                                                          |
| 631                                                                                                                                | tcp       | entrant   | Honeypot : IPPHoney                                                                                            |
| 80, 443, 8080, 9200, 25565                                                                                                         | tcp       | entrant   | Honeypot : Log4Pot                                                                                             |
| 25                                                                                                                                 | tcp       | entrant   | Honeypot : Mailoney                                                                                            |
| 2575                                                                                                                               | tcp       | entrant   | Honeypot : Medpot                                                                                              |
| 9100                                                                                                                               | tcp       | entrant   | Honeypot : Miniprint                                                                                           |
| 6379                                                                                                                               | tcp       | entrant   | Honeypot : Redishoneypot                                                                                       |
| 3389                                                                                                                               | tcp       | entrant   | Honeypot : RDPHoneypot                                                                                         |
| 5060                                                                                                                               | tcp/udp   | entrant   | Honeypot : SentryPeer                                                                                          |
| 80                                                                                                                                 | tcp       | entrant   | Honeypot : Snare (Tanner)                                                                                      |
| 8090                                                                                                                               | tcp       | entrant   | Honeypot : Wordpot                                                                                             |

Les ports et la disponibilité des services SaaS peuvent varier en fonction de votre situation géographique.

Pour que certains honeypots atteignent leur pleine fonctionnalité (par exemple Cowrie ou Log4Pot), des connexions sortantes sont également nécessaires, afin qu'ils puissent télécharger les logiciels malveillants de l'attaquant. Veuillez consulter la documentation de chaque honeypot pour en savoir plus en suivant les [liens](#technical-concept) vers leurs dépôts.

## Honeypots basés sur LLM
Nous pensons que les honeypots basés sur LLM marquent le **début** d'un changement de paradigme dans le domaine de la tromperie / des honeypots. Par conséquent, à partir de la version **T-Pot 24.04.1**, deux honeypots basés sur LLM, **Beelzebub** et **Galah**, ont été introduits. Ces honeypots nécessitent une installation d'**Ollama**, qui doit être configurée dans le [fichier de configuration de T-Pot](#t-pot-config-file). Vous pouvez également ajuster les paramètres de ce fichier pour la prise en charge de **ChatGPT**, mais notez que des modifications seront également nécessaires dans le fichier docker compose (`~/tpotce/compose/llm.yml`) pour tenir compte de ces ajustements.<br><br>
Suivez les liens dans la section [Honeypots et outils](#honeypots-and-tools) pour en savoir plus sur **Beelzebub** et **Galah**.

### Ollama
🚨 **L'utilisation basée sur CPU n'est pas recommandée**, même pour les tests.<br><br>
Pour installer et exécuter **Ollama**, reportez-vous au [dépôt GitHub d'Ollama](https://github.com/ollama/ollama) pour les instructions. Pour une utilisation débutante ou de test, des résultats peuvent être obtenus avec une **Nvidia RTX 4060 Ti 16GB** ou équivalent (AMD ROCm est également pris en charge par Ollama), avec des modèles comme **openchat** et **Llama3**. En règle générale avec les systèmes basés sur LLM, plus le matériel est performant et abondant, plus les résultats seront rapides et précis, surtout lorsque les tâches sont déléguées à plusieurs GPU et à des modèles plus grands.

### ChatGPT
La prise en charge de ChatGPT pour ces honeypots restera non testée en relation avec T-Pot.
<br><br>

# Placement du système
Il est recommandé de vous familiariser avec le fonctionnement de T-Pot et des honeypots avant de commencer à exposer vers Internet. Pour un démarrage rapide, exécutez une installation de T-Pot dans une machine virtuelle.
<br><br>
Une fois que vous êtes familier avec le fonctionnement, vous devez choisir un réseau où vous soupçonnez la présence d'intrus ou d'où ils pourraient venir (par exemple Internet). Sinon, T-Pot ne capturera très probablement aucune attaque (à moins que vous ne vouliez prouver un point) ! Pour commencer, il est recommandé de placer T-Pot dans une zone non filtrée, où tout le trafic TCP et UDP est redirigé vers l'interface réseau de T-Pot. Pour éviter le sondage des ports de gestion de T-Pot, vous devez placer T-Pot derrière un pare-feu et rediriger tout le trafic TCP / UDP dans la plage de ports 1-64000 vers T-Pot, tout en autorisant l'accès aux ports > 64000 uniquement depuis des adresses IP de confiance et / ou en exposant uniquement les [ports](#required-ports) pertinents pour votre cas d'utilisation. Si vous souhaitez capturer le trafic de logiciels malveillants sur des ports inconnus, vous ne devez pas limiter les ports que vous redirigez, car glutton et honeytrap lient dynamiquement tout port TCP non occupé par d'autres démons honeypot, vous donnant ainsi une meilleure représentation des risques auxquels votre configuration est exposée.
<br><br>

# Installation
[Téléchargez](#choose-your-distro) l'une des [images de distribution Linux prises en charge](#choose-your-distro), suivez les instructions [TL;DR](#tldr) ou `git clone` le dépôt T-Pot et exécutez le programme d'installation `~/tpotce/install.sh`. Exécuter T-Pot sur un système Linux déjà en fonctionnement et pris en charge est possible, mais une installation propre est recommandée pour éviter les conflits de ports avec les services en cours d'exécution. Le programme d'installation de T-Pot nécessitera un accès direct à Internet comme décrit [ici](#required-ports).
<br><br>

## Choisissez votre distribution
**Étapes à suivre :**

1. Téléchargez une distribution Linux prise en charge depuis la liste ci-dessous. (REMARQUE : Red Hat Enterprise Linux >= 8 est pris en charge, mais omis de la liste ci-dessous en raison de sa nature basée sur un abonnement. Voir [Red Hat Enterprise Linux](#red-hat-enterprise-linux) pour plus de détails).
2. Pendant l'installation, choisissez une version **minimale**, **netinstall** ou **serveur** qui n'installera que les paquets essentiels.
3. **N'installez jamais** un environnement de bureau graphique tel que Gnome ou KDE. T-Pot échouera à fonctionner avec en raison de conflits de ports.
4. Assurez-vous d'installer SSH afin de pouvoir vous connecter à la machine à distance.

| Nom de la distribution                                                                 | x64                                                                                                                                   | arm64                                                                                                                                   |
|:---------------------------------------------------------------------------------------|:--------------------------------------------------------------------------------------------------------------------------------------|:----------------------------------------------------------------------------------------------------------------------------------------|
| [Alma Linux OS 9.x Minimal ISO](https://almalinux.org)                                | [download](https://repo.almalinux.org/almalinux/9/isos/x86_64/AlmaLinux-9.8-x86_64-minimal.iso)                                        | [download](https://repo.almalinux.org/almalinux/9/isos/aarch64/AlmaLinux-9.8-aarch64-minimal.iso)                                        |
| [Debian 13 Network Install](https://www.debian.org/CD/netinst/index.en.html)       | [download](https://cdimage.debian.org/debian-cd/current/amd64/iso-cd/debian-13.5.0-amd64-netinst.iso)                                 | [download](https://cdimage.debian.org/debian-cd/current/arm64/iso-cd/debian-13.5.0-arm64-netinst.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)                      |
| [Rocky Linux OS 9.x Minimal ISO](https://rockylinux.org/download)                     | [download](https://download.rockylinux.org/pub/rocky/9/isos/x86_64/Rocky-9.8-x86_64-minimal.iso)                                      | [download](https://download.rockylinux.org/pub/rocky/9/isos/aarch64/Rocky-9.8-aarch64-minimal.iso)                                      |
| [Ubuntu 24.04.x Live Server](https://ubuntu.com/download/server)                   | [download](https://releases.ubuntu.com/24.04/ubuntu-24.04.3-live-server-amd64.iso)                                                    | [download](https://cdimage.ubuntu.com/releases/24.04/release/ubuntu-24.04.3-live-server-arm64.iso)                                      |

<br>

## Prise en charge du Raspberry Pi 4 (8 Go)
| Nom de la distribution                                                | arm64                                                                                                                                               |
|:----------------------------------------------------------------------|:----------------------------------------------------------------------------------------------------------------------------------------------------|
| [Raspberry Pi OS (**64Bit, Lite**)](https://www.raspberrypi.com) | [download](https://downloads.raspberrypi.com/raspios_lite_arm64/images/raspios_lite_arm64-2024-03-15/2024-03-15-raspios-bookworm-arm64-lite.img.xz) |

<br><br> 
## Obtenir et installer T-Pot
1. Clonez le dépôt GitHub : `$ git clone https://github.com/telekom-security/tpotce` ou suivez le [TL;DR](#tldr) et sautez cette section.
2. Placez-vous dans le dossier **tpotce/** : `$ cd tpotce`
3. Exécutez le programme d'installation en tant que non-root : `$ ./install.sh` :
   * ⚠️ ***Selon la distribution Linux que vous avez choisie, le programme d'installation :***
     * Modifiera le port SSH en `tcp/64295`
     * Désactivera le DNS Stub Listener pour éviter les conflits de ports avec les honeypots
     * Configurera SELinux en mode surveillance
     * Définira la cible du pare-feu pour la zone publique sur ACCEPT
     * Ajoutera le dépôt Docker et installera Docker
     * Installera les paquets recommandés
     * Supprimera les paquets connus pour causer des problèmes
     * Ajoutera l'utilisateur actuel au groupe docker (permettant l'interaction avec docker sans `sudo`)
     * Ajoutera les alias `dps`, `dpsw` et `dim` pour des aperçus formatés des conteneurs et images
     * Ajoutera les alias `la`, `ll` et `ls` (pour `exa`, une commande `ls` améliorée)
     * Ajoutera `mi` (pour `micro`, une excellente alternative à `vi` et/ou `nano`)
     * Affichera les ports ouverts sur l'hôte (comparer avec les ports [requis](https://github.com/telekom-security/tpotce#required-ports) de T-Pot)
     * Ajoutera et activera `tpot.service` dans `/etc/systemd/system` afin que T-Pot puisse démarrer et s'arrêter automatiquement
4. Suivez les instructions du programme d'installation, vous devrez entrer votre mot de passe utilisateur (`sudo` ou `root`) au moins une fois
5. Vérifiez les messages du programme d'installation pour les erreurs et les ports ouverts qui pourraient causer des conflits
6. Redémarrez : `$ sudo reboot`
<br><br>## macOS & Windows
Il est parfois agréable de pouvoir lancer une instance T-Pot sur macOS ou Windows, par exemple pour le développement, les tests ou simplement pour le plaisir. Comme Docker Desktop est assez limité, tous les types de honeypots ou fonctionnalités de T-Pot ne sont pas pris en charge. Rappelez-vous également que, par défaut, le pare-feu de macOS et Windows bloque l'accès à distance, de sorte que les tests sont limités à l'hôte. Pour la production, il est recommandé d'exécuter T-Pot sur [Linux](#choose-your-distro).<br>
Pour mettre en place et faire fonctionner le tout, suivez simplement ces étapes :
1. Installez Docker Desktop pour [macOS](https://docs.docker.com/desktop/setup/install/mac-install/) ou [Windows](https://docs.docker.com/desktop/setup/install/windows-install/).
2. Clonez le dépôt GitHub : `git clone https://github.com/telekom-security/tpotce` (sous Windows, assurez-vous que le code est extrait avec `LF` au lieu de `CRLF` !)
3. Allez dans : `cd ~/tpotce`
4. Copiez `cp compose/mac_win.yml ./docker-compose.yml`
5. Créez un `WEB_USER` en exécutant `~/tpotce/genuser.sh` (macOS) ou `~/tpotce/genuserwin.ps1` (Windows)
6. Ajustez le fichier `.env` en changeant `TPOT_OSTYPE=linux` en `mac` ou `win` :   ```
   # OSType (linux, mac, win)
   #  Most docker features are available on linux
   TPOT_OSTYPE=mac
Télécharger l’outil
  1. Vous devez vous assurer par vous-même qu'il n'y a pas de conflits de ports empêchant T-Pot de démarrer.
  2. Démarrer T-Pot : docker compose up ou docker compose up -d si vous souhaitez que T-Pot s'exécute en arrière-plan.
  3. Arrêter T-Pot : CTRL-C (s'il s'exécutait au premier plan) et/ou docker compose down -v pour arrêter complètement T-Pot.

Red Hat Enterprise Linux

Red Hat Enterprise Linux (RHEL) est un cas un peu particulier dans la mesure où :

  1. Les connexions aux dépôts Red Hat dépendent d'un abonnement Red Hat. Vous ne pourrez pas mettre à jour le système d'exploitation ni installer de nouveaux paquets si la machine cible n'est pas abonnée. Si votre serveur n'est pas lié à un abonnement Red Hat, l'installation échouera !
  2. Ansible est installé à partir d'un dépôt spécifique à RHEL par l'installateur. N'essayez pas de l'installer depuis les dépôts upstream.
  3. Docker est installé depuis EPEL, qui est installé par le script d'installation. N'essayez pas de l'installer avec le script d'installation de la communauté.
  4. T-Pot ne s'installera avec succès que sur RHEL >= 8. L'une des dépendances de commodité (grc) dépend de Python 2, qui a été supprimé après RHEL 7. Elle est omise de l'installation de T-Pot sur RHEL.

Types d'installation

Standard / Hive

Avec T-Pot Standard / Hive, tous les services, outils, honeypots, etc. seront installés sur un seul hôte qui sert également de point de terminaison Hive. Assurez-vous de respecter les prérequis système. Vous pouvez ajuster ~/tpotce/docker-compose.yml selon votre cas d'utilisation personnel ou créer votre propre configuration en utilisant ~/tpotce/compose/customizer.py pour une expérience T-Pot adaptée à vos besoins. Une fois l'installation terminée, vous pouvez passer au Premier démarrage.

Distribué

La version distribuée de T-Pot nécessite au moins deux hôtes

  • la Hive T-Pot, l'installation standard de T-Pot (installez-la d'abord !),
  • et un Sensor T-Pot, qui hébergera uniquement les honeypots, certains outils et transmettra les données de journal à la Hive.
  • Le Sensor ne démarrera pas avant d'avoir finalisé l'installation du Sensor comme décrit dans Déploiement distribué.

Désinstaller T-Pot

La désinstallation de T-Pot n'est disponible que sur les distributions Linux prises en charge.
Pour désinstaller T-Pot, exécutez ~/tpotce/uninstall.sh et suivez les instructions du programme de désinstallation, vous devrez entrer votre mot de passe au moins une fois.
Une fois la désinstallation terminée, redémarrez la machine sudo reboot

Premier démarrage

Une fois que l'installateur T-Pot se termine avec succès, le système doit être redémarré (sudo reboot). Une fois redémarré, vous pouvez vous connecter au système en utilisant l'utilisateur que vous avez configuré lors de l'installation du système. Les connexions se font selon les Types d'utilisateurs :

  • utilisateur : [<OS_USERNAME>]
  • mot de passe : [mot de passe]

Vous pouvez vous connecter via SSH pour accéder à la ligne de commande : ssh -l <OS_USERNAME> -p 64295 <your.ip> :

  • utilisateur : [<OS_USERNAME>]
  • mot de passe : [mot de passe, clé SSH recommandée]

Vous pouvez également vous connecter depuis votre navigateur et accéder à l'interface Web T-Pot et aux outils : https://<your.ip>:64297

  • utilisateur : [<WEB_USER>]
  • mot de passe : [mot de passe]

Premier démarrage autonome

Il n'y a pas grand-chose à faire sauf se connecter et vérifier via dps si tous les services et honeypots démarrent correctement. Vous pouvez utiliser dim pour consulter les images Docker installées, y compris leur âge CREATED, puis vous connecter à Kibana et/ou à la carte d'attaques Geoip pour surveiller les attaques.

Déploiement distribué

Planification et certificats

Le déploiement distribué implique une planification car T-Pot Init ne créera qu'un certificat auto-signé pour l'IP de l'hôte Hive, ce qui est généralement suffisant pour des configurations simples. Étant donné que logstash vérifie la validité du certificat lors de la connexion, une configuration distribuée où la Hive est accessible via plusieurs IP (par exemple RFC 1918 et IP NAT publique) et éventuellement un nom de domaine entraînera une erreur de connexion où le certificat ne peut pas être validé, car une telle configuration nécessite un certificat avec un nom commun et des SAN (Subject Alternative Name).
Avant de déployer des capteurs, assurez-vous d'avoir planifié correctement les noms de domaine et les IP pour éviter les problèmes de certificat. Pour plus de détails, voir issue #1543.
Adaptez l'exemple à votre configuration IP/domaine et suivez les commandes pour modifier le certificat de la Hive :``` sudo systemctl stop tpot

sudo openssl req
-nodes
-x509
-sha512
-newkey rsa:8192
-keyout "$HOME/tpotce/data/nginx/cert/nginx.key"
-out "$HOME/tpotce/data/nginx/cert/nginx.crt"
-days 3650
-subj '/C=AU/ST=Some-State/O=Internet Widgits Pty Ltd'
-addext "subjectAltName = IP:192.168.1.200, IP:1.2.3.4, DNS:my.primary.domain, DNS:my.secondary.domain"

sudo chmod 774 $HOME/tpotce/data/nginx/cert/* sudo chown tpot:tpot $HOME/tpotce/data/nginx/cert/*

sudo systemctl start tpot

root@kitploit:~
Le fichier de configuration T-Pot (`.env`) permet de désactiver la vérification SSL pour les connexions logstash du **Sensor** vers la **Hive** en définissant `LS_SSL_VERIFICATION=none`. Pour des raisons de sécurité, ceci n'est recommandé que pour les environnements de laboratoire ou de test.<br><br>
Si vous choisissez d'utiliser un certificat valide pour la **Hive** signé par une CA (i.e. Let's Encrypt), logstash, et donc le **Sensor**, ne devrait avoir aucun problème à se connecter et à transmettre ses logs à la **Hive**.

### Déploiement des capteurs
Une fois que vous avez redémarré le **Sensor** comme indiqué par l'installateur, vous pouvez poursuivre le déploiement distribué en vous connectant à la **Hive** et en allant dans le dossier `cd ~/tpotce`. Assurez-vous d'avoir compris la section [Planification et certificats](#planning-and-certificates) avant de continuer avec le déploiement proprement dit.

Si vous ne l'avez pas déjà fait, générez une clé SSH pour vous connecter de manière sécurisée au **Sensor** et pour permettre à `Ansible` d'exécuter un playbook sur le capteur :
1. Exécutez `ssh-keygen`, suivez les instructions et laissez la phrase de passe vide :   ```
   Generating public/private rsa key pair.
   Enter file in which to save the key (/home/<your_user>/.ssh/id_rsa):
   Enter passphrase (empty for no passphrase):
   Enter same passphrase again:
   Your identification has been saved in /home/<your_user>/.ssh/id_rsa
   Your public key has been saved in /home/<your_user>/.ssh/id_rsa.pub
  1. Déployez la clé sur le capteur en exécutant ssh-copy-id -p 64295 <Sensor_SSH_USER>@<Sensor_IP>) : ``` /usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/home/<your_user>/.ssh/id_rsa.pub" The authenticity of host '[<Sensor_IP>]:64295 ([<Sensor_IP>]:64295)' can't be stablished. ED25519 key fingerprint is SHA256:naIDxFiw/skPJadTcgmWZQtgt+CdfRbUCoZn5RmkOnQ. This key is not known by any other names. Are you sure you want to continue connecting (yes/no/[fingerprint])? yes /usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed /usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys <your_user>@172.20.254.124's password:

    Number of key(s) added: 1

    Now try logging into the machine, with: "ssh -p '64295' '<your_user>@<Sensor_IP>'" and check to make sure that only the key(s) you wanted were added.

    root@kitploit:~
  2. Comme suggéré, suivez les instructions pour tester la connexion ssh -p '64295' '<votre_utilisateur>@<IP_du_Sensor>'.

  3. Une fois la clé déployée avec succès, exécutez ./deploy.sh et suivez les instructions.

Suppression des capteurs

Identifiez la variable d'environnement TPOT_HIVE_USER sur le capteur dans la configuration $HOME/tpotce/.env (il s'agit d'une chaîne encodée en base64). Identifiez maintenant la même chaîne dans la variable d'environnement LS_WEB_USER sur la ruche dans la configuration $HOME/tpotce/.env. Supprimez la chaîne et redémarrez T-Pot.
Vous pouvez maintenant supprimer la machine capteur en toute sécurité.

Soumission de données communautaires

T-Pot est fourni afin de le rendre accessible à toute personne intéressée par les honeypots. Par défaut, les données capturées sont soumises à un backend communautaire. Ce backend communautaire utilise les données pour alimenter Sicherheitstacho. Vous pouvez refuser la soumission en supprimant le # Ewsposter service de ~/tpotce/docker-compose.yml en suivant ces étapes :

  1. Arrêtez les services T-Pot : systemctl stop tpot
  2. Ouvrez ~/tpotce/docker-compose.yml : micro ~/tpotce/docker-compose.yml
  3. Supprimez les lignes suivantes, enregistrez et quittez micro (CTRL+Q) :```

Ewsposter service

ewsposter: container_name: ewsposter restart: always depends_on: tpotinit: condition: service_healthy networks: - ewsposter_local environment: - EWS_HPFEEDS_ENABLE=false - EWS_HPFEEDS_HOST=host - EWS_HPFEEDS_PORT=port - EWS_HPFEEDS_CHANNELS=channels - EWS_HPFEEDS_IDENT=user - EWS_HPFEEDS_SECRET=secret - EWS_HPFEEDS_TLSCERT=false - EWS_HPFEEDS_FORMAT=json image: ${TPOT_REPO}/ewsposter:${TPOT_VERSION} pull_policy: ${TPOT_PULL_POLICY} volumes: - ${TPOT_DATA_PATH}:/data - ${TPOT_DATA_PATH}/ews/conf/ews.ip:/opt/ewsposter/ews.ip

root@kitploit:~
4. Démarrer les services T-Pot : `systemctl start tpot`

Il est encouragé de ne pas désactiver la soumission des données car c'est l'objectif principal de l'approche communautaire - comme vous le savez tous **partager c'est aimer** 😍
<br><br>

## Soumission de données HPFEEDS (Opt-In)
En tant qu'Opt-In, il est possible de partager les données T-Pot avec des courtiers HPFEEDS tiers.
1. Suivez les instructions [ici](#community-data-submission) pour arrêter les services T-Pot et ouvrir `~/tpotce/docker-compose.yml`.
2. Faites défiler jusqu'à la section `ewsposter` et ajustez les paramètres HPFEEDS selon vos besoins.
3. Si vous devez ajouter un certificat CA, ajoutez-le dans `~/tpotce/data/ews/conf` et définissez `EWS_HPFEEDS_TLSCERT=/data/ews/conf/<your_ca.crt>`.
4. Démarrer les services T-Pot : `systemctl start tpot`.
<br><br>

# Accès distant et outils
L'accès distant à votre hôte / T-Pot est possible via SSH (sur **`tcp/64295`**) et certains services et outils sont fournis avec T-Pot pour faciliter vos tâches de recherche.
<br><br>

## SSH
Selon les [types d'utilisateurs](#user-types), vous pouvez vous connecter via SSH pour accéder à la ligne de commande : `ssh -l <OS_USERNAME> -p 64295 <your.ip>` :

- utilisateur : **[`<OS_USERNAME>`]**
- mot de passe : **[password]**
<br><br>

## Page d'accueil T-Pot 
Selon les [types d'utilisateurs](#user-types), vous pouvez ouvrir la page d'accueil T-Pot depuis votre navigateur via `https://<your.ip>:64297` :

- utilisateur : **[`<WEB_USER>`]**
- mot de passe : **[password]**

![T-Pot-WebUI](https://assets.kitploit.com/production/public/readmes/4462/7e70eb82c25026577169f745794728206ca655c2fac5155262c645bf0290158e.png)
<br><br>

## Tableau de bord Kibana
Sur la page d'accueil T-Pot, cliquez simplement sur `Kibana` et vous serez redirigé vers Kibana. Vous pouvez choisir parmi une grande variété de tableaux de bord et de visualisations tous adaptés aux honeypots supportés par T-Pot.

![Dashbaord](https://assets.kitploit.com/production/public/readmes/4462/d363122f1d233abb0f1818c0e69ed6ac1f4a2f139d5d924bcf7d6fc2b0b7f8bc.png)
<br><br>

## Carte des attaques
Sur la page d'accueil T-Pot, cliquez simplement sur `Attack Map` et vous serez redirigé vers la carte des attaques. Comme la carte des attaques utilise des web sockets, vous devrez peut-être ressaisir les identifiants `<WEB_USER>`.

![AttackMap](https://assets.kitploit.com/production/public/readmes/4462/a9a8e7024bebe87b98b754ee1fcaf877dee35b0b35404525cfc7b4bcf63778b5.png)
<br><br>

## Cyberchef
Sur la page d'accueil T-Pot, cliquez simplement sur `Cyberchef` et vous serez redirigé vers Cyberchef.

![Cyberchef](https://assets.kitploit.com/production/public/readmes/4462/4e8c0b3e528dad69e932ee8fefc6c0367c93b144fc22b5cbfdfc21401a212540.png)
<br><br>

## Elasticvue
Sur la page d'accueil T-Pot, cliquez simplement sur `Elasticvue` et vous serez redirigé vers Elasticvue.

![Elasticvue](https://assets.kitploit.com/production/public/readmes/4462/0a40257ee96c7713158d952dd3eaeaaa65ef587883f3545592072793819d4a22.png)
<br><br>

## Spiderfoot
Sur la page d'accueil T-Pot, cliquez simplement sur `Spiderfoot` et vous serez redirigé vers Spiderfoot.

![Spiderfoot](https://assets.kitploit.com/production/public/readmes/4462/018e445ac80bc3a63e3504e5f46335b67870f5afe102fe59b308f5b64886e79e.png)
<br><br>

# Configuration

## Fichier de configuration T-Pot
T-Pot propose un fichier de configuration fournissant des variables non seulement pour les services Docker (c'est-à-dire les honeypots et les outils) mais aussi pour l'environnement Docker Compose. Le fichier de configuration est caché dans `~/tpoce/.env`. Il y a aussi un fichier d'exemple (`env.example`) qui contient la configuration par défaut.<br>
Avant le premier démarrage, exécutez `~/tpotce/genuser.sh` ou configurez `WEB_USER` manuellement comme décrit [ici](#add-users-to-nginx-t-pot-webui). 

## Personnaliser les honeypots et services T-Pot

Dans `~/tpotce/compose`, vous trouverez tout ce dont vous avez besoin pour ajuster l'installation T-Pot Standard / Hive :```
customizer.py
llm.yml
mac_win.yml
mini.yml
mobile.yml
sensor.yml
standard.yml
tarpit.yml
tpot_services.yml

Les fichiers .yml sont des fichiers docker compose, chacun représentant un ensemble différent de honeypots et d'outils, avec tpot_services.yml servant de modèle pour customizer.py afin de créer un fichier docker compose personnalisé.

Pour activer un fichier compose, suivez ces étapes :

  1. Arrêtez T-Pot avec systemctl stop tpot.
  2. Copiez le fichier docker compose cp ~/tpotce/compose/<dockercompose.yml> ~/tpotce/docker-compose.yml.
  3. Démarrez T-Pot avec systemctl start tpot.

Pour créer votre fichier docker compose personnalisé :

  1. Allez dans cd ~/tpotce/compose.
  2. Exécutez python3 customizer.py.
  3. Le script vous guidera tout au long du processus de création de votre propre docker-compose.yml. Comme certains honeypots et services occupent les mêmes ports, il vérifiera si des conflits de ports existent et vous informera des services conflictuels. Vous pouvez ensuite les résoudre manuellement en ajustant docker-compose-custom.yml ou en réexécutant le script.
  4. Arrêtez T-Pot avec systemctl stop tpot.
  5. Copiez le fichier docker compose personnalisé : cp docker-compose-custom.yml ~/tpotce et cd ~/tpotce.
  6. Vérifiez si tout fonctionne en exécutant docker-compose -f docker-compose-custom.yml up. En cas d'erreurs, suivez la spécification Docker Compose pour les résoudre. Il s'agit probablement d'un conflit de ports que vous pouvez ajuster en modifiant le fichier docker compose.
  7. Si tout fonctionne correctement, appuyez sur CTRL-C pour arrêter les conteneurs et exécutez docker-compose -f docker-compose-custom.yml down -v.
  8. Remplacez le fichier docker compose par le nouveau fichier personnalisé testé avec succès : mv ~/tpotce/docker-compose-custom.yml ~/tpotce/docker-compose.yml.
  9. Démarrez T-Pot avec systemctl start tpot.

Maintenance

T-Pot est conçu pour nécessiter peu d'entretien. Étant donné que presque tout est fourni via des images Docker, vous n'avez pratiquement rien à faire si ce n'est le laisser fonctionner. Nous mettrons régulièrement à jour les images Docker pour réduire les risques de compromission ; cependant, vous devriez lire attentivement cette section.

Si une mise à jour échoue, ouvrir un problème ou une discussion aidera à améliorer les choses à l'avenir, mais la solution proposée sera toujours d'effectuer une nouvelle installation car nous ne pouvons tout simplement pas fournir de support pour des données perdues !

Mises à jour générales

La sécurité de T-Pot dépend des mises à jour fournies pour les images de distribution Linux prises en charge. Assurez-vous de consulter la documentation du système d'exploitation et de vérifier que les mises à jour sont installées régulièrement par le système d'exploitation. Par défaut (~/tpotce/.env) TPOT_PULL_POLICY=always garantira qu'à chaque démarrage de T-Pot, Docker vérifie les nouvelles images Docker et les télécharge avant de créer les conteneurs.

Script de mise à jour

Les versions de T-Pot sont proposées via GitHub et peuvent être récupérées en utilisant ~/tpotce/update.sh.
Si vous avez apporté des modifications importantes aux fichiers de configuration de T-Pot, assurez-vous de créer d'abord une sauvegarde !
Les mises à jour peuvent avoir des conséquences imprévues. Créez une sauvegarde de la machine ou des fichiers les plus précieux pour votre travail !

Le script de mise à jour va ...

  • impitoyablement écraser les modifications locales pour être synchronisé avec la branche principale de T-Pot
  • créer une sauvegarde complète du dossier ~/tpotce
  • mettre à jour tous les fichiers dans ~/tpotce pour être synchronisés avec la branche principale de T-Pot
  • restaurer votre ews.cfg personnalisé depuis ~/tpotce/data/ews/conf et la configuration T-Pot (~/tpotce/.env).

Redémarrage quotidien

Par défaut, T-Pot ajoutera un redémarrage quotidien incluant un nettoyage. Vous pouvez ajuster cette ligne avec `sudo crontab -e```` #Ansible: T-Pot Daily Reboot 42 2 * * * bash -c 'systemctl stop tpot.service && docker container prune -f; docker image prune -f; docker volume prune -f; /usr/sbin/shutdown -r +1 "T-Pot Daily Reboot"'

root@kitploit:~
## Problèmes connus
Les problèmes suivants sont connus, suivez simplement les étapes décrites pour les résoudre.
<br><br>

### Les images Docker ne parviennent pas à se télécharger
Il y a quelque temps, Docker a introduit des [limites de débit](https://docs.docker.com/docker-hub/download-rate-limit/#:~:text=Docker%20Hub%20limits%20the%20number,pulls%20per%206%20hour%20period.) de téléchargement. Si vous téléchargez fréquemment des images Docker via une seule adresse IP ou une adresse partagée, il est possible que cette adresse IP ait épuisé la limite de débit de téléchargement de Docker. Connectez-vous à votre compte Docker pour augmenter cette limite.```
sudo su -
docker login

Échecs réseau de T-Pot

T-Pot est conçu pour fonctionner uniquement sur des machines avec une seule interface réseau (NIC). T-Pot tentera de saisir l'interface avec la route par défaut, mais il n'est pas garanti que cela réussisse toujours. Il est préférable d'utiliser T-Pot sur des machines avec une seule interface réseau.

Démarrer T-Pot

Le service T-Pot démarre et s'arrête automatiquement à chaque redémarrage (qui a lieu une fois par jour comme configuré dans sudo crontab -l lors de l'installation).
Si vous souhaitez démarrer manuellement le service T-Pot, vous pouvez le faire via systemctl start tpot et observer via dpsw le démarrage des conteneurs.

Arrêter T-Pot

Le service T-Pot démarre et s'arrête automatiquement à chaque redémarrage (qui a lieu une fois par jour comme configuré dans sudo crontab -l lors de l'installation).
Si vous souhaitez arrêter manuellement le service T-Pot, vous pouvez le faire via systemctl stop tpot et observer via dpsw l'arrêt des conteneurs.

Dossier de données T-Pot

Tous les fichiers journaux persistants des honeypots, outils et services liés à T-Pot sont stockés dans ~/tpotce/data. Cela inclut les artefacts collectés qui ne sont pas transmis à la pile Elastic.

Persistance des journaux

Toutes les données des journaux sont stockées dans le Dossier de données T-Pot et seront persistées pour le nombre de cycles défini par TPOT_PERSISTENCE_CYCLES=<1-999> dans le fichier de configuration T-Pot ~/tpotce/.env. La valeur par défaut est 30.
Les indices Elasticsearch sont gérés par la politique de cycle de vie des index tpot qui peut être ajustée directement dans Kibana (assurez-vous d'"Inclure les politiques système gérées"). IndexManagement1

Par défaut, la politique de cycle de vie des index tpot conserve les indices pendant 30 jours. Cela offre un bon équilibre entre stockage et rapidité. Cependant, vous pouvez ajuster la politique selon vos besoins. IndexManagement2

Réinitialisation d'usine

Toutes les données des journaux stockées dans le Dossier de données T-Pot (à l'exception des indices Elasticsearch, bien sûr) peuvent être effacées en exécutant clean.sh. Parfois, les choses peuvent se casser de manière irréparable et il n'a jamais été aussi facile de réinitialiser un T-Pot aux paramètres d'usine (assurez-vous d'entrer cd ~/tpotce).

  1. Arrêtez T-Pot en utilisant systemctl stop tpot.
  2. Déplacez / Sauvegardez le dossier ~/tpotce/data dans un endroit sûr (c'est facultatif, juste au cas où).
  3. Supprimez le dossier ~/tpotce/data en utilisant sudo rm -rf ~/tpotce/data.
  4. Réinitialisez T-Pot au dernier commit récupéré:``` cd ~/tpotce/ git reset --hard
root@kitploit:~
5. Vous pouvez maintenant exécuter `~/tpotce/install.sh`.
<br><br>

## Afficher les conteneurs et les images
Vous pouvez afficher tous les conteneurs pertinents de T-Pot en exécutant `dps` ou `dpsw [intervalle]`. L'`intervalle (s)` relancera `dps` périodiquement. Utilisez `dim` pour afficher les images Docker disponibles localement, y compris la colonne `CREATED`.
<br><br>

## Blackhole
Blackhole exécutera T-Pot en mode furtif, sans les visites permanentes des scanners connus publiquement, réduisant ainsi la possibilité d'être exposé. Bien qu'il s'agisse toujours d'un jeu du chat et de la souris, la fonction Blackhole annule toutes les requêtes provenant des [scanners de masse connus](https://raw.githubusercontent.com/stamparm/maltrail/master/trails/static/mass_scanner.txt) tout en capturant les événements via Suricata.
<br>
La fonction est activée en définissant `TPOT_BLACKHOLE=DISABLED` dans `~/tpotce/.env`, puis en exécutant `systemctl stop tpot` et `systemctl start tpot` ou `sudo reboot`.
<br>
L'activation de cette fonction réduira considérablement la visibilité des attaquants et entraînera donc moins d'activité. Cependant, comme déjà mentionné, cela ne garantit pas une discrétion totale et n'empêchera pas l'empreinte numérique de certains services de honeypot.
<br><br>

## Ajouter des utilisateurs à Nginx (Interface Web T-Pot)
Nginx (Interface Web T-Pot) vous permet d'ajouter autant de comptes `<WEB_USER>` que vous le souhaitez (selon les [Types d'utilisateurs](#user-types)).<br>
Pour **ajouter** un nouvel utilisateur, exécutez `~/tpotce/genuser.sh`.<br>
Pour **supprimer** des utilisateurs, ouvrez `~/tpotce/.env`, localisez `WEB_USER` et supprimez la chaîne base64 correspondante (pour décoder : `echo <chaîne_base64> | base64 -d`, ou ouvrez CyberChef et chargez la recette "From Base64").<br>
Pour que les modifications prennent effet, vous devez redémarrer T-Pot en utilisant `systemctl stop tpot` et `systemctl start tpot` ou `sudo reboot`.
<br><br>

## Importer et exporter des objets Kibana
Certaines mises à jour de T-Pot vous demanderont de mettre à jour les objets Kibana. Soit pour prendre en charge de nouveaux honeypots, soit pour améliorer les tableaux de bord ou visualisations existants. Assurez-vous d'***exporter*** d'abord afin de ne pas perdre vos ajustements.

### Exporter
1. Allez dans Kibana
2. Cliquez sur "Stack Management"
3. Cliquez sur "Saved Objects"
4. Cliquez sur "Export <no.> objects"
5. Cliquez sur "Export all"
Cela exportera un fichier NDJSON avec tous vos objets. Effectuez toujours une exportation complète pour vous assurer que toutes les références sont incluses.

### Importer
1. [Téléchargez le fichier NDJSON](https://raw.githubusercontent.com/telekom-security/tpotce/refs/heads/master/docker/tpotinit/dist/etc/objects/kibana_export.ndjson.zip) et décompressez-le.
2. Allez dans Kibana
3. Cliquez sur "Stack Management"
4. Cliquez sur "Saved Objects"
5. Cliquez sur "Import" et laissez les valeurs par défaut (vérifier les objets existants et écraser automatiquement les conflits) si vous n'avez pas apporté de modifications personnelles aux objets Kibana.
6. Parcourez pour sélectionner le fichier NDJSON
Lorsque la question est posée : "Si certains objets existent déjà, voulez-vous les écraser automatiquement ?" vous répondez par "Oui, tout écraser".
<br><br>

# Dépannage
En général, T-Pot est fourni ***en l'état*** sans aucun engagement de support. Des problèmes et des discussions peuvent être ouverts, mais préparez-vous à inclure les informations de base nécessaires pour que la communauté puisse vous aider.
<br><br>

## Journaux
* Vérifiez si vos conteneurs fonctionnent correctement : `dps`
* Vérifiez les images Docker disponibles localement et leur âge : `dim`
* Vérifiez si vos ressources système ne sont pas épuisées : `htop`, `docker stats`
* Vérifiez s'il y a un conflit de ports :```
systemctl stop tpot
grc netstat -tulpen
mi ~/tpotce/docker-compose.yml
docker-compose -f ~/tpotce/docker-compose.yml up
CTRL+C
docker-compose -f ~/tpotce/docker-compose.yml down -v
  • Vérifiez les logs de chaque conteneur : docker logs -f <container_name>
  • Vérifiez le log tpotinit : cat ~/tpotce/data/tpotinit.log

RAM et stockage

La pile Elastic a besoin de beaucoup de RAM, en particulier logstash et elasticsearch. Si la pile Elastic n'est pas disponible, ne reçoit aucun log ou ne cesse de planter, il s'agit très probablement d'un problème de RAM ou de stockage.
Pendant que T-Pot essaie de redémarrer les services/conteneurs, exécutez docker logs -f <container_name> (soit logstash soit elasticsearch) et vérifiez s'il y a des avertissements ou des échecs liés à la RAM.

Les défaillances de stockage peuvent être identifiées plus facilement via htop.

Contact

T-Pot est fourni en l'état open source sans aucun engagement concernant le support (voir l'avertissement).

Si vous êtes un chercheur en sécurité et souhaitez signaler un problème de manière responsable, veuillez contacter notre CERT.

Problèmes

Veuillez signaler les problèmes (erreurs) sur nos GitHub Issues, mais d'abord résoudre les problèmes. Les problèmes qui ne fournissent pas d'informations pour résoudre l'erreur seront fermés ou convertis en discussions.

Utilisez d'abord la fonction de recherche, il est possible qu'un problème similaire ait déjà été traité ou discuté, avec la solution à portée de recherche.

Discussions

Les questions générales, les idées, les présentations, etc. peuvent être adressées sur nos GitHub Discussions.

Utilisez la fonction de recherche, il est possible qu'une discussion similaire ait déjà été ouverte, avec une réponse à portée de recherche.

Licences

Les logiciels sur lesquels T-Pot est construit utilisent les licences suivantes.
GPLv2: conpot, galah, dionaea, honeytrap, suricata
GPLv3: adbhoney, elasticpot, ewsposter, log4pot, fatt, heralding, ipphoney, miniprint, redishoneypot, rdphoneypot, sentrypeer, snare, tanner
Apache 2 License: cyberchef, dicompot, elasticsearch, go-pot, h0neytr4p, logstash, kibana, docker
MIT license: autoheal, beelzebub, ciscoasa, ddospot, elasticvue, glutton, hellpot, honeyaml, maltrail
Unlicense: endlessh
Other: citrixhoneypot, cowrie, mailoney, Elastic License, Wordpot
AGPL-3.0: honeypots
Public Domain (CC): Harvard Dataverse

Crédits

Sans l'open source et la communauté de développement dont nous sommes fiers de faire partie, T-Pot n'aurait pas été possible ! Nos remerciements vont, sans s'y limiter, aux personnes et organisations suivantes :

Les développeurs et les communautés de développement de

  • adbhoney, beelzebub, ciscoasa, citrixhoneypot, conpot, cowrie, ddospot, dicompot, dionaea, docker, elasticpot, elasticsearch, elasticvue, endlessh, ewsposter, fatt, galah, glutton, go-pot, h0neytr4p, hellpot, heralding, honeyaml, honeypots, honeytrap, ipphoney, kibana, logstash, log4pot, mailoney, maltrail, medpot, miniprint, p0f, redishoneypot, rdphoneypot, sentrypeer, spiderfoot, snare, tanner, suricata, wordpot

Les entreprises et organisations suivantes

  • docker, elastic.io, honeynet project

Et bien sûr VOUS pour avoir rejoint la communauté !


Témoignages

L'un des meilleurs retours que nous ayons eus jusqu'à présent vient de l'un des développeurs de Conpot :
"[...] Je recommande vivement T-Pot qui est... ce n'est pas exactement un couteau suisse... c'est plutôt un soldat suisse, équipé d'un couteau suisse. À l'intérieur d'un char. Un char suisse. [...]"

Et de @robcowart (créateur de ElastiFlow) :
"#TPot est l'une des solutions de honeypot clé en main les mieux conçues. C'est un incontournable pour quiconque souhaite analyser et comprendre le comportement des acteurs malveillants et la menace qu'ils représentent pour votre organisation."

Merci 💖