Piattaforma automatizzata per l'emulazione di avversari
Caldera™ è una piattaforma di cybersecurity progettata per automatizzare facilmente l'emulazione degli avversari, assistere i red-team manuali e automatizzare la risposta agli incidenti.
È basata sul framework MITRE ATT&CK™ ed è un progetto di ricerca attivo presso MITRE.
Il framework è composto da due componenti:
⭐ Crea il tuo plugin! Generatore di plugin: Skeleton ⭐
Questi plugin sono supportati e mantenuti dal team di Caldera.
Questi plugin sono pronti all'uso ma non sono inclusi per impostazione predefinita e non sono mantenuti dal team di Caldera.
Questi requisiti sono per il computer che esegue il framework core:
Nota: consigliamo VIVAMENTE di installare Caldera in un ambiente virtuale Python per evitare problemi con i pacchetti pip. Puoi utilizzare un ambiente esistente se lo desideri o crearne uno nuovo da zero:
python3 -m venv .calderavenv
source .calderavenv/bin/activate
Passaggi di installazione concisi:
git clone https://github.com/apache/caldera.git --recursive
cd caldera
pip3 install -r requirements.txt
python3 server.py --insecure --build
Inizia clonando ricorsivamente questo repository, passando la versione/release desiderata nel formato x.x.x. Questo scaricherà tutti i plugin disponibili.
git clone https://github.com/apache/caldera.git --recursive --tag x.x.x
Successivamente, installa i requisiti PIP:
pip3 install -r requirements.txt
Infine, avvia il server.
python3 server.py --insecure --build
Il flag --build installa automaticamente tutte le dipendenze dell'interfaccia VueJS, raggruppa l'interfaccia in una directory dist e viene servita dal server Caldera. Dovrai utilizzare nuovamente il flag --build solo se aggiungi plugin o apporti modifiche all'interfaccia. Una volta avviato, accedi a http://localhost:8888 utilizzando le credenziali predefinite red/admin. Poi vai su Plugins -> Training e completa il corso di formazione in stile capture-the-flag per imparare a usare Caldera.
Se preferisci non utilizzare la nuova interfaccia VueJS, torna a Caldera v4.2.0. Di conseguenza, non utilizzare il flag --build per le versioni precedenti poiché non necessario.
Inoltre, tieni presente le raccomandazioni di sicurezza per il deployment di Caldera.
Build locale:
git clone https://github.com/apache/caldera.git --recursive
cd caldera
docker build --build-arg VARIANT=full -t caldera .
docker run -it -p 8888:8888 caldera
Modifica il port forwarding (-p) e gli argomenti di build (--build-arg) come desiderato per rendere le porte accessibili o cambiare la variante di Caldera. Le porte che esponi dipendono da quali contatti prevedi di utilizzare (vedi Dockerfile e docker-compose.yml come riferimento).
Immagine precompilata (da GitHub Container Registry):
docker run -p 8888:8888 ghcr.io/apache/caldera:latest
Questo container potrebbe essere leggermente obsoleto, consigliamo di compilare il container autonomamente.
Per terminare correttamente il tuo container docker, procedi come segue:
# Find the container ID for your docker container running Caldera
docker ps
# Stop the container
docker stop <container ID>
Sono disponibili due varianti, full e slim. La variante slim non include i file necessari per i plugin emu e atomic, che verranno scaricati su richiesta qualora i plugin vengano abilitati. La variante full è adatta all'utilizzo in ambienti privi di connessione a Internet. Le immagini slim su GHCR sono contraddistinte dal prefisso "slim".