Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
CloudPrivs — Ermitteln Sie Berechtigungen aus Cloud-Anmeldedaten durch Brute-Force-Tests. | Kitploit
Tools/GitHubGitHub/abstractclass/cloudprivs
Privilege EscalationSchwachstellenanalyseInformationsbeschaffungPenetrationstestsCloud-Sicherheit
GitHubabstractclass/cloudprivs

CloudPrivs

Ermitteln Sie Berechtigungen aus Cloud-Anmeldedaten durch Brute-Force-Tests.

Repository anzeigen
692vor 26 TagenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

CloudPrivs

Ich habe Creds, was nun?

Überblick

CloudPrivs ist ein Tool, das die vorhandene Leistungsfähigkeit von SDKs wie Boto3 nutzt, um Berechtigungen aller Cloud-Dienste durchzuprobieren und herauszufinden, welche Berechtigungen für einen bestimmten Satz von Anmeldeinformationen bestehen.

Dieses Tool ist nützlich für Pentester, Red Teamer und andere Sicherheitsexperten. Cloud-Dienste bieten normalerweise keine Möglichkeit, zu ermitteln, welche Berechtigungen ein gegebener Satz von Anmeldeinformationen hat, und die schiere Anzahl von Diensten und Operationen macht es zu einer entmutigenden Aufgabe, dies manuell zu überprüfen. Das bedeutet, dass eine Privilegienausweitung mit einem Satz von Anmeldeinformationen möglich sein könnte, aber man würde es nie erfahren, weil man einfach nicht weiß, dass die gefundenen AWS-Anmeldeinformationen Lambda ausführen können.

Installation

Derzeit nicht auf PyPi verfügbar, aber ich arbeite daran

Pip (einfach)

root@kitploit:~
git clone https://github.com/AbstractClass/CloudPrivs
cd CloudPrivs
python -m pip install -e .

Dies erfolgt ohne virtuelle Umgebung und wird nicht empfohlen, wenn Sie viele Python-Programme ausführen.

Pip (empfohlen)

root@kitploit:~
git clone https://github.com/AbstractClass/CloudPrivs
cd CloudPrivs
python -m  venv venv/
./venv/bin/activate # activate.ps1 auf Windows
python -m pip install -e .

Sie können auch Pyenv+virtualenv verwenden, falls verfügbar:

root@kitploit:~
git clone https://github.com/AbstractClass/CloudPrivs
cd CloudPrivs
pyenv virtualenv CloudPrivs
pyenv local CloudPrivs
python -m pip install -e .

Verwendung

cloudprivs [PROVIDER] [ARGS]

Anbieter

Derzeit ist nur AWS als Anbieter verfügbar, aber ich arbeite an GCP. Wenn Sie helfen möchten, siehe #Customizing.

AWS

root@kitploit:~
Optionen:
  -v, --verbose                Fehlgeschlagene und fehlerhafte Tests in der
                               Ausgabe anzeigen
  -s, --services TEXT          Nur die angegebenen Dienste testen, anstatt aller
                               verfügbaren Dienste
  -p, --profile TEXT           Der Name des zu scannenden AWS-Profils; falls
                               nicht angegeben, werden Umgebungsvariablen verwendet
  -t, --custom-tests FILENAME  Pfad zur YAML-Datei mit benutzerdefinierten Tests.
                               Weitere Informationen in der Dokumentation
  -r, --regions TEXT           Eine Liste von Filtern, die auf Regionen angewendet
                               werden, z. B. "us", "eu-west", "ap-north-1"
  --help                       Diese Nachricht anzeigen und beenden

Tipps

Mehrere Argumente werden für --region und --service unterstützt, müssen jedoch jedes Mal mit dem Flag angegeben werden, d. h. cloudprivs aws -r us -r eu -s ec2 -s lambda. Mir gefällt das auch nicht, aber es ist eine Einschränkung in Click, für die ich noch keine Lösung gefunden habe.

Beachten Sie, dass das region-Flag Teilübereinstimmungen unterstützt; die häufigsten Argumente sind -r us -r eu, um nur die gängigen Regionen abzudecken.

Die Ergebnisse werden nach Regionen gruppiert angezeigt, und jede Zeile enthält einen Testfall und das Ergebnis des Tests.

Fehler

Wenn das Tool während des Testens auf unerwartete Fehler stößt, werden diese auf stderr ausgegeben, sobald sie auftreten. Das bedeutet, dass sie den Ausgabefluss unterbrechen können. Wenn Sie sie nicht sehen möchten, können Sie stderr umleiten.

Funktionsweise

Im Gegensatz zu anderen Tools wie WeirdAAL, die jeden Testfall manuell schreiben, fragt CloudPrivs direkt das Boto3-SDK ab, um dynamisch eine Liste aller verfügbaren Dienste und aller verfügbaren Regionen für jeden Dienst zu generieren.

