
Automatisierung des Situationsbewusstseins für Cloud-Penetrationstests.
CloudFox hilft Ihnen, sich in unbekannten Cloud-Umgebungen einen Überblick zu verschaffen. Es ist ein Open-Source-Befehlszeilentool, das entwickelt wurde, um Penetrationstestern und anderen Offensive-Security-Profis zu helfen, ausnutzbare Angriffspfade in der Cloud-Infrastruktur zu finden.
CLOUDFOX AKTUALISIERUNG ERFORDERLICH: (12/2025): Wenn Sie
cloudfoxverwenden, müssen Sie v1.17.0 oder höher nutzen. Alle früheren Versionen funktionieren nach einer Formatänderung in AWS' öffentlicher Dienstzuordnungsdatei nicht mehr.
Übersicht
Treten Sie unserem RedSec Discord Server bei.
CloudFox ist modular (Sie können jeweils einen Befehl ausführen), aber es gibt einen Befehl aws all-checks, der die anderen AWS-Befehle für Sie mit vernünftigen Standardeinstellungen ausführt:
cloudfox aws --profile [profile-name] all-checks

CloudFox wurde entwickelt, um von einem Prinzipal mit eingeschränkten Nur-Lese-Berechtigungen ausgeführt zu werden, aber sein Zweck ist es, Ihnen zu helfen, Angriffspfade zu finden, die in simulierten Kompromittierungsszenarien (auch als objektbasiertes Penetrationstest) ausgenutzt werden können.
CloudFox kann mit "gefundenen" Anmeldedaten verwendet werden, ähnlich wie Sie weirdAAL oder enumerate-iam verwenden würden. Fehlschlagende Prüfungen werden stillschweigend durchgeführt, sodass alle zurückgegebenen Daten bedeuten, dass Ihre "gefundenen" Anmeldedaten den erforderlichen Zugriff zum Abrufen haben.
Die vollständige Dokumentation finden Sie in unserem Wiki.
| Anbieter | CloudFox-Befehle |
|---|---|
| AWS | 34 |
| Azure | 4 |
| GCP | 60 |
| Kubernetes | Unterstützung geplant |
Option 1: Laden Sie die neueste binäre Version für Ihre Plattform herunter.
Option 2: Wenn Sie Homebrew verwenden: brew install cloudfox
Option 3: Installieren Sie Go, verwenden Sie go install github.com/BishopFox/cloudfox@latest, um aus der entfernten Quelle zu installieren
Option 4: Entwicklermodus:
Installieren Sie Go, klonen Sie das CloudFox-Repository und kompilieren Sie aus dem Quellcode ```
**Option 5:** Testen eines Bugfixes ```
git clone [email protected]:BishopFox/cloudfox.git
git checkout seth-dev
go build .
./cloudfox [rest of the command options]
-l angeben oder alle gespeicherten Profile mit dem Flag -a übergeben.SecurityAudit + CloudFox benutzerdefinierte RichtlinieZusätzliche Richtlinienhinweise (Stand 09/2022):
gcloud auth application-default login)Minimale Berechtigungen (Einzelprojekt):
Für die grundlegende Aufzählung eines einzelnen Projekts bietet die Rolle roles/viewer Lesezugriff auf die meisten Ressourcen (einschließlich Logging, Monitoring und Compute-/Netzwerk-Anzeige).
Umfassende Berechtigungen (Organisationsweit):
Für gründliche Sicherheitsbewertungen in einer gesamten Organisation:
Hinweis: Die grundlegende Rolle
roles/viewerenthält Berechtigungen vonroles/logging.viewer,roles/monitoring.viewerundroles/compute.networkViewer, sodass diese nicht separat gewährt werden müssen.
APIs müssen in jedem zu bewertenden Projekt aktiviert sein. GCP-APIs sind projektspezifisch.
Ausführliche Einrichtungsanweisungen finden Sie im GCP-Einrichtungsleitfaden.
Ausführliche Dokumentation zu jedem GCP-Befehl finden Sie im GCP-Befehle-Wiki.| Anbieter | Befehlsname | Beschreibung | - | - | - | | GCP | whoami | Identitätskontext für den authentifizierten GCP-Benutzer/Dienstkonto anzeigen | | GCP | iam | GCP-IAM-Prinzipale über Organisationen, Ordner und Projekte hinweg aufzählen | | GCP | permissions | ALLE Berechtigungen für jede IAM-Entität mit vollständiger Vererbungsaufschlüsselung aufzählen | | GCP | serviceaccounts | GCP-Dienstkonten mit Sicherheitsanalyse aufzählen | | GCP | service-agents | Von Google verwaltete Dienst-Agenten aufzählen | | GCP | keys | Alle GCP-Schlüssel (SA-Schlüssel, HMAC-Schlüssel, API-Schlüssel) aufzählen | | GCP | resource-iam | IAM-Richtlinien auf GCP-Ressourcen (Buckets, Datasets, Secrets usw.) aufzählen | | GCP | domain-wide-delegation | Dienstkonten mit domainübergreifender Delegierung an Google Workspace finden | | GCP | privesc | Privilegienausweitungswege in GCP-Projekten identifizieren | | GCP | hidden-admins | Prinzipale identifizieren, die IAM-Richtlinien ändern können (versteckte Administratoren) | | GCP | identity-federation | Workload Identity Federation (externe Identitäten) aufzählen | | GCP | instances | GCP Compute Engine-Instanzen mit Sicherheitskonfiguration aufzählen | | GCP | gke | GKE-Cluster mit Sicherheitsanalyse aufzählen | | GCP | cloudrun | Cloud Run-Dienste und -Jobs mit Sicherheitsanalyse aufzählen | | GCP | | GCP Cloud Functions mit Sicherheitsanalyse aufzählen | | GCP | | App Engine-Anwendungen und Sicherheitskonfigurationen aufzählen | | GCP | | Cloud Composer-Umgebungen aufzählen | | GCP | | Dataproc-Cluster aufzählen | | GCP | | Dataflow-Jobs und -Pipelines aufzählen | | GCP | | Vertex AI Workbench-Notebooks aufzählen | | GCP | | GKE Workload Identity und Workload Identity Federation aufzählen | | GCP | | Schnelle Ressourceninventur - funktioniert ohne Cloud Asset API | | GCP | | GCP Cloud Storage-Buckets mit Sicherheitskonfiguration aufzählen | | GCP | | GCS-Buckets nach sensiblen Dateien (Anmeldedaten, Secrets, Konfigurationen) durchsuchen | | GCP | | GCP BigQuery-Datasets und -Tabellen mit Sicherheitsanalyse aufzählen | | GCP | | Cloud SQL-Instanzen mit Sicherheitsanalyse aufzählen | | GCP | | Cloud Spanner-Instanzen und -Datenbanken aufzählen | | GCP | | Cloud Bigtable-Instanzen und -Tabellen aufzählen | | GCP | | Filestore-NFS-Instanzen aufzählen | | GCP | | Memorystore (Redis)-Instanzen aufzählen | | GCP | | VPC-Netzwerke aufzählen | | GCP | | VPC-Netzwerke und Firewall-Regeln mit Sicherheitsanalyse aufzählen | | GCP | | Load Balancer aufzählen | | GCP | | Cloud DNS-Zonen und -Einträge mit Sicherheitsanalyse aufzählen | | GCP | | Alle Netzwerkendpunkte (extern und intern) mit IPs, Ports und Hostnamen aufzählen | | GCP | | Private Service Connect-Endpunkte und Dienst-Anhänge aufzählen | | GCP | | VPC-Netzwerktopologie, Peering-Beziehungen und Vertrauensgrenzen visualisieren | | GCP | | VPC Service Controls aufzählen | | GCP | | Zugriffsebenen des Access Context Managers aufzählen | | GCP | | Cloud Armor-Sicherheitsrichtlinien aufzählen und Schwachstellen finden | | GCP | | Identity-Aware Proxy-Konfigurationen aufzählen | | GCP | | BeyondCorp Enterprise-Konfigurationen aufzählen | | GCP | | Cloud KMS-Schlüsselbunde und Kryptoschlüssel mit Sicherheitsanalyse aufzählen | | GCP | | GCP Secret Manager-Geheimnisse mit Sicherheitskonfiguration aufzählen | | GCP | | SSL/TLS-Zertifikate aufzählen und ablaufende oder falsch konfigurierte Zertifikate finden | | GCP | | Organisationsrichtlinien aufzählen und Sicherheitsschwachstellen identifizieren | | GCP | | GCP Artifact Registry und Container Registry mit Sicherheitskonfiguration aufzählen | | GCP | | Cloud Build-Trigger und -Builds aufzählen | | GCP | | Cloud Source Repositories aufzählen | | GCP | | Cloud Scheduler-Jobs mit Sicherheitsanalyse aufzählen | | GCP | | Pub/Sub-Themen und -Abonnements mit Sicherheitsanalyse aufzählen | | GCP | | Cloud Logging-Senken und -Metriken mit Sicherheitsanalyse aufzählen | | GCP | | GCP-Organisationshierarchie aufzählen | | GCP | | Cloud Asset Inventory mit optionaler Abhängigkeitsanalyse aufzählen | | GCP | | Backup-Richtlinien, geschützte Ressourcen aufzählen und Backup-Lücken identifizieren | | GCP | | Laterale Bewegungswege, Credential-Theft-Vektoren und Pivot-Möglichkeiten kartieren | | GCP | | Datenexfiltrationspfade, potenzielle Vektoren und fehlende Sicherheitshärtung identifizieren | | GCP | | Ressourcen mit allUsers/allAuthenticatedUsers-Zugriff über 16 GCP-Dienste finden | | GCP | | Projektübergreifende IAM-Bindungen, Logging-Senken und Pub/Sub-Exporte für laterale Bewegung analysieren | | GCP | | FoxMapper (graphbasierte IAM-Analyse) zur Erkennung von Privilegienausweitungswegen ausführen | | GCP | | Cloud Logging-Einträge auf sensible Daten (Anmeldedaten, Token, PII) durchsuchen | | GCP | | BigQuery-Datasets, -Tabellen und -Spalten auf sensible Datenindikatoren durchsuchen | | GCP | | Bigtable-Instanzen, -Tabellen und -Spaltenfamilien auf sensible Datenindikatoren durchsuchen | | GCP | | Spanner-Datenbankschemata auf sensible Tabellen- und Spaltennamen durchsuchen |
Wie schneidet CloudFox im Vergleich zu ScoutSuite, Prowler, Steampipe's AWS Compliance Module, AWS Security Hub usw. ab?
CloudFox erstellt keine Warnungen oder Ergebnisse und prüft Ihre Umgebung nicht auf Einhaltung einer Baseline oder eines Benchmarks. Stattdessen ermöglicht es Ihnen lediglich, bei manuellen Penetrationstests effizienter zu sein. Es gibt Ihnen die Informationen, die Sie wahrscheinlich benötigen, um zu validieren, ob ein Angriffspfad möglich ist oder nicht.
Warum sehe ich Fehler in einigen CloudFox-Befehlen?
Sie können jederzeit in die Datei ~/.cloudfox/cloudfox-error.log schauen, um weitere Informationen zu Fehlern zu erhalten.
endpointsendpointsiam-simulatorpermissions--userdata-Funktionalität im Befehl instances, den Befehl permissions und viele andere geliefert.| Richtlinie | Hinweise |
|---|
| CloudFox benutzerdefinierte Richtlinie | Enthält eine vollständige Liste aller Berechtigungen, die CloudFox verwendet, und sonst nichts |
arn:aws:iam::aws:policy/SecurityAudit | Deckt die meisten CloudFox-Prüfungen ab, vermisst jedoch neuere Dienste oder Berechtigungen wie apprunner:*, grafana:*, lambda:GetFunctionURL, lightsail:GetContainerServices |
arn:aws:iam::aws:policy/job-function/ViewOnlyAccess | Deckt die meisten CloudFox-Prüfungen ab, vermisst jedoch neuere Dienste oder Berechtigungen wie AppRunner:*, grafana:*, lambda:GetFunctionURL, lightsail:GetContainerServices – und vermisst auch iam:SimulatePrincipalPolicy. |
arn:aws:iam::aws:policy/ReadOnlyAccess | Fehlt nur AppRunner, gewährt aber auch Dinge wie "s3:Get*", was zu weitreichend sein kann. |
arn:aws:iam::aws:policy/AdministratorAccess | Funktioniert einwandfrei mit CloudFox, aber wenn Sie als Penetrationstester diese Zugriffsstufe erhalten haben, sollte das wahrscheinlich ein eigener Fund sein :) |
| Bereich | Rolle | Zweck |
|---|
| Organisation | roles/resourcemanager.organizationViewer | Organisationsstruktur und Metadaten anzeigen |
| Organisation | roles/iam.securityReviewer | IAM-Richtlinien organisationsweit überprüfen |
| Organisation | roles/cloudasset.viewer | Cloud Asset Inventory für alle Ressourcen abfragen |
| Organisation | roles/cloudidentity.groupsViewer | Google-Gruppen und Mitgliedschaften auflisten |
| Ordner | roles/resourcemanager.folderViewer | Ordnerhierarchie und Metadaten anzeigen |
| Projekt | roles/viewer | Lesezugriff auf die meisten Projektressourcen (einschließlich logging.viewer, monitoring.viewer, compute.viewer) |
| Tooling-Projekt | roles/serviceusage.serviceUsageAdmin | (Optional) API-Kontingente für CloudFox-Operationen verwalten |
| API | Dienstname | Zweck |
|---|
| Cloud Identity API | cloudidentity.googleapis.com | Gruppenaufzählung, Analyse geerbter Rollen |
| Cloud Asset API | cloudasset.googleapis.com | Projektübergreifende Ressourcenerkennung |
| Cloud Resource Manager API | cloudresourcemanager.googleapis.com | Organisationszuordnung, IAM-Aufzählung |
| IAM API | iam.googleapis.com | IAM-Analyse, Erkennung von Privilegieneskalation |
| Compute Engine API | compute.googleapis.com | Instanzaufzählung, Netzwerksicherheit |
| Secret Manager API | secretmanager.googleapis.com | Geheimnisaufzählung |
| Cloud Functions API | cloudfunctions.googleapis.com | Serverless-Aufzählung |
| Cloud Run API | run.googleapis.com | Serverless-Aufzählung |
| Kubernetes Engine API | container.googleapis.com | Containersicherheitsanalyse |
| BigQuery API | bigquery.googleapis.com | Datensicherheitsanalyse |
| Anbieter | Befehlsname | Beschreibung |
|---|
| AWS | all-checks | Führt alle anderen Befehle mit sinnvollen Standardeinstellungen aus. Sie sollten sich dennoch die nicht standardmäßigen Optionen jedes Befehls ansehen, aber dies ist ein guter Ausgangspunkt. |
| AWS | access-keys | Listet aktive Zugriffsschlüssel für alle Benutzer auf. Nützlich, um einen gefundenen Schlüssel dem zugehörigen Konto im Prüfumfang zuzuordnen. |
| AWS | api-gw | Listet API-Gateway-Endpunkte auf und gibt Ihnen benutzerdefinierte curl-Befehle einschließlich API-Token, sofern diese in Metadaten gespeichert sind. |
| AWS | buckets | Listet die Buckets im Konto auf und gibt Ihnen nützliche Befehle für deren weitere Untersuchung. |
| AWS | cape | Ermittelt kontenübergreifende Privilegieneskalationspfade. Erfordert die vorherige Ausführung von pmapper. |
| AWS | cloudformation | Listet die CloudFormation-Stacks im Konto auf. Erzeugt eine Beutedatei mit Stack-Details, Stack-Parametern und Stack-Ausgaben – suchen Sie nach Geheimnissen. |
| AWS | codebuild | Ermittelt CodeBuild-Projekte |
| AWS | databases | Ermittelt RDS-Datenbanken. Ruft eine Beutedatei mit Verbindungszeichenfolgen ab. |
| AWS | ecr | Listet die URI des zuletzt hochgeladenen Images aus allen Repositorys auf. Verwenden Sie die Beutedatei, um ausgewählte Images mit Docker/nerdctl zur Untersuchung herunterzuladen. |
| AWS | ecs-tasks | Listet alle ECS-Aufgaben auf. Gibt eine Liste der ECS-Aufgaben sowie zugehörigen Cluster, Aufgabendefinition, Containerinstanz, Starttyp und zugehörigen IAM-Prinzipal zurück. |
| AWS | eks | Listet alle EKS-Cluster auf, prüft, ob sie ihren Endpunkt öffentlich freigeben, und überprüft die zugehörigen IAM-Rollen, die dem Cluster oder der Knotengruppe zugeordnet sind. Erzeugt eine Beutedatei mit dem Befehl aws eks update-kubeconfig, der zum Verbinden mit jedem Cluster erforderlich ist. |
| AWS | elastic-network-interfaces | Listet alle ENI-Informationen auf. Gibt eine Liste mit ENI-ID, Typ, externer IP, privater IP, VPC-ID, angehängter Instanz und einer Beschreibung zurück. |
| AWS | endpoints | Ermittelt Endpunkte verschiedener Dienste. Scannen Sie diese Endpunkte sowohl von einer internen als auch externen Position, um nach Dingen zu suchen, die keine Authentifizierung erfordern, falsch konfiguriert sind usw. |
| AWS | env-vars | Ruft die Umgebungsvariablen von Diensten ab, die diese besitzen (App Runner, ECS, Lambda, Lightsail-Container, Sagemaker werden unterstützt). Wenn Sie ein sensitives Geheimnis finden, verwenden Sie cloudfox iam-simulator UND pmapper, um zu sehen, wer darauf Zugriff hat. |
| AWS | filesystems | Ermittelt die EFS- und FSx-Dateisysteme, die Sie möglicherweise ohne Anmeldedaten einbinden können (sofern Sie die richtige Netzwerkverbindung haben). Dies ist beispielsweise nützlich, wenn Sie ec2:RunInstance, aber nicht iam:PassRole haben. |
| AWS | iam-simulator | Wie pmapper, verwendet aber den IAM-Richtliniensimulator. Es verwendet AWS' Evaluierungslogik, berücksichtigt jedoch keinen transitiven Zugriff über Privilegieneskalation, weshalb Sie auch immer pmapper verwenden sollten. |
| AWS | instances | Ermittelt nützliche Informationen für EC2-Instanzen in allen Regionen wie Name, öffentliche/private IPs und Instanzprofile. Erzeugt Beutedateien, die Sie in nmap und andere Tools zur Diensterkennung einspeisen können. |
| AWS | inventory | Verschaffen Sie sich ein grobes Verständnis der Kontogröße und der bevorzugten Regionen. |
| AWS | lambda | Listet die Lambda-Funktionen im Konto auf, einschließlich derer, die Administratorenrollen zugewiesen haben. Gibt auch nützliche Befehle zum Herunterladen jeder Funktion. |
| AWS | network-ports | Ermittelt AWS-Dienste, die möglicherweise einen Netzwerkdienst bereitstellen. Die Sicherheitsgruppen und Netzwerk-ACLs werden für jede Ressource analysiert, um festzustellen, welche Ports möglicherweise exponiert sind. |
| AWS | orgs | Ermittelt Konten in einer Organisation |
| AWS | outbound-assumed-roles | Listet die Rollen auf, die von Prinzipalen in diesem Konto angenommen wurden. Dies ist eine hervorragende Möglichkeit, ausgehende Angriffspfade zu finden, die in andere Konten führen. |
| AWS | permissions | Ermittelt IAM-Berechtigungen, die allen Benutzern und Rollen zugeordnet sind. Durchsuchen Sie diese Ausgabe, um herauszufinden, welche Berechtigungen ein bestimmter Prinzipal hat, anstatt sich in die AWS-Konsole einzuloggen und mühsam jede an den untersuchten Prinzipal angehängte Richtlinie zu erweitern. |
| AWS | pmapper | Sucht nach pmapper-Daten, die im lokalen Dateisystem gespeichert sind, an den hier definierten Speicherorten. Wenn pmapper-Daten gefunden wurden (Sie haben bereits pmapper graph create ausgeführt), verwendet dieser Befehl diese Daten, um einen Graphen im CloudFox-Speicher zu erstellen, und teilt Ihnen mit, wer zu Admin eskaliert werden kann. |
| AWS | principals | Ermittelt IAM-Benutzer und -Rollen, damit Sie die Daten griffbereit haben. |
| AWS | ram | Listet alle Ressourcen in diesem Konto auf, die mit anderen Konten geteilt werden, oder Ressourcen aus anderen Konten, die mit diesem Konto geteilt werden. Nützlich für kontenübergreifende Angriffspfade. |
| AWS | resource-trusts | Durchsucht mehrere Dienste, die Ressourcenrichtlinien unterstützen, und hilft Ihnen, übermäßig permissive Ressourcenvertrauensstellungen zu finden. KMS wird unterstützt, ist aber standardmäßig deaktiviert. Um KMS-Ressourcenrichtlinien in die Ausgabe aufzunehmen, fügen Sie diesem Befehl das Flag hinzu: cloudfox aws resource-trusts --include-kms. |
| AWS | role-trusts | Ermittelt IAM-Rollenvertrauensrichtlinien, damit Sie nach übermäßig permissiven Rollenvertrauensstellungen suchen oder Rollen finden können, die einem bestimmten Dienst vertrauen. |
| AWS | route53 | Ermittelt alle Einträge aus allen von Route53 verwalteten Zonen. Verwenden Sie dies zur Anwendungs- und Diensterkennung. |
| AWS | secrets | Listet Geheimnisse aus SecretsManager und SSM auf. Suchen Sie nach interessanten Geheimnissen in der Liste und sehen Sie dann mit cloudfox iam-simulator und/oder pmapper, wer darauf Zugriff hat. |
| AWS | sns | Dieser Befehl ermittelt alle SNS-Themen und gibt Ihnen die Befehle, um ein Thema zu abonnieren oder Nachrichten an ein Thema zu senden (sofern Sie die erforderlichen Berechtigungen haben). Dieser Befehl befasst sich nur mit Themen, nicht mit der SMS-Funktionalität. Dieser Befehl versucht auch, Themenressourcenrichtlinien zusammenzufassen, falls vorhanden. |
| AWS | sqs | Dieser Befehl ermittelt alle SQS-Warteschlangen und gibt Ihnen die Befehle, um Nachrichten von einer Warteschlange zu empfangen und Nachrichten an eine Warteschlange zu senden (sofern Sie die erforderlichen Berechtigungen haben). Dieser Befehl versucht auch, Warteschlangenressourcenrichtlinien zusammenzufassen, falls vorhanden. |
| AWS | tags | Listet alle Ressourcen mit Tags und alle Tags auf. Dies kann ähnlich wie Inventory als weitere Methode verwendet werden, um zu identifizieren, welche Arten von Ressourcen in einem Konto existieren. |
| AWS | workloads | Listet alle Compute-Workloads und ihre zugewiesenen Rollen auf. Gibt an, ob eine der Rollen Admin ist (schlecht) und ob Sie pmapper-Daten lokal haben, wird Ihnen mitgeteilt, ob eine der Rollen zu Admin eskalieren kann (auch schlecht) |
| AWS | ds | Listet alle von AWS verwalteten Verzeichnisse und ihre Attribute auf. Fasst auch die aktuellen Vertrauensstellungen mit ihren Richtungen und Typen zusammen. |
| Anbieter | Befehlsname | Beschreibung |
|---|
| Azure | whoami | Zeigt Informationen zum Mandanten, den Abonnements und den Ressourcengruppen an, die für Ihre aktuelle Azure CLI-Sitzung verfügbar sind. Dies ist nützlich, um sich einen Überblick darüber zu verschaffen, welche Mandanten- und Abonnement-IDs Sie bei den anderen Unterbefehlen verwenden sollen. |
| Azure | inventory | Zeigt eine Inventartabelle aller Ressourcen pro Standort an. |
| Azure | rbac | Listet Azure RBAC-Rollenzuweisungen auf Abonnement- oder Mandantenebene auf |
| Azure | storage | Der Speicherbefehl befindet sich noch in der Entwicklung. Derzeit werden nur begrenzte Daten zu den Speicherkonten angezeigt. |
| Azure | vms | Ermittelt nützliche Informationen für Compute-Instanzen in allen verfügbaren Ressourcengruppen und Abonnements |
inventory und allgemein für CloudFox als Ganzes.