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
pentest_lab — Laboratoire local de test d'intrusion utilisant docker-compose. | Kitploit
Outils/GitHubGitHub/oliverwiegers/pentest_lab
Sécurité WebTests d'IntrusionApprentissage et ÉducationLabs et Pratique
GitHuboliverwiegers/pentest_lab

pentest_lab

Laboratoire local de test d'intrusion utilisant docker-compose.

Voir le dépôt
21855il y a 1 anVérifié par Kitploit

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

Pentest Lab

Je ne développe plus activement ce projet, mais je corrigerai les bugs et examinerai les issues et les pull requests. Toute aide est appréciée :)

Ce laboratoire de pentest local utilise Docker Compose pour déployer plusieurs services victimes et un service d'attaque exécutant Kali Linux. Si vous lancez ce labo pour la première fois, le téléchargement des différentes images Docker prendra du temps.

Screencast

Commandes exécutées :

  • ./lab.sh --help
  • ./lab.sh --check-dependencies
  • ./lab.sh --up --all-services
  • ./lab.sh --info
  • ./lab.sh --overview all
  • ssh root@kali -o "UserKnownHostsFile /dev/null"
  • ./lab.sh --down

Utilisation

Le laboratoire devrait fonctionner sans configuration supplémentaire si toutes les dépendances nécessaires sont installées. Au démarrage, le labo effectuera une vérification des dépendances.

Démarrer le laboratoire

root@kitploit:~
git clone https://github.com/oliverwiegers/pentest_lab
cd pentest_lab
./lab.sh -u

Par défaut, le labo démarre tous les services victimes et un service red team. D'autres services peuvent être démarrés et ajoutés. Plus d'informations à ce sujet ci-dessous.

Pour plus d'informations sur l'utilisation, consultez le message d'aide affiché par ./lab.sh -h | --help.

Dépendances

  • bash
  • find
  • sed
  • yq (La version Python. Pas yq-go.)
  • docker
  • docker-compose

Le labo intègre une vérification des dépendances qui s'exécute au démarrage. Elle peut aussi être lancée manuellement avec ./lab.sh -C.

Heimdall

img

Pour faciliter l'utilisation, une interface Heimdall a été ajoutée et exposée sur localhost:7000. Tous les services exposés à votre machine locale et accessibles via un navigateur y sont listés. Les modifications apportées à l'interface sont automatiquement sauvegardées dans ./etc/heimheimdall. Ce répertoire est ensuite transformé en ./etc/heimdall.tar lors de l'arrêt du labo. Cette archive tar sera extraite au démarrage. Les deux ./etc/heimdall.tar et ./etc/heimdall sont ignorés par git par défaut.

Le fond d'écran utilisé peut être trouvé ici.

Services

Ce laboratoire connaît les quatre types de services suivants.

  • red_team
  • blue_team
  • victim
  • monitoring

Le service red team par défaut – le service Kali – est une instance Kali assez basique. Néanmoins, le métapackage kali-tools-web est installé. Pour un laboratoire de test d'applications web, les outils de test web de base semblent utiles. Cela peut être modifié en éditant le Dockerfile à partir duquel l'image est construite, situé dans ./dockerfiles/kali. Le service Kali installe par défaut ces dotfiles. Cela est également modifiable en ajustant le Dockerfile.

Services victimes

  • juice-shop
  • hackazon
  • tiredful-api
  • WebGoat
  • bwapp
  • DVWA
  • XVWA
  • ninjas

Services de monitoring

img img

Bien que les services de monitoring soient également des services blue_team, ils sont classés dans une catégorie distincte.

Cette pile fournit des fonctionnalités d'observation des logs et des performances.

Pour plus d'informations sur chaque instance, voir ci-dessous.

Actuellement, la configuration de monitoring est composée des services suivants :

  • Grafana - Visualise les logs et les métriques.
  • Loki - Envoie les logs Docker à Grafana.
  • Prometheus - Envoie les métriques à Grafana.
  • cAdvisor - Collecte l'utilisation des ressources des conteneurs et les métriques et les envoie à Prometheus.

Grafana

L'instance Grafana fournit deux tableaux de bord : un pour les logs et un pour les métriques.

  • Tableau de bord des logs
  • Tableau de bord des métriques

Ce sont des tableaux assez basiques. On peut en ajouter d'autres via l'interface Grafana. Ces tableaux de bord seront perdus lorsque le volume Grafana sera supprimé. Pour ajouter des tableaux de bord de manière permanente, consultez la documentation de provisionnement de Grafana. Les répertoires utilisés pour le provisionnement se trouvent dans ./etc/grafana/.

