Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
purpleteam-s2-containers — Contenitori della fase due | Kitploit
Strumenti/GitLabGitLab/purpleteam-labs/purpleteam-s2-containers
Scanner di VulnerabilitàSicurezza dei ContenitoriAnalisi Dinamica (Sandboxing)Sicurezza WebPenetration TestingSicurezza CloudDevSecOpsApprendimento e FormazioneArchived
GitLabpurpleteam-labs/purpleteam-s2-containers

purpleteam-s2-containers

Contenitori della fase due

Vedi Repository
1105 anni faNon ancora revisionato

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

logo purpleteam

Contenitori Stage Two di purpleteam


Contenitori Stage Two di purpleteam




Questi contenitori vengono avviati dinamicamente in base all'input di configurazione Build User (Job) fornito alla CLI di purpleteam, in particolare al numero di testSession che definisci.

Le seguenti configurazioni sono rilevanti se intendi eseguire il back-end di purpleteam nell'ambiente local. Nel cloud viene fatto tutto per te.

Clona questo repository.

Definisci le variabili d'ambiente

app-slave (Zap)

Usiamo un file .env direttamente nella directory app-slave per i test.

ZAP_API_KEY

Assicurati di aver assegnato un valore alla variabile d'ambiente ZAP_API_KEY.

ZAP_API_KEY può essere qualsiasi cosa tu scelga, assicurati solo che, oltre a definirla per app-slave, la aggiunga anche alla configurazione del progetto app-scanner. Il progetto app-scanner richiede che la chiave API Zap sia configurata per autenticarsi a Zap in esecuzione nel contenitore Stage Two. Per il progetto app-scanner, deve essere impostata nel seguente modo:
{ "slave": { "apiKey": <zap-api-key-here> } }

HOST_ZAP_LOG4J_PROPERTIES_PATH e ZAP_LOG4J_PROPERTIES_PATH_MOUNT_TARGET

Se/quando hai bisogno dei log di debug di Zap, dovrai anche aggiungere le variabili d'ambiente per la configurazione di debug LOG4J.

File .env

Se scegli di utilizzare un file .env, l'aggiunta di tutte queste variabili d'ambiente sarebbe simile a quanto segue:

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

Debugging

app-slave (Zap)

Log di debug

A patto che tu abbia impostato le variabili d'ambiente discusse sopra:

Per attivare il logging di debug per i contenitori app-slave (Zap) che vengono eseguiti nell'ambiente local, decommenta l'array volumes e l'elemento contenente la chiave source con la variabile d'ambiente HOST_ZAP_LOG4J_PROPERTIES_PATH.

Dettagli sotto per visualizzare effettivamente i log.

Interazione con Zap

