Massive Exposition von Geheimdaten: Die .git-Verzeichnis-Sicherheitskrise bei populären Websites
Die massiven Leaks von Geheimdaten durch öffentlich zugängliche .git-Verzeichnisse auf tausenden populären Websites belegen eine weit verbreitete, grundlegende Schwachstelle in der modernen Softwareentwicklungs-Infrastruktur. Tausende stark besuchte Websites machten ihre .git-Verzeichnisse im Web zugänglich und legten dabei große Mengen verifizierter, produktiver Geheimdaten offen, darunter AWS-Schlüssel, GitHub-Token mit Admin-Rechten und Datenbank-Zugangsdaten. Dies hat tiefgreifende Folgen für Software-Lieferketten und Unternehmenssicherheit und verdeutlicht die Priorisierung von Geschwindigkeit vor Sicherheit in vielen DevOps-Umgebungen.
Das .git-Verzeichnis: Struktur, Bedeutung und Sicherheitsimplikationen
Das .git-Verzeichnis ist der verborgene Kern eines Git-Repositories und enthält alle Informationen zur Verwaltung des Repositories. Es wird bei der Initialisierung automatisch angelegt und speichert Commit-Historie, Branches, Konfiguration und Referenzen des Projekts. Wichtige Komponenten sind:
- .git/config mit Repository-spezifischen Einstellungen, einschließlich Informationen für entfernte Repositories.
- .git/objects mit allen Versionen jeder jemals committeden Datei.
- .git/refs mit Verweisen auf Branches und Tags.
Ist dieses Verzeichnis öffentlich zugänglich, kann ein Angreifer die komplette Entwicklungshistorie rekonstruieren, inklusive älterer Code-Versionen, Commit-Nachrichten und Metadaten. Besonders kritisch: Alte Commits mit früher versehentlich committeden Geheimdaten (API-Schlüssel, Datenbankpasswörter) bleiben im .git-Verzeichnis oft dauerhaft abrufbar.
Erhalten Angreifer Zugriff auf das .git-Verzeichnis, können sie mit spezialisierten Werkzeugen die Struktur herunterladen und lokal wiederherstellen. Tools wie GitTools/GitDumper ermöglichen das automatisierte Herunterladen eines exponierten Repositories. Selbst wenn Directory-Listing deaktiviert ist, lässt sich die standardisierte .git-Struktur automatisiert rekonstruieren.
Ungeschützte Git-Verzeichnisse als weit verbreitetes Phänomen
Das Schweizer NCSC fand 2022 in einer landesweiten Erhebung rund 1.300 Systeme mit öffentlich zugänglichen Git-Verzeichnissen, über die Quellcode, Zugangsdaten oder Passwörter einsehbar waren.
In Deutschland zeigte ein Scan der Deutschen Gesellschaft für Cybersicherheit: Von knapp sieben Millionen Webseiten waren fast 25.000 Domains und über 40.000 Subdomains betroffen. Die Schwachstelle ist seit 2015 bekannt und leicht zu verhindern, bleibt aber global verbreitet.
Geheimdaten-Leaks im breiteren Kontext: GitHub und andere Plattformen
Die .git-Exposition steht im Zusammenhang mit einer allgemeinen Secrets-Krise auf Code-Plattformen. GitHub meldete 2024 über 39 Millionen geleakte Geheimdaten – ein Anstieg um 67 Prozent gegenüber dem Vorjahr.
Ein zentrales Phänomen sind „Zombie-Leaks“: exponierte, aber nicht widerrufene Geheimdaten. Über 91 Prozent der geleakten Secrets waren fünf Tage nach dem Leak noch aktiv. Häufig löschen Entwickler nur den Commit oder machen ein Repository privat, ohne die Schlüssel oder Zugangsdaten zu widerrufen.
Kritische Analyse: Warum exponiert eine Website ihre .git-Verzeichnisse?
Die Exposition beruht überwiegend auf Konfigurationsfehlern und Nachlässigkeit:
- Fehlerhafte Bereitstellung: Das gesamte Projektverzeichnis inklusive .git wird ins Web-Root hochgeladen.
- Falsche Webserver-Konfiguration: Directory-Listing ist aktiviert, und das .git-Verzeichnis wird nicht explizit blockiert. Ein Angreifer kann einfach
https://example.com/.git/aufrufen. - Fehlerhafte Nutzung von .gitignore: In seltenen Fällen wird das .git-Verzeichnis selbst committed, etwa durch unüberlegtes Kopieren bestehender Projektverzeichnisse.
Das NCSC betont, dass insbesondere menschliche Fehler von Administratoren und Entwicklern ursächlich sind, etwa durch das Kopieren von Projektordnern ohne Prüfung der enthaltenen Daten.
Die mehrdimensionale Bedrohung: Von Source-Code bis zur Cloud-Infrastruktur
Exponierte .git-Verzeichnisse ermöglichen:
- Diebstahl von Quellcode und Geschäftsgeheimnissen (Algorithmen, proprietäre Software).
- Identifikation von Schwachstellen über Analyse der Historie, Commits und Abhängigkeiten.
- Direkten Zugriff auf Infrastruktur durch geleakte Passwörter, API-Keys und Konfigurationsdateien.
Laut NCSC enthalten .git-Ordner häufig sowohl den vollständigen Quellcode als auch Konfigurationsdateien mit sensiblen Systeminformationen. Damit können Angreifer zielgerichtet nach Schwachstellen suchen und Anwendungen oder ganze Systeme kompromittieren.
Remediation-Strategien und Best Practices
Kurzfristige Maßnahmen:
- Zugriff auf .git sperren: In Apache per Rewrite-Regeln oder htaccess, in Nginx per
location-Block. - Directory-Listing deaktivieren:
- Apache:
Options -Indexesim htaccess. - Nginx:
autoindex off;.
Langfristige Maßnahmen:
- Anpassung des Entwicklungsprozesses, damit nur notwendige Daten auf Webservern landen.
- Keine Geheimdaten im Quellcode oder zumindest konsequentes Ignorieren sensibler Dateien im Git-Verzeichnis.
- Sauber gepflegte .gitignore mit Mustern für
.env, Secret-Dateien und Konfigurationen mit Geheimdaten.
Das NCSC weist darauf hin, dass diese grundlegenden Best Practices in der Praxis häufig nicht umgesetzt werden.
Ähnliche Risiken: .env- und .DS_Store-Dateien
Neben Git warnt das NCSC vor ungeschützten .env- und .DS_Store-Dateien.
.enventhält oft Konfiguration und Geheimdaten über Umgebungsvariablen..DS_Storespeichert unter macOS Ordner-Einstellungen und kann ebenfalls sensible Informationen preisgeben.
Implikationen für die Sicherheitsstrategie
Die .git-Exposition ist ein typisches Problem der Software-Lieferketten-Sicherheit in schnelllebigen DevOps-Umgebungen. Entwickler unter Zeitdruck vernachlässigen Sicherheitsrichtlinien; Geheimdaten werden zusätzlich in persönlichen GitHub-Accounts, Forks oder Zulieferer-Repositories offengelegt.
Der typische Angriffsablauf:
- Zugriff auf ein exponiertes .git-Verzeichnis einer Website.
- Extraktion der Historie und Suche nach Geheimdaten.
- Nutzung gefundener Zugangsdaten, z.B. für Cloud-Konten.
- Auflistung der Ressourcen und Exfiltration sensibler Daten.
Dies kann innerhalb weniger Minuten zur vollständigen Kompromittierung einer Infrastruktur führen.
Fazit
Die breite Exposition von Geheimdaten über .git-Verzeichnisse zeigt strukturelle Defizite in Entwicklungsprozessen, Sicherheitskultur und Secrets-Management. Eine wirksame Antwort erfordert:
- strikte .gitignore- und Secrets-Strategien,
- konsequente Webserver-Härtung,
- sowie kontinuierliches Scannen auf exponierte Geheimdaten und Fehlkonfigurationen.
Organisationen müssen ihre Entwicklungsprozesse so anpassen, dass keine sensiblen Daten in Git-Repositories landen.
Quellen & Referenzen
- https://www.ncsc.admin.ch/ncsc/de/home/aktuell/im-fokus/2022/git.html
- https://www.golem.de/news/websicherheit-riskante-git-verzeichnisse-1507-115476.html
- https://www.it-boltwise.de/sicherheitsrisiken-durch-git-repositories-ein-unterschaetztes-problem.html
- https://www.it-administrator.de/article-332548
- https://www.sentiguard.eu/wissen/sicherheitsluecken-in-git-erlauben-remote-code-execution/
- https://xygeni.io/de/blog/git-security-faqs-what-developers-should-know/
- https://juergenkoller.software/blog/github-repositories-sicherheit.html
- https://cortina-consult.com/informationssicherheit/wissen/pentest-tools/
Mit Hilfe von KI zusammengefasst.