
CNAPPgoat ist ein Open-Source-Projekt, das dazu entwickelt wurde, modular absichtlich verwundbare Komponenten in Cloud-Umgebungen bereitzustellen.
![made-with-Go][made-with-go-img] [![GitHub Release][release-img]][release] [![Go Report Card][go-report-img]][go-report] [![License: Apache-2.0][license-img]][license]
CNAPPgoat ist ein Multi-Cloud-Tool zur Bereitstellung bewusst verwundbarer Umgebungen – speziell entwickelt, um Übungsarenen für Verteidiger und Pentester zu schaffen. Seine Hauptfunktion besteht darin, absichtlich verwundbare Umgebungen über mehrere Cloud-Dienstanbieter hinweg bereitzustellen, um Ihre Fähigkeiten beim Ausnutzen, Erkennen und Verhindern solcher Schwachstellen zu schärfen.

Warnung: CNAPPgoat stellt verwundbare Umgebungen bereit. Verwenden Sie es nur in sicheren, kontrollierten Sandboxen.
CNAPPgoat fungiert als Kommandozeilentool (CLI), das verwundbare Umgebungen auf einer Vielzahl von Cloud-Dienstanbietern bereitstellen kann. Es wurde mit Go entwickelt und nutzt Pulumi sowie die Pulumi Automation API, um eine nahtlose Bereitstellung der Umgebungen zu gewährleisten. Eine seiner besonderen Eigenschaften ist das modulare Design, das eine mühelose Erweiterung zur Unterstützung weiterer Cloud-Dienstanbieter und neuer verwundbarer Umgebungen ermöglicht. Derzeit unterstützt CNAPPgoat AWS, Azure und GCP.
Pulumi-Abhängigkeiten und -Plugins werden bei Bedarf gemäß den Anforderungen des jeweiligen Szenarios installiert, wenn Sie Ihre erste Umgebung bereitstellen. Das bedeutet, dass die erste Bereitstellung etwas länger dauern kann als nachfolgende.
CNAPPgoat kann für macOS-Nutzer ganz einfach mit dem Homebrew-Paketmanager installiert werden.
brew tap ermetic-research/cnappgoat
brew install cnappgoat
Laden Sie das neueste Release von hier herunter.
tar -xvf cnappgoat-<version>.tar.gz
cd cnappgoat-<version>
(Optional) Wenn Sie das extrahierte Binärprogramm zum systemweiten PATH hinzufügen möchten (Sie müssen nicht, Sie können es auch einfach aus dem lokalen Verzeichnis als ./cnappgoat ausführen):
Option A: Verschieben in ein Verzeichnis im PATH (z. B. /usr/local/bin für macOS und Linux)
mv cnappgoat /usr/local/bin/
Option B: Das Verzeichnis mit dem Binärprogramm zum PATH hinzufügen
Für bash:
echo 'export PATH=$PATH:<path_to_directory_containing_cnappgoat>' >> ~/.bashrc
source ~/.bashrc
Für zsh:
echo 'export PATH=$PATH:<path_to_directory_containing_cnappgoat>' >> ~/.zshrc
source ~/.zshrc
Ersetzen Sie <path_to_directory_containing_cnappgoat> durch den absoluten Pfad zu dem Verzeichnis, in dem sich die cnappgoat-Binärdatei befindet.
NAME:
cnappgoat - Ein Multi-Cloud-Open-Source-Tool zur Bereitstellung bewusst verwundbarer Cloud-Ressourcen
VERWENDUNG:
cnappgoat [globale Optionen] Befehl [Befehlsoptionen] [Argumente...]
VERSION:
0.1.0-beta, Datum: 2023-08-02T13:02:46Z, Commit: 6bef61857d9f3cf88215269df8976f96317711dc
BEFEHLE:
clean Alle erstellten Ressourcen bereinigen und entfernen sowie alle Szenarien und zugehörigen Dateien löschen
describe Ein Szenario beschreiben
destroy CNAPPgoat-Modul-Szenarien zerstören
list CNAPPgoat-Modul-Szenarien auflisten
provision CNAPPgoat-Modul-Szenarien bereitstellen
help, h Zeigt eine Liste der Befehle oder Hilfe zu einem Befehl an
GLOBALE OPTIONEN:
--debug Debug-Modus aktivieren (Standard: false)
--help, -h Hilfe anzeigen
--version, -v Version anzeigen
| Befehl | Beschreibung | Verwendung |
|---|---|---|
list | Listet alle verfügbaren Szenarien zur Bereitstellung auf. | cnappgoat list |
describe | Liefert detaillierte Informationen zum angegebenen Szenario. | cnappgoat describe <Szenario-Name> |
provision | Stellt das durch den Szenario-Namen angegebene Szenario bereit. Um alle Szenarien bereitzustellen, verwenden Sie einfach cnappgoat provision | cnappgoat provision <Szenario-Name> |
destroy | Zerstört das durch den Szenario-Namen angegebene Szenario. Um alle Szenarien zu zerstören, verwenden Sie einfach cnappgoat destroy | cnappgoat destroy <Szenario-Name> |
clean | Bereinigt alle Szenarien und löscht das lokale .cnappgoat-Verzeichnis | cnappgoat clean |
--version, -v | Zeigt die aktuelle Version von CNAPPgoat an. | cnappgoat --version |
--help, -h | Zeigt das Hilfemenü an. | cnappgoat --help |
Sie können mehrere Argumente durch Leerzeichen getrennt verwenden. Zum Beispiel:
cnappgoat provision <Szenario-1> <Szenario-2> <Szenario-N>
--module - Filtert Szenarien nach Modul (z. B. CSPM, CIEM, CWPP, DSPM, KSPM usw.)--platform - Filtert Szenarien nach Plattform (z. B. AWS, Azure, GCP)--force - Aktiviert den forcierten Modus (entsperrt gesperrte Stacks mit pulumi cancel)--debug - Aktiviert Debug-Protokollierung.Diese Flags sind Befehlsflags und sollten nach dem Befehl platziert werden. Zum Beispiel:
cnappgoat provision --module CSPM --platform AWS
Dieser Befehl stellt alle AWS-CSPM-Szenarien bereit.
CNAPPgoat lädt Szenarien beim ersten Start eines jeden Tages aus dem Repository cnappgoat-scenarios herunter. Diese Szenarien werden automatisch heruntergeladen, wenn Sie CNAPPgoat ausführen, und im Verzeichnis ~/.cnappgoat/scenarios gespeichert.
Bevor Sie CNAPPgoat verwenden können, müssen Sie Ihre Cloud-Anmeldeinformationen für AWS, Azure und GCP konfigurieren. CNAPPgoat verwendet die Standard-Anmeldeinformationen für jeden Anbieter. Folgen Sie den nachstehenden Schritten, um Ihre Anmeldeinformationen einzurichten:
Installieren Sie die AWS CLI gemäß der Anleitung hier.
Konfigurieren Sie Ihre AWS-Anmeldeinformationen durch Ausführen von:
aws configure