Zum Inhalt springen
Neuer Bericht: Holen Sie sich Ihr Exemplar des State of the Internet Report 2024! | Heute herunterladen
Blogs

Verwendung von Censys zum Auffinden von fehlkonfiguriertem S3

TL;DR Feststellungen

In weniger als einer Stunde fanden wir mit den Daten von Censys 7.640 potenzielle S3-Buckets, 49 vollständig offene (World Read + Write), 16 Buckets mit anonymen Schreibzugriff, 1.235 mit anonymen Lesezugriff und mehr.

Auffinden von S3-Zielen mit Censys

Amazon S3 (Amazon Simple Storage Service) ist ein Produkt, das Objektspeicher über das Internet bereitstellt und von unzähligen Einzelpersonen und Organisationen weltweit genutzt wird. Es ist einfach zu verwenden, aber leider auch sehr leicht falsch zu konfigurieren. Am 20. Dezember 2022 wurde bekannt, dass die S3-Buckets des Bildungsverlages McGraw Hill ohne die richtige Konfiguration ins Internet gestellt wurden, so dass die persönlichen Daten von mehr als 100.000 Schülern von Hackern abgegriffen werden konnten. Und das ist kein seltenes Ereignis, sondern kommt immer wieder vor.

Auch wenn Censys derzeit nicht über einen nativen S3-Scanner verfügt, können wir die von uns gesammelten Daten dennoch für andere Tools nutzen. Wenn ein Benutzer einen Bucket erstellt, erhält dieser einen eindeutigen Namen, der dann in DNS übersetzt wird. Wenn ich beispielsweise einen S3-Bucket "censys" nenne, dann wäre dieser Bucket über den DNS-Namen "censys.s3.amazonaws.com " verfügbar. Bevor wir also feststellen können, ob ein S3-Bucket öffentlich zugänglich ist, müssen wir wissen, welcher Name dem Speicherobjekt selbst gegeben wurde.

Viele Sicherheitstools können Benutzer bei der Suche nach offenen S3-Buckets unterstützen, aber eine der größeren Herausforderungen ist die Ermittlung der Ziele (die Bucket-Namen). Eine Standardmethode ist die Brute-Force-Namenserstellung oder zufällige Kombinationen von Wörtern und der Versuch, den Namen von AWS anzufordern. Mit dieser Methode finden viele böswillige Angreifer die niedrig hängenden Früchte der unsicheren S3-Buckets.

Da Censys eine riesige Anzahl von Hosts im Internet gescannt und indexiert hat (zum Zeitpunkt der Erstellung dieses Artikels etwa 276 Millionen Hosts und 2,1 Milliarden Dienste), können wir diese Daten nutzen, um potenzielle S3-Bucket-Namen zu finden, die wir dann in das Open-Source-S3-Scanner-Tool S3Scanner einspeisen können, um die verfügbaren Zugriffsarten zu bestimmen.

Zunächst erstellten wir eine SQL-Abfrage, die den Inhalt aller HTTP-Antworten im Internet, die das Wort "s3" enthielten, in eine andere Datenbank mit Metadaten über den Host übertrug. Dann schrieben wir ein Python-Skript, das jeden dieser HTTP-Antwortkörper durchlief und s3-ähnliche URLs analysierte, um die Namen der s3-Buckets zu extrahieren, die dann in eine Datei geschrieben wurden.

Nachdem dieses Skript ausgeführt wurde, verwendeten wir die Ausgabedatei, die nur die Bucket-Namen enthielt, als Eingabe für das Tool S3Scanner:

~$ s3scanner --threads 8 scan --buckets-file .txt | tee s3scanner_ouput.txt

Schließlich brauchten wir eine Möglichkeit, einen Bericht über die Ergebnisse von S3Scanner zu erstellen, indem wir ein kleines Bash-Skript erstellten, das die Daten verarbeitet und eine aggregierte Ansicht der Ergebnisse erstellt.

Fundstücke

Wir konnten in kurzer Zeit 7.640 potenzielle S3-Ziele identifizieren, ohne auf eine zufällige Namensgenerierung zurückgreifen zu müssen. Nachdem wir S3Scanner auf diese Ergebnisse angewendet hatten, fanden wir Folgendes heraus:

  • 49 S3-Buckets ermöglichten anonymen Benutzern die vollständige Kontrolle über die Instanz (Lesen/Schreiben/ACP-Lesen/ACP-Schreiben).
  • 16 S3-Buckets erlaubten anonymen Nutzern,in die Instanz zu schreiben
  • 18 S3-Buckets erlaubten es einem anonymen Benutzer, in die Zugriffskontrollrichtlinie (ACP) zu schreiben.
  • 515 S3-Buckets ermöglichten es einem anonymen Benutzer, den ACP zu lesen
  • 1.235 S3-Buckets waren für die Welt lesbar

 

Über den Autor

Mark Ellzey
Senior Security Researcher Alle Beiträge von Mark Ellzey
Mark Ellzey ist ein leitender Sicherheitsforscher bei Censys. Vor seiner jetzigen Tätigkeit war Mark Ellzey über 22 Jahre lang als Netzwerksicherheitsingenieur und Softwareentwickler für verschiedene Internetdienstleister und Finanzinstitute tätig.
Lösungen für das Management von Angriffsflächen
Mehr erfahren