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
pentest_lab — Laboratorio di penetration testing locale usando docker-compose. | Kitploit
Strumenti/GitHubGitHub/oliverwiegers/pentest_lab
Sicurezza WebPenetration TestingApprendimento e FormazioneLab e Pratica
GitHuboliverwiegers/pentest_lab

pentest_lab

Laboratorio di penetration testing locale usando docker-compose.

Vedi Repository
218551 anno faRevisionato da Kitploit

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

Laboratorio di Pentest

Non sto più sviluppando attivamente questo progetto, ma correggerò bug e controllerò issues e pull request. Ogni aiuto è gradito :)

Questo laboratorio di pentest locale utilizza docker compose per avviare più servizi vittima e un servizio attaccante che esegue Kali Linux. Se esegui questo laboratorio per la prima volta, ci vorrà del tempo per scaricare tutte le diverse immagini docker.

Screencast

Comandi eseguiti:

  • ./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

Utilizzo

Il laboratorio dovrebbe funzionare immediatamente se tutte le dipendenze necessarie sono installate. All'avvio, il laboratorio eseguirà un controllo delle dipendenze.

Avviare il laboratorio

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

Per impostazione predefinita, il laboratorio avvierà tutti i servizi vittima e un servizio red team. Altri servizi possono essere avviati e aggiunti. Maggiori informazioni sono riportate più avanti.

Per ulteriori informazioni sull'utilizzo, si consiglia di leggere il messaggio di aiuto mostrato da ./lab.sh -h | --help.

Dipendenze

  • bash
  • find
  • sed
  • yq (The Python version. Not yq-go.)
  • docker
  • docker-compose

Il laboratorio ha un controllo delle dipendenze integrato che viene eseguito all'avvio. Può anche essere eseguito manualmente con ./lab.sh -C.

Heimdall

img

Per facilità d'uso è stata aggiunta un'interfaccia Heimdall accessibile su localhost:7000. Lì sono elencati tutti i servizi esposti sulla tua macchina locale e accessibili tramite browser. Le modifiche apportate all'interfaccia vengono automaticamente salvate in ./etc/heimheimdall. Questa directory viene poi trasformata in ./etc/heimdall.tar durante l'arresto del laboratorio. Questo archivio tar verrà estratto all'avvio. Sia ./etc/heimdall.tar che ./etc/heimdall sono ignorati da git per impostazione predefinita.

Lo sfondo utilizzato può essere trovato qui.

Servizi

Questo laboratorio conosce i seguenti quattro tipi di servizi.

  • red_team
  • blue_team
  • victim
  • monitoring

Il servizio red team predefinito - il servizio Kali - è un'istanza Kali piuttosto base. Tuttavia, il metapacchetto kali-tools-web è installato. Per un laboratorio di test di applicazioni web, gli strumenti di base per il test web sembrano utili. Questo può essere modificato modificando il Dockerfile da cui viene creata l'immagine. Si trova in ./dockerfiles/kali. Il servizio kali installa questi dotfiles per impostazione predefinita. Anche questo è modificabile intervenendo sul Dockerfile.

Servizi vittima

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

Servizi di monitoraggio

img img

Anche se i servizi di monitoraggio sono anche servizi blue team, sono separati in una categoria diversa.

Questo stack fornisce funzionalità di osservazione dei log e delle prestazioni.

Per maggiori informazioni sulle singole istanze, vedere sotto.

Attualmente la configurazione di monitoraggio è composta dai seguenti servizi:

  • Grafana - Visualizza log e metriche.
  • Loki - Invia i log di docker a grafana.
  • Prometheus - Invia le metriche a grafana.
  • cAdvisor - Raccoglie l'utilizzo delle risorse dei container e le metriche e le invia a prometheus.

Grafana

L'istanza Grafana fornisce due dashboard: una per i log e una per le metriche.

  • Logs dashboard
  • Metrics dashboard

Sono piuttosto basiche. Se ne possono aggiungere altre tramite l'interfaccia di Grafana. Queste dashboard andranno perse quando il volume grafana viene eliminato. Per aggiungere dashboard permanentemente, consultare la Documentazione sul Provisioning di Grafana. Le directory utilizzate per il provisioning si trovano in ./etc/grafana/.

Per modificare le impostazioni tramite l'interfaccia di Grafana è necessario accedere come admin. Le credenziali sono quelle predefinite: admin:admin. #hacktheplanet

Loki

Per consentire a Loki di raccogliere i log di docker, questo laboratorio installa il Loki Docker Driver come plugin Docker.

Prometheus / cAdvisor

Per consentire a Prometheus di accedere alle metriche delle prestazioni dei container in esecuzione nel cluster, viene utilizzato cAdvisor.

Aggiungere servizi

Per aggiungere servizi aggiuntivi è necessaria una certa conoscenza dei file docker-compose.yml. Il file docker-compose.yml nella radice di questo repository viene generato automaticamente all'avvio del laboratorio. Questo processo utilizza i file yaml situati in ./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

Quali servizi verranno avviati è controllato invocando ./lab.sh con le opzioni corrispondenti. Per disabilitare permanentemente un servizio, rimuovi l'estensione del file .yml.

Un esempio di servizio vittima potrebbe essere:

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

Nota: Se un servizio richiede un qualche tipo di installazione al primo utilizzo, usa docker inspect <image_name> per scoprire dove l'immagine docker memorizza i dati e aggiungi un volume che punti a questa directory. Nell'esempio sopra è:

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

Questo garantisce che tu non debba configurare di nuovo il servizio ogni volta che riavvii il laboratorio. Ma se vuoi resettare il laboratorio e ricominciare da capo, puoi usare ./lab.sh -p | --prune. Questo eliminerà tutte le risorse di proprietà del laboratorio.

Intervalli IP

Il motivo per cui abbiamo utilizzato indirizzi IP statici è che la macchina Kali deve avere un indirizzo IP che non cambi per semplificare l'accesso SSH. Ulteriori informazioni nella sezione Suggerimenti/Trucchi più avanti.

  • I servizi red team iniziano da 10.5.0.5
    • Il servizio Kali ha 10.5.0.5.
  • I servizi blue team iniziano da 10.5.0.50
  • I servizi vittima iniziano da 10.5.0.100
  • I servizi di monitoraggio iniziano da 10.5.0.200

Informazioni sui servizi

Se aggiungi servizi e ci sono informazioni aggiuntive utili per chiunque esegua questo laboratorio, puoi aggiungere queste informazioni a ./etc/services_info. Il contenuto di questo file verrà stampato così com'è riga per riga eseguendo ./lab.sh -i.

Suggerimenti/Trucchi

SSH

Per una connessione facile al servizio Kali, si potrebbe aggiungere quanto segue a $HOME/.ssh/cofig:

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

Quindi invece di ssh [email protected] -o "UserKnownHostsFile /dev/null" si potrebbe eseguire ssh kali.

Per gli utenti di tmux, quanto segue si collegherà automaticamente a una sessione 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
Scarica lo strumento