Puoi interagire con Zap (consultare l'interfaccia utente di Zap) mentre i tuoi test sono in esecuzione. In passato lo abbiamo trovato utile per verificare lo stato di Zap durante il debug di app-scanner.

  1. Conferma che il contenitore appslave_zap_[n] sia in esecuzione con:
    root@kitploit:~
    docker stats
    
  2. Controlla a quale porta host è associato il contenitore appslave_zap_[n] con:
    root@kitploit:~
    docker container ls
    
    Potrebbe essere una qualsiasi porta tra 8080-8091 inclusi, come definito in docker-compose.yml.
    La porta su cui Zap all'interno del contenitore è in ascolto sarà sempre 8080
  3. Nel tuo browser, usando FoxyProxy, configura un proxy per localhost:[zap-host-port]
    FoxyProxyDetails_Zap-min
    Opzionale: configura il seguente Pattern URL in FoxyProxy: zap:8080/*
    FoxyProxyURLPattern_Zap-min
    Se usi il Pattern URL, ti permetterà di lasciare FoxyProxy attivo, selezionando "Use proxies based on their predefined patterns and priorities". In caso contrario, puoi semplicemente selezionare il proxy specifico che hai creato
  4. Naviga a http://zap:8080/
    Le tue richieste verranno proxygate attraverso la porta host e riceveranno risposta tramite il processo zap nel contenitore specificato dalla porta host nella tua configurazione FoxyProxy

selenium-standalone

Log di debug

Per attivare il logging di debug per i contenitori Selenium che vengono eseguiti nell'ambiente local, decommenta l'array environment e l'elemento SE_OPTS=-debug per chrome e/o firefox.

Dettagli sotto per visualizzare effettivamente i log.

Visualizzazione del browser nel contenitore Selenium

Quanto segue delinea ciò che dovrai fare per visualizzare il browser all'interno di uno qualsiasi dei contenitori Selenium eseguiti da questo progetto.

docker-compose.yml set-up:

  • Sostituisci le immagini dei contenitori con le immagini -debug. Le immagini -debug potrebbero essere commentate, quindi è sufficiente commentare l'immagine normale e decommentare l'immagine con -debug aggiunto alla fine.
  • Assicurati di poter accedere al server VNC all'interno del contenitore decommentando l'intervallo di porte 5900. Specificando un intervallo come porta esterna (Es: 5900-5901) potrai connetterti in VNC a più di un contenitore contemporaneamente, nell'esempio abbiamo consentito l'apertura di due sessioni contemporaneamente. Se devi connetterti in VNC a più di due, allarga semplicemente l'intervallo di porte esterne.

VNC Client set-up:

  1. Avrai bisogno di un client VNC per aprire una connessione al server VNC all'interno del contenitore. Abbiamo avuto successo utilizzando Remmina Remote Desktop Client su Linux Mint. Installa Remmina-plugin-vnc tramite Software Manager.

  2. Esegui il tuo Remmina Remote Desktop Client

  3. Crea nuove voci. Se intendi connetterti in VNC a un paio di contenitori Selenium contemporaneamente, puoi configurarli come segue:

    ChiaveValore
    Nameseleniumstandalone_chrome_1
    ProtocolVNC - Virtual Network Computing
    Nella scheda Base
    Server127.0.0.1:5900
    Passwordsecret
    Profondità coloreTrue color (24 bit) # Questa è stata l'unica che ha funzionato per noi
    QualitàPoor (fastest)

Ulteriori dettagli sul SeleniumHQ github

Visualizzazione del browser nel contenitore Selenium

Una volta che i contenitori Selenium sono in esecuzione (tenere docker stats in esecuzione in un terminale è comodo per visualizzarlo), puoi confermare quale contenitore Selenium sta utilizzando quale porta esterna con docker container ls, poiché Docker non sa quali porte hai assegnato a quali voci del client VNC, quindi il nome di una determinata voce del client VNC potrebbe non corrispondere necessariamente al contenitore Selenium con lo stesso nome. Per questo motivo è una buona idea confermare i mapping delle porte con docker container ls.

Per correlare quale contenitore Selenium viene utilizzato per quale Test Session quando hai più Test Session, potrebbe essere necessario esaminare il log di app-scanner in esecuzione. Potrebbe anche essere necessario assicurarsi che app-scanner sia configurato con livello di log debug per vedere alcuni o più dei seguenti messaggi di log:

[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

In questo esempio abbiamo due Test Session configurate nel nostro Build User config (Job). Una ha un id di lowPrivUser e l'altra ha un id di adminUser. In questo esempio, la Test Session lowPrivUser ha un processo con PID 28 e la Test Session adminUser ha un processo con PID 34.
Nei due messaggi di log successivi vediamo, correlando i PID, che la Test Session lowPrivUser sta eseguendo un contenitore chiamato seleniumstandalone_chrome_1 e la Test Session adminUser sta eseguendo un contenitore chiamato seleniumstandalone_chrome_2.
Non ci sono garanzie su quale Test Session eseguirà quale dei contenitori seleniumstandalone_chrome_[n], quindi se hai bisogno di essere sicuro, usa questa tecnica di correlazione.

Per connetterti in VNC ai contenitori Selenium, una volta che Remmina è in esecuzione, fai semplicemente doppio clic su una o più delle voci VNC che hai creato sopra e dovresti essere in grado di vedere il browser mentre viene interagito... a condizione che i passaggi del test Cucumber in app-scanner siano effettivamente arrivati a quel punto.
Ovviamente puoi rallentare i tuoi test, metterli in pausa, eseguirli passo passo con un debugger. Questi dettagli si trovano nella wiki di purpleteam nella pagina del workflow

Redirecting and viewing container logs

In locale, puoi tenere in esecuzione docker stats se vuoi, così puoi vedere quali contenitori sono in esecuzione, quando vengono avviati e arrestati. Questo ti darà anche i loro nomi per i comandi successivi.

Per visualizzare i log del contenitore Stage Two, segui stdout (e stderr, poiché Docker unisce stdout e stderr) di un contenitore:

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

Se desideri anche inviare quei log a un file:

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

Se desideri inviare quei log a un file senza visualizzarli tramite il tuo terminale:

root@kitploit:~
docker logs --follow [container-name] > output.log$(date '+%Y-%m-%d_%T')
Scarica lo strumento
ChiaveValore
Nameseleniumstandalone_chrome_2
ProtocolVNC - Virtual Network Computing
Nella scheda Base
Server127.0.0.1:5901
Passwordsecret
Profondità coloreTrue color (24 bit) # Questa è stata l'unica che ha funzionato per noi
QualitàPoor (fastest)