Veröffentlicht am: 17. November 2022
Autor: Thomas Federer
Weiter geht es in der Serie der Scans der .ch und .li Domains. Dieses Mal untersuchten wir mögliche Datenlecks über phpinfo, was wiederum spannende Erkenntnisse zu Tage brachte. Bei diesem Scan wurden 2.6 Millionen Domains überprüft.
Weitere Analysen von Codepurple aller .ch und .li Domains aus dieser Serie zu fehlerhaften Sicherheitskonfigurationen oder Datenlecks:
Zu folgenden Beiträgen gibt es ein Update:
PHP ist eine Programmiersprache, welche bei Webapplikationen weit verbreitet ist. Ursprünglich wurde Facebook mit PHP geschrieben. Auch die bekannte Blog-Plattformen Wordpress wird in PHP entwickelt. Praktisch jeder Webhoster unterstützt PHP auf seinen Servern.
Phpinfo() ist eine Funktion von PHP, welche Informationen zur Konfiguration von PHP liefert (Offizielle Dokumentation: https://www.php.net/manual/en/function.phpinfo.php). Für Entwickler können diese Informationen hilfreich sein. Dabei sieht man, welche Module installiert sind, welche Versionen davon verwendet werden und vieles mehr. Viele Entwickler verwenden diese Funktion, ist man jedoch unaufmerksam landen solche Dateien schnell auf den produktiven Servern. Oft tragen sie den Namen wie info.php, phpinfo.php, php.php oder ähnlich.
Gefundene Dateien
Legende
Die meisten Informationen aus der phpinfo Funktion sind harmlos, können Angreifer aber Hinweise geben, welche Angriffe funktionieren könnten. Meist sind dies Angriffe auf veraltete Module, welche via phpinfo schnell ersichtlich sind. Da phpinfo auch Informationen zum Environment, in welchem der PHP-Prozess läuft gibt, können aber auch sehr sensitive Daten wie Benutzernamen und Passwörter für Datenbanken, API-Keys oder andere Secrets eingesehen werden. Man muss sich deshalb immer bewusst sein, welche Informationen über die phpinfo Funktion sichtbar sind.
Bei diesem Scan haben wir 2'607'439 Domains gescannt. Dabei haben wir 45'850 phpinfo Dateien gefunden (1.75%).
Die erste Version von PHP erschien im Jahre 1995, vor 27. Jahren. Die neuste Version ist 8.1. PHP 8.2 soll noch dieses Jahr veröffentlicht werden. Wir stellten fest, dass über die Hälfte der Webserver PHP 7.4 einsetzt. PHP 7.4 erreicht Ende November 2022 das offizielle Lebensende und wird dann nicht mehr mit Sicherheitsupdates versorgt. Somit kommen ~24'000 (über 54%) Domains mit veralteter PHP-Version hinzu. Wenn Sie PHP verwenden, schauen Sie bei Ihrem Hoster nach, ob Sie eine aktuelle PHP-Version aktivieren können und Ihre Webapplikation mit dieser Version kompatibel ist und planen Sie die Umstellung.
PHP Versionen
Legende
ImageMagick ist eine Library, welche oft von PHP verwendet wird, um Bilder zu manipulieren. Leider gab es in den älteren Versionen dieser Library einige schwerwiegende Sicherheitslücken. Bei einem guten Drittel der gefundenen phpinfo-Informationen war die ImageMagick-Version ersichtlich. Dabei fällt auf, dass knapp 90% eine veraltete Version installiert haben.
Imagemagick Versionen
Legende
Wird PHP auf einem produktiven Server eingesetzt, so sollten einige Konfigurationen angepasst werden. So sollte zum Beispiel das Error-Reporting ausgeschaltete werden, den über die Fehlerberichte, kann ein Angreifer an wertvolle Informationen gelangen.
display-errors
Legende
In PHP gibt es einige Funktionen, welche als gefährlich eingestuft werden. Dies sind Funktionen, welche es erlauben Code auszuführen (Bsp. exec()) oder System-Commands zu starten. PHP bietet die Möglichkeit solche Funktionen zu deaktivieren. Knapp 1 Promille der PHP-Konfigurationen nutz diese Möglichkeit und deaktiviert alle gefährlichen PHP-Funktionen.
disabled-functions
Legende
In PHP gibt es noch weitere Einstellungen, welche man sehr bewusst einsetzen muss. So zum Beispiel, ob Dateien von externen Quellen geöffnet werden dürfen oder ob Includes von externen Quellen geladen werden dürfen. Die wenigsten Konfigurationen machen hier Einschränkungen.
Folgend die Statistiken für folgende Einstellungen:
allow-url-fopen
Legende
allow-url-include
Legende
open-basedir
Legende
Über phpinfo können auch die Server-Versionen herausgefunden werden. Es gibt drei Webserver, welche am meisten verbreitet sind: IIS von Microsoft, Apache, nginx. Dann gibt es noch viele weitere, welche ein Nischendasein führen.
Es ist Best-Practice, dass die Server so eingestellt werden, dass sie ihre Version nicht preisgeben. Deshalb ist diese Statistik mit Vorsicht zu geniessen, den ein Grossteil der aktuellen Server-Version sind korrekt konfiguriert. Es ist jedoch eine grosse Anzahl an Webserver online, welche stark veraltet oder nicht auf dem neusten Stand sind.
Ein Grossteil der eingesetzten Webserver-Versionen ist auch hier veraltet
Server
Legende
OpenSSL ist ein robustes Toolkit für allgemeine Kryptografie und sichere Kommunikation. Openssl wird an vielen Orten als Kryptografie-Library eingesetzt. So zum Beispiel um Private- und Public-Keys zu generieren oder bei der Verschlüsselung des Webverkehrs. Auch bei dieser Library werden immer wieder kritische Sicherheitslücken bekannt. Eine der bekanntesten Lücken, welche im Jahre 2014 publik wurde erhielt den Namen heartbleed (https://heartbleed.com). Deshalb ist es wichtig auch hier die aktuellste Version mit allen Sicherheitspatches zu verwenden. Informationen aus phpinfo() zeigen, dass ein guter Drittel veralteter Versionen verwendet werden.
OpenSSL Versionen
Legende
Es sind sehr viele Informationen über phpinfo abrufbar. Leider werden noch sehr viele veraltete Versionen von PHP, von Libraries oder von Webservern eingesetzt. Was wir sonst noch gefunden haben oder wie die Informationen von phpinfo() sonst noch von Angreifern ausgenutzt werden können und wie man sich schützen kann, erfahren Sie im nächsten Blogbeitrag, welcher in einer Woche erscheint.
Haben Sie ein Datenleck via phpinfo()? Gemeinsam finden wir es heraus.
Folgende Blog-Beiträge könnten Sie interessieren:
Ein 8-stelliges Passwort mit Nummern, Gross- und Kleinbuchstaben und Sonderzeichen kann in unter einer Stunde geknackt werden.
Quelle: Hive Systems
X
Haben Sie ein Datenleck via phpinfo()? Gemeinsam finden wir es heraus.
Kontaktieren Sie uns unverbindlich:
Kathrin Müller freut sich auf Ihre Kontaktaufnahme und organisiert je nach Bedürfnis gerne ein Meeting.
nanio GmbH (Codepurple)
Moosweg 24
5606 Dintikon
Impressum| Datenschutz| © Codepurple 2024. Alle Rechte vorbehalten