Sobald eine vollständige Liste generiert ist, wird jede Funktion standardmäßig ohne Argumente aufgerufen. Es wird jedoch die Möglichkeit unterstützt, benutzerdefinierte Argumente pro Operation hinzuzufügen (weitere Informationen unter #Customizing).

Hinweis: Einige AWS-Funktionen können Kosten verursachen, wenn sie aufgerufen werden. Ich habe nur Operationen zugelassen, die mit get_, list_ und describe_ beginnen, um versehentliche Kosten zu vermeiden. Das scheint in meinen eigenen Tests sicher zu sein, aber bitte verwenden Sie dies mit Vorsicht. Es scheint für andere Tools wie enumerate-iam sicher zu sein, aber ich garantiere nicht, dass Ihnen beim Aufrufen all dieser Funktionen (auch ohne Argumente) nicht versehentlich Kosten entstehen.

Anpassung

CloudPrivs unterstützt einfache Erweiterungen/Anpassungen in zwei Bereichen:

  • Anbieter
  • Benutzerdefinierte Tests

Anbieter

Einen neuen Anbieter (z. B. GCP) zu implementieren, ist einfach:

  1. Schreiben Sie die Logik für die Tests; Namenskonvention und Struktur spielen keine Rolle.
  2. Erstellen Sie im Ordner CloudPrivs/providers einen neuen Ordner für Ihren Anbieter (z. B. 'gcp').
  3. Fügen Sie in der Datei CloudPrivs/providers/__init__.py Ihren Anbieter zur Variable __all__ hinzu; sie muss mit dem Ordnernamen übereinstimmen.
  4. Erstellen Sie eine Datei namens cli.py in Ihrem Anbieterordner.
  5. Verwenden Sie Click, um eine CLI für Ihren Anbieter zu erstellen, und nennen Sie Ihren CLI-Einstiegspunkt cli (siehe den AWS-Anbieter als Referenz).
  6. Fertig! Wenn Sie cloudprivs <anbieter> ausführen, sollte Ihre CLI angezeigt werden.

Benutzerdefinierte Tests

Der AWS-Anbieter unterstützt die Injektion von Argumenten beim Aufrufen von AWS-Funktionen. Diese Funktion wird bereitgestellt, weil AWS-Funktionen oft Argumente erfordern, die in manchen Fällen feste Variablen sein können. Wenn wir also Dummy-Variablen bereitstellen können, können wir unsere Testabdeckung erhöhen. In anderen Fällen können wir Argumente wie dryrun=true injizieren, um Aufrufe schneller zu machen.

Benutzerdefinierte Tests werden in einer YAML-Datei unter cloudprivs/providers/aws/CustomTests.yaml gespeichert.

Die Struktur der YAML-Datei ist wie folgt:

root@kitploit:~
---
<dienstname>:
    - <funktionsname>:
        args:
            - <arg1>
            - <arg2>
        kwargs:
            arg1: wert1
            arg2: wert2

Hinweis: Der Funktionsname unterstützt Teilübereinstimmungen; das bedeutet, Sie können einen Funktionsnamen wie 'describe_' verwenden, und die angegebenen Argumente werden in alle Funktionen injiziert, die 'describe_' enthalten. Regeln werden nach dem Prinzip 'zuerst gefunden' abgeglichen. Wenn Sie also eine allgemeine Regel überschreiben möchten, platzieren Sie Ihre spezifischere Regel über der allgemeinen Regel. Beispiel:

root@kitploit:~
ec2:
    - describe_instances
        args:
        kwargs:
            DryRun: True
            NoPaginate: True
    - describe_
        args:
        kwargs:
            DryRun: True

Neue Regeln hinzufügen

Neue Regeln können entweder durch Ändern der vorhandenen CustomTests.yaml-Datei oder durch Erstellen einer neuen YAML-Datei und Angabe mit dem --custom-tests-Flag hinzugefügt werden. Die neue Datei wird mit der vorhandenen Tests-Datei zusammengeführt, und doppelte Werte werden überschrieben, wobei die angegebene Datei Priorität erhält.

Verwendung als Bibliothek

AWS

Der AWS-Anbieter ist als Bibliothek für die Integration in andere Tools geschrieben. Sie können ihn wie folgt verwenden:

root@kitploit:~
import boto3
from cloudprivs.providers.aws import service
from concurrent.futures import ThreadPoolExecutor

session = boto3.Session('default')
with ThreadPoolExecutor(15) as executor:
  iam = service.Service('iam', session, executor=executor)
  scan_results = iam.scan() # deckt alle im Executor aufgeführten Regionen ab (standardmäßig alle verfügbaren Regionen)
  formatted_results = iam.pretty_print_scan(scan_results)
  print(formatted_results)

Alles ist im Code vollständig dokumentiert; es sollte recht einfach zu verstehen sein.

Fahrplan

Dieses Tool ist funktionsfähig, aber bei weitem nicht vollständig. Ich arbeite aktiv an neuen Funktionen und bin offen für Beiträge. Zögern Sie also nicht, Issues/Feature Requests zu eröffnen und Pull Requests zu senden.

Geplante Funktionen

  • Tool zu PyPi hinzufügen
  • GCP-Unterstützung
  • JSON-Ausgabe
  • Unit-Tests hinzufügen
  • Migration zu Golang
Tool herunterladen