Pour modifier les paramètres via l'interface Grafana, il faut se connecter en tant que admin. Les identifiants sont ceux par défaut : admin:admin. #hacktheplanet

Loki

Pour que Loki puisse collecter les logs Docker, ce laboratoire installe le Loki Docker Driver comme plugin Docker.

Prometheus / cAdvisor

Pour que Prometheus puisse accéder aux métriques de performance des conteneurs s'exécutant dans le cluster, cAdvisor est utilisé.

Ajout de services

Pour ajouter des services supplémentaires, une petite connaissance des fichiers docker-compose.yml est nécessaire. Le fichier docker-compose.yml à la racine de ce dépôt est généré automatiquement au démarrage du labo. Ce processus utilise les fichiers yaml situés dans ./etc/services.

root@kitploit:~
➜  pentest_lab tree ./etc/services
./etc/services
├── blue_team
│   └── endlessh.yml
├── default.yml
├── monitoring
│   ├── cadvisor.yml
│   ├── grafana.yml
│   ├── loki.yml
│   └── prometheus.yml
├── red_team
└── victim
    ├── beginner
    │   ├── bwapp.yml
    │   ├── dvwa.yml
    │   ├── hackazon.yml
    │   ├── tiredful.yml
    │   ├── webgoat.yml
    │   └── xvwa.yml
    ├── expert
    │   └── juice-shop.yml
    └── intermediate
        └── ninjas.yml

Les services qui seront démarrés sont contrôlés en invoquant ./lab.sh avec les options correspondantes. Pour désactiver définitivement un service, supprimez l'extension .yml du fichier.

Un exemple de service victime serait :

root@kitploit:~
bwapp:
  labels:
    class: 'victim'
    cluster: 'pentest_lab'
    level: 'beginner'
  image: raesene/bwapp
  ports:
    - '8080:80'
  networks:
    pentest_lab:
      ipv4_address: 10.5.0.100
  hostname: bwapp
  volumes:
    - bwapp-data:/var/lib/mysql

Note : Si un service nécessite une installation lors de la première utilisation, utilisez docker inspect <image_name> pour trouver où l'image Docker stocke les données et ajoutez un volume pointant vers ce répertoire. Dans l'exemple ci-dessus, cela donne :

root@kitploit:~
  volumes:
    - bwapp-data:/var/lib/mysql

Cela garantit que vous n'avez pas à configurer le service à nouveau à chaque redémarrage du labo. Mais si vous souhaitez réinitialiser le labo et repartir de zéro, vous pouvez utiliser ./lab.sh -p | --prune. Cela supprimera toutes les ressources appartenant au labo.

Plages d'adresses IP

La raison pour laquelle nous avons utilisé des adresses IP statiques est que la box Kali a besoin d'une adresse IP qui ne change pas pour simplifier la connexion SSH. Plus d'informations dans la section Astuces/Trucs ci-dessous.

  • Les services red team commencent à 10.5.0.5
    • Le service Kali a l'adresse 10.5.0.5.
  • Les services blue team commencent à 10.5.0.50
  • Les services victimes commencent à 10.5.0.100
  • Les services de monitoring commencent à 10.5.0.200

Informations sur les services

Si vous ajoutez des services et qu'il y a des informations supplémentaires utiles pour quiconque utilise ce labo, vous pouvez ajouter ces informations dans ./etc/services_info. Le contenu de ce fichier sera affiché tel quel, ligne par ligne, en exécutant ./lab.sh -i.

Astuces/Trucs

SSH

Pour une connexion facile au service Kali, on peut ajouter ce qui suit à $HOME/.ssh/cofig :

root@kitploit:~
Host kali
    User root
    Hostname 10.5.0.5
    UserKnownHostsFile /dev/null
    StrictHostKeyChecking accept-new

Ainsi, au lieu de ssh [email protected] -o "UserKnownHostsFile /dev/null", on peut exécuter ssh kali.

Pour les utilisateurs de tmux, ce qui suit se connectera automatiquement à une session tmux :

root@kitploit:~
Host kali
    User root
    Hostname 10.5.0.5
    UserKnownHostsFile /dev/null
    StrictHostKeyChecking accept-new
    RequestTTY yes
    RemoteCommand tmux -L tmux new-session -As hacktheplanet
Télécharger l’outil