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
S3Scanner — Scanne nach fehlkonfigurierten S3-Buckets über S3-kompatible APIs! | Kitploit
Tools/GitHubGitHub/sa7mon/s3scanner
SchwachstellenscannerInformationsbeschaffungCloud-SicherheitFehlkonfiguration
GitHubsa7mon/s3scanner

S3Scanner

Scanne nach fehlkonfigurierten S3-Buckets über S3-kompatible APIs!

Repository anzeigen
3.2k4144vor 1 MonatVon Kitploit geprüft
Webseite

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

S3Scanner

Funktionen - Verwendung - Schnellstart - Installation - Diskutieren


Ein Werkzeug zum Auffinden offener S3-Buckets in AWS oder anderen Cloud-Anbietern:
  • AWS
  • DigitalOcean
  • DreamHost
  • GCP
  • Linode
  • Scaleway
  • Benutzerdefiniert
demo

Funktionen

  • ⚡️ Multi-Thread-Scanning
  • 🔭 Unterstützt viele integrierte S3-Speicheranbieter oder benutzerdefinierte
  • 🕵️‍♀️ Scannt alle Bucket-Berechtigungen, um Fehlkonfigurationen zu finden
  • 💾 Ergebnisse in einer Postgres-Datenbank speichern
  • 🐇 Verbindung zu RabbitMQ für automatisiertes Scannen in großem Maßstab herstellen
