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
purpleteam-s2-containers — Conteneurs de deuxième étape | Kitploit
Outils/GitLabGitLab/purpleteam-labs/purpleteam-s2-containers
Scanners de VulnérabilitésSécurité des ConteneursAnalyse Dynamique (Sandboxing)Sécurité WebTests d'IntrusionSécurité CloudDevSecOpsApprentissage et ÉducationArchived

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
GitLabpurpleteam-labs/purpleteam-s2-containers

purpleteam-s2-containers

Conteneurs de deuxième étape

Voir le dépôt
1il y a 5 ansPas encore vérifié

logo purpleteam

Conteneurs de l'étape deux de purpleteam


Conteneurs de l'étape deux de purpleteam




Ces conteneurs sont démarrés dynamiquement en fonction de la configuration utilisateur du Build (Job) fournie au CLI purpleteam, en particulier le nombre de testSessions que vous définissez.

Les configurations suivantes sont pertinentes si vous avez l'intention d'exécuter le backend purpleteam dans l'environnement local. Dans le cloud, tout est fait pour vous.

Clonez ce dépôt.

Définir les variables d'environnement

app-slave (Zap)

Nous utilisons un fichier .env directement dans le répertoire app-slave pour les tests.

ZAP_API_KEY

Assurez-vous d'avoir attribué une valeur à la variable d'environnement ZAP_API_KEY.

La ZAP_API_KEY peut être ce que vous voulez, assurez-vous simplement qu'en la définissant pour app-slave, vous l'ajoutez également à la configuration du projet app-scanner. Le projet app-scanner nécessite que la clé API Zap soit configurée pour s'authentifier auprès de Zap exécuté dans le conteneur de l'étape deux. Pour le projet app-scanner, cela doit être défini comme suit : { "slave": { "apiKey": <zap-api-key-here> } }

HOST_ZAP_LOG4J_PROPERTIES_PATH et ZAP_LOG4J_PROPERTIES_PATH_MOUNT_TARGET

Si/Quand vous avez besoin des logs de débogage Zap, vous devrez également ajouter les variables d'environnement pour la configuration de débogage LOG4J.

.env fichier

Si vous choisissez d'utiliser un fichier .env, l'ajout de toutes ces variables d'environnement ressemblerait à ce qui suit :

root@kitploit:~
ZAP_API_KEY=<zap-api-key-here>
HOST_ZAP_LOG4J_PROPERTIES_PATH=<absolute-path-to/purpleteam-s2-containers/app-slave/log4j.properties>
ZAP_LOG4J_PROPERTIES_PATH_MOUNT_TARGET=/home/zap/.ZAP/log4j.properties

Débogage

app-slave (Zap)

Journalisation de débogage

À condition que vous ayez établi les variables d'environnement discutées ci-dessus :

Afin d'activer la journalisation de débogage pour les conteneurs app-slave (Zap) qui s'exécutent dans l'environnement local, décommentez le tableau volumes et l'élément contenant la clé source avec la variable d'environnement HOST_ZAP_LOG4J_PROPERTIES_PATH.

Détails ci-dessous pour visualiser les logs.

Interagir avec Zap

