Only in German available.
Published on: July 6, 2022
Author: David Peyer
Die letzten drei Monate standen bei uns eindeutig im Zeichen von API-Keys, Datenbankzugriffen und unserem internen Domänen-Scanner.
Unser Scanner hat in den letzten drei Monaten nach .git-Ordner, .env-Dateien und .DS_Store-Dateien gesucht. Zu all diesen Themen haben wir einzelne Blog-Beiträge erfasst. Genaue Details entnehmen Sie bitte den jeweiligen Artikeln. Hier fasse ich die Erkenntnisse kurz zusammen und Werte aus wie viele Lücken nach einer Woche, nachdem wir informiert haben, noch vorhanden sind.
Git ist eine Software zum verteilten Verwalten von Dateien. Diese wird oft verwendet um Sourcecode zu verwalten. Hat man Zugriff auf das Git-Repository ist es viel einfacher Schwachstellen zu finden, da nun der Sourcecode offen zugänglich ist. Gesucht werden Schwachstellen, die es erlauben fremden Code auszuführen (RCE).
Wir haben die betroffenen Domänen-Inhaber über die Schwachstelle informiert. Nach 7 Tagen waren 80% der Git-Repositorys noch immer erreichbar.
Blog Artikel: Öffentliche .git Ordner
Bei einigen Software-Frameworks können Einstellungen über Umgebungs-Variablen (Environment-Variablen) festgelegt und in einer Datei mit dem Namen .env konfiguriert werden. Zum Beispiel Zugangsdaten, Datenbankzugriffe, E-Mail-Konfiguration oder API-Keys werden darin gespeichert. Sind diese öffentlich zugänglich, kann jeder die Konfiguration lesen und die Zugänge missbrauchen.
Wir haben die betroffenen Domänen-Inhaber über die Schwachstelle informiert. Nach 7 Tagen waren 63% der .env-Dateien noch immer erreichbar.
Blog Artikel: Öffentliche .env-Dateien
.DS_Store Dateien sind verstecke Dateien, welche im Apple macOS (früher OS X) automatisch vom Finder (Filebrowser von Apple macOS) erstellet werden. In dieser Datei werden Einstellungen zur Ordern-Ansicht, Icon-Positionen usw. gespeichert. Auch können in dieser Datei, die Dateinamen, welche im Ordner vorhanden sind, gespeichert sein. So können Dateien gefunden werden, wie zum Beispiel Datenbank-Backups, welche nicht für die Öffentlichkeit bestimmt sind. Mit einem entsprechenden Tool kann man die darin enthaltenen Informationen extrahieren.
Wir haben die betroffenen Domänen-Inhaber über die Schwachstelle informiert. Nach 7 Tagen waren 81% der .DS_Store-Dateien noch immer erreichbar.
Blog Artikel: Datenleck via .DS_Store Dateien
Die Top Fundstücke in diesem Quartal sind eindeutig die verschiedenen API-Keys (Application Programming Interface / Schlüssel für den Zugriff auf die Schnittstelle). Dank diesen Schlüsseln hat man Zugriff auf alle gespeicherten Daten sowie den angebotenen Dienstleistungen. Weiter fanden wir Datenbankzugriffe, Passwort-Hashes und Möglichkeiten Code auf den Systemen auszuführen.
Bei mehreren KMUs konnte wir API-Schlüssel herunterladen, welcher produktiv im Einsatz war. Damit wäre es uns möglich gewesen Geld vom jeweiligen Stripe-Konto zu uns zu transferieren und zukünftige Zahlungsströme umzuleiten.
Bei einem KMU (bis 10 Personen) konnten wir den API-Schlüssel zur Überprüfung der Bonität von Kunden herunterladen. Je nach Vertrag und Abrechnungsmodell mit Intrum könnte hier ein Schaden entstehen, indem der Angreifer unzählige Anfragen stellt. Dies ist kein Fehler von Intrum, sondern ein Konfigurationsfehler, eines ihrer Kunden.
Weitere gefundene API-Keys waren von Google, Shop-Systemen, Paypal und weiteren Systemen. Ohne APIs funktioniert heute nichts mehr im Internet. Umso wichtiger ist es, diese Keys sicher aufzubewahren. Den Hausschlüssel für die eigene Wohnung verteilt man ja auch nicht an wildfremde Menschen.
Datenbank Logins fanden wir bei Behörden, KMUs von der Grösse 2 bis 500 Mitarbeitern oder bei Vereinen. Dank diesen Logins konnten wir alles, was in der Datenbank gespeichert war lesen, manipulieren oder auch löschen.
Bei verschiedenen Aufträgen fanden wir Passwort-Hashes, dies sind nicht die klartext Passwörter, sondern Passwörter die durch eine Kryptografische-Funktion für die Speicherung sicher gemacht wurden. Dieses Verfahren ist üblich, um Beispielweise Passwörter in einer Datenbank zu speichern.
Zum Beisiel "SuperPasswort66" ergibt den SHA512-Hash
"70e87e2d63ba1b8bedc2fa9798f36e1d cd7faa654067b86361fd20d1b39e51a5 2b3919983b0d3e3ffc402f5f51c5dc4e 2a17ade879bb4a67a620d521ae7be8b3"
Dieses Passwort ist vermeidlich sicher, es besteht aus 15 Zeichen, enthält Buchstaben und Zahlen. Möchte man dieses Passwort mit reinem Bruteforce /Ausprobieren knacken ist ein Computer sehr lange am rechnen.
Das Problem: Es gibt im Internet verschiedene Tools und Datenbanken die solche Hashwerte und deren Klartext gespeichert haben. Ist der Hash in der Datenbank gespeichert erhält man in kurzer Zeit das Passwort. Zusätzlich werden die Computer immer leistungsfähiger, so dass die Passwort-Hashes immer schneller geknackt werden können. Deshalb ist es umso wichtiger lange Passwörter bestehend aus Gross- Und Kleinbuchstaben, Zahlen und Sonderzeichen zu wählen.
Findet man beispielsweise Passwort-Hashes für ein WordPress sind diese je nach dem nur bedingt interessant. Ist das Hosting nicht mit der IT-Infrastruktur der Organisation verbunden, könnte man im schlimmsten Fall nur ein einzelnes System übernehmen. Nun sind wir Menschen leider etwas faul, respektive niemand kann sich viele verschiedene Passwörter merken. Und dadurch resultiert die grosse Gefahr, dass das gefundene Passwort auch bei anderen Konten verwendet wurde. So zum Beispiel beim E-Mail-Account oder dem Single Sign On der Firma. Und schon hat ein Angreifer Zugang zu sensiblen Daten.
Für einen Angreifer ist die Möglichkeit beliebigen Code auf einem fremden System auszuführen in etwa das finden des heiligen Grahls. Sobald man beliebigen Code auf einem System ausführen kann, kann man das System übernehmen oder das kompromittierte System kann als Jump-Host für den Zugriff auf andere Systeme im Netzwerk dienen.
Remote Code Execution zu erreichen kann sehr kompliziert sein oder auch ganz einfach. Vor allem wenn beim Deployen auf das produktive System, die Debug-Scripts / Debug-Mode noch vorhanden oder aktiv sind. Unser Highlight in dieser Kategorie war ein Webformular, wo man beliebigen PHP-Code an den Server senden konnte und dieser den Code genauso ausführt. Das ganze ungeschützt erreichbar unter der URL http://example.com/exec.php.
Im Verhältnis zum ersten Quartal dieses Jahres hat sich die Durchschnitts Note C nicht verändert. Allgemein kann man sagen, dass es viele Webapplikationen gibt die noch grosses Potential haben sich zu verbessern. Ein spezielles Augenmerk sollte man auf Security-Header legen. Mit diesen Hilfsmitteln kann man einige mögliche Angriffsvektoren von vornherein ausschliessen und die eigenen Kunden und sich selber schützen.
Gerne beraten wir Sie zu Cybersecurity-Themen.
Folgende Blog-Beiträge könnten Sie interessieren:
A password with 8 characters with numbers, upper and lower case letters and symbols can be cracked in under one hour.
Source: Hive Systems
X
Gerne beraten wir Sie zu Cybersecurity-Themen.
Contact us without obligation:
Kathrin Müller is looking forward to hearing from you and will be happy to organize a meeting according to your needs.
nanio GmbH (Codepurple)
Moosweg 24
5606 Dintikon