IT & Engineering
Ein Warnhinweis für Laravel-Entwicklungsteams
„Ist meine Anwendung sicher?“ ist heutzutage eine der wichtigsten Fragen, die sich Entwicklungsteams stellen. Dennoch werden Sicherheitsverletzungen und kompromittierte Konten viel zu alltäglich, und die Compliance- und Sicherheitsteams zerbrechen sich ständig den Kopf darüber, wie sie Schwachstellen erkennen und verhindern können.
Bei Mailgun haben wir in letzter Zeit einen Anstieg an unbefugten Zugriffen auf Kundenkonten festgestellt. Das ist zwar nichts Neues, aber der aktuelle Anstieg hat uns stutzig gemacht, weshalb wir beschlossen haben, der Sache auf den Grund zu gehen. Unsere Untersuchung ergab die üblichen Verdächtigen, wie die versehentliche Preisgabe von Zugangsdaten auf GitHub genannt, und Credential Stuffing -Angriffe, aber was wir zuvor noch nicht gesehen hatten, war etwas, das unsere Kunden betraf, die Laravel nutzen.
Was ist bei Laravel los?
Laravel ist ein sehr beliebtes PHP-Framework, das weltweit in der Entwicklung genutzt wird. Laravel enthält einen Debug-Modus, der bei der Entwicklung von Webanwendungen hilft, Probleme zu finden und Fehler im Code zu identifizieren.
Das an sich ist kein Problem, da dies normalerweise nur während der Entwicklung verwendet wird. Problematisch wird es jedoch, wenn die Webanwendung live geht und der Debug-Modus nicht deaktiviert wird. Wenn in diesem Fall eine Ausnahme auftritt, können sensible Daten wie Passwörter, Schlüssel und Datenbankinformationen offengelegt werden, wie der folgende Screenshot zeigt.

Um es klar zu sagen: Dies ist kein Bug oder eine Schwachstelle von Laravel. Es handelt sich schlichtweg um einen Schritt, der beim Live-Gang einer Website leicht übersehen werden kann. Es ist auch kein neues Problem – wir haben viele Diskussionen zu diesem Thema in Online-Foren und Threads gefunden. Es scheint jedoch, dass böswillige Akteure Wind davon bekommen haben und nun aktiv nach diesen Schwachstellen suchen.
Während wir das obige Problem untersucht haben, ist uns noch etwas anderes bei einer kleineren Teilmenge von Laravel-Anwendungen aufgefallen. In einigen Fällen wurden Dateien so falsch abgelegt, dass die gesamte Laravel-Anwendung aus dem Web-Verzeichnis bereitgestellt werden konnte, anstatt nur aus dem Verzeichnis „public“. Wenn dies geschieht, wird die .env-Datei, die dieselben sensiblen Informationen enthält, offengelegt, wie im vorherigen Screenshot gezeigt. In diesem Fall können Sie einfach Ihren Webbrowser verwenden und die Datei direkt aufrufen, sofern Sie den Pfad kennen. Im folgenden Screenshot sehen Sie, wie das aussieht.

Warum ist das für Mailgun wichtig?
Nun, wenn diese sensiblen Informationen verfügbar sind und in die Hände der falschen Personen (z. B. Spammer) gelangen, können Sie Gift darauf nehmen, dass schon bald unerwünschte Nachrichten über den kompromittierten E-Mail-Server fließen werden. Aber wie finden die Spammer diese Informationen?
Leider ist das ziemlich einfach. Wenn der Debug-Modus nicht deaktiviert wird, sobald sich eine Anwendung im Produktionsmodus befindet, können Angreifende durch speziell präparierte Nutzdaten in einer HTTP-Anfrage eine Ausnahme auslösen. Sobald das passiert, wird ihnen die Debug-Seite angezeigt, und die sensiblen Informationen werden dann ausgelesen und entweder selbst genutzt oder verkauft. Zwar kennen sie nicht alle Websites, die für diesen Angriff anfällig sind, aber das hält sie nicht auf.
Cyberkriminelle kennen keine Gnade. Sie gehen Listen von IPs, Domains und Pfaden durch, bis sie Glück haben und eine Website finden, bei der entweder der Debug-Modus noch aktiviert war oder die .env-Datei ungeschützt zugänglich ist. Zu allem Übel haben böswillige Akteure diesen Prozess vereinfacht, sodass es mit Tools wie dem unten abgebildeten leichter denn je ist, diese Schwachstellen zu finden.

Wie können Sie sich schützen?
Schalten Sie zuallererst den Debug-Modus aus, wenn Sie Ihre Website live schalten. Das Debugging von Code-Problemen ist äußerst wichtig und hilfreich für die Entwicklung, aber es ist nicht für den Einsatz in einer Produktionsumgebung gedacht.
Zweitens: Seien Sie vorsichtig, wenn Sie Dateien verschieben. Legen Sie Ihre .env-Datei niemals im Web-Verzeichnis ab. Das mag für die meisten offensichtlich erscheinen, aber Tatsache ist, dass es unzählige Beispiele dafür gibt, dass so etwas viel zu häufig vorkommt.
Warum erzählen wir Ihnen das?
Wir wünschen uns ein gesundes E-Mail-Ökosystem. Wir hassen Spam (wir hassen ihn wirklich sehr) und wir werden alles in unserer Macht Stehende tun, um der E-Mail-Community bei der Bekämpfung zu helfen.
Darüber hinaus ist dies ein größeres Problem als nur die böswillige Nutzung von E-Mail-Servern. Die sensiblen Informationen, die bei diesen Angriffen offengelegt werden, können von Cyberkriminellen genutzt werden, um Daten zu stehlen oder weitere Angriffe auf Systeme zu entwickeln. Das Letzte, worüber irgendjemand lesen möchte, ist eine weitere Datenpanne.
Viel Erfolg und bleiben Sie sicher!