Vous pouvez interagir avec Zap (interroger l'interface utilisateur Zap) pendant que vos tests s'exécutent. Nous avons trouvé cela utile par le passé pour vérifier l'état de Zap lors du débogage de app-scanner.

  1. Confirmez que le conteneur appslave_zap_[n] est en cours d'exécution avec :
    root@kitploit:~
    docker stats
    
  2. Vérifiez quel port hôte est lié au conteneur appslave_zap_[n] avec :
    root@kitploit:~
    docker container ls
    
    Cela peut être n'importe quel port entre 8080-8091 inclus, comme défini dans le docker-compose.yml. Le port sur lequel Zap à l'intérieur du conteneur écoute sera toujours 8080.
  3. Dans votre navigateur, en utilisant FoxyProxy, configurez un proxy vers localhost:[zap-host-port] FoxyProxyDetails_Zap-min Optionnel : configurez le modèle d'URL suivant dans FoxyProxy : zap:8080/* FoxyProxyURLPattern_Zap-min Si vous utilisez le modèle d'URL, cela vous permettra de laisser FoxyProxy activé, en sélectionnant "Use proxies based on their predefined patterns and priorities". Sinon, vous pouvez simplement sélectionner le proxy spécifique que vous avez créé.
  4. Naviguez vers http://zap:8080/ Vos requêtes seront proxyfiées via votre port hôte et recevront une réponse via le processus zap dans le conteneur spécifié par le port hôte dans votre configuration FoxyProxy.

selenium-standalone

Journalisation de débogage

Afin d'activer la journalisation de débogage pour les conteneurs Selenium qui s'exécutent dans l'environnement local, décommentez le tableau environment et l'élément SE_OPTS=-debug pour chrome et/ou firefox.

Détails ci-dessous pour visualiser les logs.

Visualiser le navigateur dans le conteneur Selenium

Ce qui suit décrit ce que vous devrez faire pour visualiser le navigateur à l'intérieur de l'un des conteneurs Selenium exécutés à partir de ce projet.

Configuration docker-compose.yml :

  • Remplacez les images de conteneur par les images -debug. Les images -debug peuvent être commentées, il suffit donc de commenter l'image habituelle et de décommenter l'image avec -debug ajouté à la fin.
  • Assurez-vous de pouvoir accéder au serveur VNC dans le conteneur en décommentant la plage de ports 5900. En spécifiant une plage comme port externe (Ex : 5900-5901), vous pourrez vous connecter en VNC à plusieurs conteneurs à la fois. Dans l'exemple, nous avons permis l'ouverture de deux sessions simultanément. Si vous devez vous connecter en VNC à plus de deux, élargissez simplement la plage de ports externes.

Configuration du client VNC :

  1. Vous aurez besoin d'un client VNC pour ouvrir une connexion au serveur VNC dans le conteneur. Nous avons eu du succès avec le client de bureau à distance Remmina sur Linux Mint. Installez Remmina-plugin-vnc via le Gestionnaire de logiciels.

  2. Lancez votre client de bureau à distance Remmina.

  3. Créez de nouvelles entrées. Si vous avez l'intention de vous connecter en VNC à plusieurs conteneurs Selenium simultanément, vous pouvez configurer chacun comme suit :

Plus de détails sur le github SeleniumHQ

Visualiser le navigateur dans le conteneur Selenium

Une fois que les conteneurs Selenium sont en cours d'exécution (garder docker stats ouvert dans un terminal est pratique pour visualiser cela), vous pouvez confirmer quel conteneur Selenium utilise quel port externe avec docker container ls, car Docker ne sait pas quels ports vous avez attribués à quelles entrées de votre client VNC, donc le nom d'une entrée client VNC donnée peut ne pas correspondre au conteneur Selenium portant le même nom. Pour cette raison, il est bon de confirmer les mappages de ports avec docker container ls.

Afin de corréler quel conteneur Selenium est utilisé pour quelle session de test lorsque vous avez plusieurs sessions de test, vous devrez peut-être consulter le journal du app-scanner en cours d'exécution. Vous devrez peut-être également vous assurer que app-scanner est configuré avec le niveau de journalisation debug afin de voir certains ou plusieurs des messages de journal suivants :

[app.parallel] cucCli process with PID "28" has been spawned for test session with Id "lowPrivUser"

[app.parallel] cucCli process with PID "34" has been spawned for test session with Id "adminUser"

[pid-28,world] seleniumContainerName is: seleniumstandalone_chrome_1

[pid-34,world] seleniumContainerName is: seleniumstandalone_chrome_2

Dans cet exemple, nous avons deux sessions de test configurées dans notre configuration utilisateur Build (Job). L'une a un id de lowPrivUser et l'autre un id de adminUser. Dans cet exemple, la session de test lowPrivUser a un processus avec PID 28 et la session de test adminUser a un processus avec PID 34. Dans les deux messages de journal suivants, nous voyons, en corrélant les PID, que la session de test lowPrivUser utilise un conteneur nommé seleniumstandalone_chrome_1 et la session de test adminUser utilise un conteneur nommé seleniumstandalone_chrome_2. Il n'y a aucune garantie quant à la session de test qui utilisera lequel des conteneurs seleniumstandalone_chrome_[n], donc si vous avez besoin d'être sûr, utilisez cette technique de corrélation.

Pour vous connecter en VNC aux conteneurs Selenium, une fois Remmina lancé, double-cliquez simplement sur une ou plusieurs des entrées VNC que vous avez créées ci-dessus et vous devriez pouvoir voir le navigateur en cours d'interaction... à condition que les étapes de test Cucumber dans app-scanner soient effectivement arrivées à ce stade. Vous pouvez bien sûr ralentir vos tests, les mettre en pause, les parcourir avec un débogueur. Ces détails se trouvent dans le wiki purpleteam, sur la page du workflow.

Rediriger et visualiser les journaux des conteneurs

Localement, vous pouvez garder docker stats en cours d'exécution si vous le souhaitez pour voir quels conteneurs sont en cours d'exécution, quand ils sont démarrés et arrêtés. Cela vous donnera également leurs noms pour les commandes suivantes.

Afin de visualiser les journaux des conteneurs de l'étape deux, taillez stdout (et stderr, car Docker fusionne stdout et stderr) d'un conteneur :

root@kitploit:~
docker logs --follow [container-name]

Si vous souhaitez également envoyer ces journaux dans un fichier :

root@kitploit:~
docker logs --follow [container-name] |tee output.log$(date '+%Y-%m-%d_%T')

Si vous souhaitez envoyer ces journaux dans un fichier sans les visualiser via votre terminal :

root@kitploit:~
docker logs --follow [container-name] > output.log$(date '+%Y-%m-%d_%T')
Télécharger l’outil
CléValeur
Nomseleniumstandalone_chrome_1
ProtocoleVNC - Virtual Network Computing
Dans l'onglet De base
Serveur127.0.0.1:5900
Mot de passesecret
Profondeur de couleurTrue color (24 bit) # C'était le seul qui a fonctionné pour nous
QualitéFaible (le plus rapide)
CléValeur
Nomseleniumstandalone_chrome_2
ProtocoleVNC - Virtual Network Computing
Dans l'onglet De base
Serveur127.0.0.1:5901
Mot de passesecret
Profondeur de couleurTrue color (24 bit) # C'était le seul qui a fonctionné pour nous
QualitéFaible (le plus rapide)