
CNAPPgoat ist ein Open-Source-Projekt, das dazu entwickelt wurde, modular absichtlich verwundbare Komponenten in Cloud-Umgebungen bereitzustellen.
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
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
Sie werden aufgefordert, Ihre Access Key ID, Ihren Secret Access Key und die Standardregion einzugeben.
Installieren Sie die Azure CLI gemäß der Anleitung hier.
Melden Sie sich bei Ihrem Azure-Konto an, indem Sie Folgendes ausführen:
az login
Dadurch wird ein neues Browserfenster für die Anmeldung geöffnet. Nach der Anmeldung werden Ihre Anmeldeinformationen für die zukünftige Verwendung gespeichert.
Installieren Sie das Google Cloud SDK gemäß der Anleitung hier.
Authentifizieren Sie sich bei Google Cloud durch Ausführen von:
gcloud auth login
Dadurch wird ein neues Browserfenster für die Anmeldung geöffnet. Nach der Anmeldung werden Ihre Anmeldeinformationen für die zukünftige Verwendung gespeichert.
Durch die Einrichtung dieser Anmeldeinformationen können Sie mit CNAPPgoat Szenarien auf AWS, Azure und GCP bereitstellen. Wenn Sie CNAPPgoat mit einem anderen Anbieter verwenden möchten, konfigurieren Sie die Anmeldeinformationen bitte entsprechend.
Weitere Informationen zu CNAPPgoat finden Sie im Beitrag im Ermetic-Blog: https://ermetic.com/blog/cloud/cnappgoat-multicloud-open-source-tool-for-deploying-vulnerable-by-design-cloud-resources/
CNAPPgoat stellt eine breite Palette verwundbarer Szenarien auf mehreren Clouds bereit, um Erkennungs- und Präventionsfähigkeiten zu testen. Es gibt andere großartige Projekte für verwundbare Cloud-Umgebungen, die sich auf verschiedene Bereiche konzentrieren, wie z. B. Ausnutzung, Erkennung, CTF (Capture the Flag)-Szenarien usw. Wir wurden von diesen Tools und Projekten inspiriert und empfehlen, sie sich anzusehen:
Weitere Herausforderungen und Tools finden Sie im Repository Awesome Cloud Security Challenges von Mike Privitte. Unsere Liste konzentriert sich speziell auf bewusst verwundbare Cloud-Umgebungen, die von Benutzern in ihrer eigenen Sandbox bereitgestellt werden.
Um das Projektteam per E-Mail zu kontaktieren, schreiben Sie an [email protected]
| 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 |