Tool herunterladen
  • 🐳 Docker-Unterstützung
  • Verwendet von

    Banner für six2dez/reconftw Banner für yogeshojha/rengine Banner für pry0cc/axiom – das dynamische Infrastruktur-Framework für jedermann

    Verwendung

    root@kitploit:~
    EINGABE: (1 erforderlich)
      -bucket        string  Name des zu überprüfenden Buckets.
      -bucket-file   string  Datei mit Bucketnamen zur Überprüfung.
      -mq                    Verbindung zu RabbitMQ herstellen, um Buckets zu erhalten. Erfordert Konfigurationsdateischlüssel "mq". Standard: "false"
    
    AUSGABE:
      -db       Ergebnisse in einer Postgres-Datenbank speichern. Erfordert Konfigurationsdateischlüssel "db.uri". Standard: "false"
      -json     Logs im JSON-Format auf stdout ausgeben anstatt menschenlesbar. Standard: "false"
    
    OPTIONEN:
      -enumerate           Bucket-Objekte enumerieren (kann zeitaufwendig sein). Standard: "false"
      -provider    string  Objektspeicheranbieter: aws, custom, digitalocean, dreamhost, gcp, linode, scaleway – custom erfordert Konfigurationsdatei. Standard: "aws"
      -threads     int     Anzahl der Threads zum Scannen. Standard: "4"
    
    DEBUG:
      -verbose     Ausführliche Protokollierung aktivieren. Standard: "false"
      -version     Version anzeigen Standard: "false"
    
    Falls eine Konfigurationsdatei erforderlich ist, wird an diesen Speicherorten nach config.yml gesucht: "." "/etc/s3scanner/" "$HOME/.s3scanner/"
    

    🚀 Unterstützung

    Wenn Sie dieses Tool nützlich fanden, erwägen Sie bitte eine Spende zur Unterstützung seiner Entwicklung. Sie finden Sponsoring-Optionen auf der Seite dieses Repositorys oder in FUNDING.yml

    Großen Dank an tines für die fortlaufende Unterstützung dieses Projekts.

    Schnellstart

    Scannen Sie AWS nach in einer Datei aufgelisteten Bucket-Namen, enumerieren Sie alle Objekte

    root@kitploit:~
    $ s3scanner -bucket-file names.txt -enumerate
    

    Scannen Sie einen Bucket in GCP, enumerieren Sie alle Objekte und speichern Sie Ergebnisse in der Datenbank

    root@kitploit:~
    $ s3scanner -provider gcp -db -bucket my-bucket -enumerate
    

    Installation

    PlattformVersionSchritte
    BlackArchBlackArch packagepacman -S s3scanner
    DockerDocker releasedocker run ghcr.io/sa7mon/s3scanner
    GoGolanggo install -v github.com/sa7mon/s3scanner@latest
    Kali LinuxKali packageapt install s3scanner
    MacOShomebrew versionbrew install s3scanner
    Parrot OSParrot packageapt install s3scanner
    Windows - wingetwinget install s3scanner
    NixOS stablenixpkgs unstable package

    Verwendung

    Eingabe

    s3scanner benötigt genau einen Eingabetyp: -bucket, -bucket-file oder -mq.

    root@kitploit:~
    EINGABE: (1 erforderlich)
      -bucket        string  Name des zu überprüfenden Buckets.
      -bucket-file   string  Datei mit Bucketnamen zur Überprüfung.
      -mq                    Verbindung zu RabbitMQ herstellen, um Buckets zu erhalten. Erfordert Konfigurationsdateischlüssel "mq". Standard: "false"
    

    -bucket

    Scannt einen einzelnen Bucket

    root@kitploit:~
    s3scanner -bucket secret_uploads
    

    -bucket-file

    Scannt jeden in einer Datei aufgelisteten Bucket-Namen

    root@kitploit:~
    s3scanner -bucket-file names.txt
    

    wobei names.txt einen Bucket-Namen pro Zeile enthält

    root@kitploit:~
    $ cat names.txt
    bucket123
    assets
    image-uploads
    

    Mehrfach aufgeführte Bucket-Namen werden nur einmal gescannt.

    -mq

    Stellt eine Verbindung zu einem RabbitMQ-Server her und verarbeitet Nachrichten, die Bucket-Namen zum Scannen enthalten.

    root@kitploit:~
    s3scanner -mq
    

    Nachrichten sollten JSON-kodierte Bucket-Objekte sein – siehe mqingest für ein Golang-Veröffentlichungsbeispiel.

    -mq erfordert die Konfigurationsdateischlüssel mq.uri und mq.queue_name. Siehe Abschnitt Konfigurationsdatei für ein Beispiel.

    Ausgabe

    root@kitploit:~
    AUSGABE:
      -db       Ergebnisse in einer Postgres-Datenbank speichern. Erfordert Konfigurationsdateischlüssel "db.uri". Standard: "false"
      -json     Logs im JSON-Format auf stdout ausgeben anstatt menschenlesbar. Standard: "false"
    

    -db

    Speichert alle Scanergebnisse in einer PostgreSQL-Datenbank

    root@kitploit:~
    s3scanner -bucket images -db
    
    • Erfordert den Konfigurationsdateischlüssel db.uri. Siehe Abschnitt Konfigurationsdatei für ein Beispiel.
    • Bei Verwendung von -db werden Ergebnisse auch auf der Konsole ausgegeben, wenn -json oder der standardmäßige menschenlesbare Ausgabemodus verwendet wird.
    • s3scanner führt bei jeder Verbindung zur Datenbank Gorms Auto Migration aus. Falls das Schema bereits Tabellen mit den von Gorm erwarteten Namen enthält, kann dies deren Struktur verändern. Es wird empfohlen, ein Postgres-Schema zu erstellen, das nur für s3scanner-Ergebnisse bestimmt ist.

    -json

    Anstatt Scanergebnisse im menschenlesbaren Format auf der Konsole auszugeben, wird maschinenlesbares JSON ausgegeben.

    root@kitploit:~
    s3scanner -bucket images -json
    

    Dies gibt pro Zeile ein JSON-Objekt auf der Konsole aus, das dann an jq oder andere Werkzeuge, die JSON-Eingaben akzeptieren, weitergeleitet werden kann.

    Beispiel: Bucket-Name und Region für alle existierenden Buckets ausgeben

    root@kitploit:~
    $ s3scanner -bucket-file names.txt -json | jq -r '. | select(.bucket.exists==1) | [.bucket.name, .bucket.region] | join(" - ")'       
    10000 - eu-west-1
    10000.pizza - ap-southeast-1
    images_staging - us-west-2
    

    Optionen

    root@kitploit:~
    OPTIONEN:
      -enumerate           Bucket-Objekte enumerieren (kann zeitaufwendig sein). Standard: "false"
      -provider    string  Objektspeicheranbieter: aws, custom, digitalocean, dreamhost, gcp, linode, scaleway – custom erfordert Konfigurationsdatei. Standard: "aws"
      -threads     int     Anzahl der Threads zum Scannen. Standard: "4"
    

    -enumerate

    Enumeriert alle im Bucket gespeicherten Objekte. Standardmäßig überprüft s3scanner nur die Berechtigungen von Buckets.

    root@kitploit:~
    s3scanner -bucket attachments -enumerate
    
    • Hinweis: Dies kann bei einer großen Anzahl gespeicherter Objekte lange dauern.
    • Beim Enumerieren fordert s3scanner „Seiten" mit je 1.000 Objekten an. Gibt es mehr als 5.000 Seiten, wird der Rest übersprungen.

    -provider

    Name des zu verwendenden Speicheranbieters beim Überprüfen von Buckets.

    root@kitploit:~
    s3scanner -bucket assets -provider gcp
    
    • Verwenden Sie „custom", wenn ein derzeit nicht unterstützter oder lokaler Netzwerkspeicheranbieter als Ziel dient.
    • Der Anbieter „custom" erfordert Konfigurationsdateischlüssel unter providers.custom, die im Abschnitt Konfigurationsdatei aufgeführt sind.

    -threads

    Anzahl der Threads zum Scannen.

    root@kitploit:~
    s3scanner -bucket secret_docs -threads 8
    
    • Das Erhöhen der Threads erhöht die Anzahl der gleichzeitig gescannten Buckets, beschleunigt jedoch nicht die Objektenumerierung. Die Enumeration ist derzeit pro Bucket single-threaded.

    Debug

    root@kitploit:~
    DEBUG:
      -verbose     Ausführliche Protokollierung aktivieren. Standard: "false"
      -version     Version anzeigen Standard: "false"
    

    -verbose

    Aktiviert ausführliche Protokollierung von Debug-Meldungen. Diese Option erzeugt viele Logs und wird nur bei der Meldung eines Fehlers empfohlen.

    root@kitploit:~
    s3scanner -bucket spreadsheets -verbose
    

    -version

    Versionsinformationen anzeigen und beenden.

    root@kitploit:~
    s3scanner -version
    
    • Gibt dev aus, wenn aus dem Quellcode kompiliert.

    Entwicklung

    Eine Docker-Compose-Datei ist enthalten, die 4 Container erstellt:

    • rabbitmq
    • postgres
    • app
    • mitm

    2 Profile sind konfiguriert:

    • dev – Standard-Entwicklungsumgebung
    • dev-mitm – Umgebung mit mitmproxy konfiguriert zur einfacheren Beobachtung von HTTP-Verkehr beim Debuggen oder Hinzufügen neuer Anbieter.

    Um die Entwicklungsumgebung zu starten, führen Sie make dev oder make dev-mitm aus. Wechseln Sie mit docker exec -it -w /app app_dev sh in den app-Container, dann go run . Wenn Sie das dev-mitm-Profil verwenden, öffnen Sie http://127.0.0.1:8081 in einem Browser, um HTTP-Aufrufe anzuzeigen und zu manipulieren, die vom App-Container getätigt werden.

    Konfigurationsdatei

    Wenn Flags verwendet werden, die Konfigurationsoptionen erfordern, sucht s3scanner nach config.yml in:

    • (aktuelles Verzeichnis)
    • /etc/s3scanner/
    • $HOME/.s3scanner/
    root@kitploit:~
    # Required by -db
    db:
      uri: "postgresql://user:[email protected]:5432/schema_name"
    
    # Required by -mq
    mq:
      queue_name: "aws"
      uri: "amqp://user:pass@localhost:5672"
    
    # providers.custom required by `-provider custom`
    #   address_style - Addressing style used by endpoints.
    #     type: string
    #     values: "path" or "vhost"
    #   endpoint_format - Format of endpoint URLs. Should contain '$REGION' as placeholder for region name
    #     type: string
    #   insecure - Ignore SSL errors
    #     type: boolean
    # regions must contain at least one option
    providers:
      custom: 
        address_style: "path"
        endpoint_format: "https://$REGION.vultrobjects.com"
        insecure: false
        regions:
          - "ewr1"
    

    Wenn s3scanner die Konfigurationsdatei analysiert, wird es das endpoint_format nehmen und für alle aufgeführten regions $REGION ersetzen, um eine Liste von Endpunkt-URLs zu erstellen.

    S3-kompatible APIs

    Hinweis: S3Scanner unterstützt derzeit nur das Scannen nach anonymen Benutzerberechtigungen von Nicht-AWS-Diensten

    📚 Weitere Informationen zu Nicht-AWS-APIs finden Sie im Projekt-Wiki.

    Berechtigungen

    Dieses Tool versucht, alle verfügbaren Informationen über einen Bucket zu erhalten, aber es liegt an Ihnen, die Ergebnisse zu interpretieren.

    Mögliche Berechtigungen für Buckets:

    • Lesen – Alle Dateien auflisten und anzeigen
    • Schreiben – Dateien in den Bucket schreiben
    • ACP lesen – Alle dem Bucket zugeordneten Zugriffskontrollrichtlinien lesen
    • ACP schreiben – Zugriffskontrollrichtlinien in den Bucket schreiben
    • Vollzugriff – Alle oben genannten Berechtigungen

    Einige oder alle dieser Berechtigungen können für die 2 Hauptbenutzergruppen festgelegt werden:

    • Authentifizierte Benutzer
    • Öffentliche Benutzer (diejenigen ohne AWS-Anmeldeinformationen)
    • Einzelne Benutzer/Gruppen (nicht im Rahmen dieses Tools)

    Was das bedeutet: Nur weil ein Bucket das Lesen/Schreiben von ACLs nicht erlaubt, heißt das nicht, dass Sie keine Dateien im Bucket lesen/schreiben können. Umgekehrt können Sie möglicherweise ACLs auflisten, aber keine Dateien im Bucket lesen/schreiben.

    Lizenz

    MIT

    nix-shell -p s3scanner
    NixOS unstablenixpkgs unstable packagenix-shell -p s3scanner
    Andere – Aus Quellcode bauenGitHub releasegit clone [email protected]:sa7mon/S3Scanner.git && cd S3Scanner && go build -o s3scanner .