Zum Inhalt springen
Nehmen Sie am 10. September 2024 an Censys teil und besuchen Sie unseren Bedrohungsabwehr Workshop in San Francisco, CA | Jetzt anmelden
Blogs

Rund 1600 Sharepoint-Server sind anfällig für Angriffe

Update 22. Mai 2019

Dies ist eine reine Unternehmenssuche, aber bei der Abfrage der Censys Rohdaten finden wir Sharepoint, das auf nicht standardmäßigen Ports läuft. Wir analysierten die rohen Server-Header, die wir für unsere 1000 Ports-Daten sammeln, und suchten nach den verwundbaren Versionsstrings und auch nach dem Dienstnamen Microsoftsharepointteamservices. Durch die Einbeziehung unserer 1000 Port-Banner-Daten Bei unserer Suche in diesem Update haben wir 35 % mehr anfällige SharePoint-Hosts gefunden! Hier ist ein Beispiel für die Abfrage:

SELECT ip, SAFE_CAST(s.banner AS String), s.port_number FROM censys-io.ipv4_banners_public.current, UNNEST(services) as s WHERE REGEXP_CONTAINS(SAFE_CAST(s.banner AS String), r".[Mm]icrosoftsharepointteamservices:.(16.0.0.4351|15.0.0.4571|14.0.0.7015|16.0.0.10337).*")


Vor kurzem sind wir auf einen Blogbeitrag von AlienVault gestoßen, in dem die Ausnutzung einer bekannten Sharepoint-Schwachstelle ( CVE-2019-0604) in freier Wildbahn beschrieben wird. Wir wollten abschätzen, wie weit diese Sicherheitslücke verbreitet ist, wie groß die Angriffsfläche ist und wie wir herausfinden können, wer gefährdet ist.

Sharepoint ist das Flaggschiff der Microsoft Collaboration Suite und wird in Unternehmen für alle möglichen Dinge verwendet, insbesondere für sensible Unternehmensdateien. Sharepoint wird in der Regel von großen Unternehmen verwendet, die aufgrund des hohen Werts ihrer Daten häufig ins Visier genommen werden.

In diesem Beitrag erfahren Sie, wie Sie eine Schwachstelle einer Software zuordnen können, die im Internet "in freier Wildbahn" gefunden wurde. Insbesondere Sharepoint verwendet Produktnamen wie "Sharepoint 2019", wodurch es in unseren Scans recht einfach zu finden ist.

Schritt 1 - Search nach Schlüsselwort

Eine der besten Möglichkeiten, um mit der Suche nach einer Software-Schwachstelle zu beginnen, ist eine einfache Stichwortsuche - wie in diesem Fall: Sharepoint. Diese Stichwortsuche zeigt die Ergebnisse für jedes Feld an, das wir nach Übereinstimmungen durchsuchen - Webseiten, DNS-Namen usw. Auf der Ergebnisseite für die Suche nach dem Schlüsselwort "Sharepoint" werden etwa 20.500 Server angezeigt. Das gibt uns einen guten Ausgangspunkt, zeigt uns aber nicht die Liste der Sharepoint-Softwareversionen, die von dieser Sicherheitslücke betroffen sind.

Nachdem ich die Daten von etwa einem Dutzend Hosts aus diesen Ergebnissen untersucht hatte, konnte ich feststellen, dass Sharepoint einige Sharepoint-spezifische HTTP-Header hat, die in Censys sichtbar sind: x-sharepointhealthscore und microsoftsharepointteamservices. Diese Kopfzeilen werden offenbar nur auf legitimen Sharepoint-Hosts angezeigt. Dieser Datenpunkt kann also als Dreh- und Angelpunkt für Schritt 2 dienen.

Schritt 2 - Search nach Bereichen

Jetzt, da wir unser produktspezifisches HTTP-Header-Feld haben, können wir nach dem Index über HTTPS und HTTP suchen:

443.https.get.headers.unknown.key: microsoftsharepointteamservices OR 80.http.get.headers.unknown.key: microsoftsharepointteamservices

Diese Suche ergibt etwa 35.000 Hosts - das ist zwar eine Steigerung der Ergebnisse gegenüber Schritt 1, aber das ist in Ordnung, da wir diesem Ansatz mehr Vertrauen entgegenbringen als einer einfachen Stichwortsuche. Jetzt wollen wir sehen, ob es eine oder zwei Versionsnummern gibt, nach denen wir suchen können. Laut Microsofts Website sind die folgenden Versionen für diesen Angriff anfällig: Microsoft SharePoint Enterprise Server 2016, Microsoft SharePoint Foundation 2010 Service Pack 2, Microsoft SharePoint Foundation 2013 Service Pack 1, Microsoft SharePoint Server 2010 Service Pack 2, Microsoft SharePoint Server 2013 Service Pack 1 und Microsoft SharePoint Server 2019.

Mit diesen Informationen ausgestattet, untersuchen wir einige Hosts und schauen, was der Server uns mitteilt - zur Erinnerung, wir verwenden die angekündigte Versionszeichenfolge, um uns zu informieren, ob er verwundbar ist. Jetzt sehen wir Werte für diesen Schlüssel wie "14.0.0.7123" und "15.0.0.4599" - diese sehen sicherlich nicht wie die Produktversionen aus, die laut Microsoft angreifbar sind, wie kann ich diese also angreifbaren Populationen zuordnen?

Schritt 3 - Suche nach verbundenen Feldern

Nach einigen Suchmaschinenabfragen fand ich diesen Blogbeitrag eines Sharepoint-Enthusiasten oder -Profis, der Sharepoint-Produktbezeichnungen den Release-Versionen zuordnet. Mithilfe dieser Informationen kann ich die von MSRC gemeldeten Versionen den Build-Nummern zuordnen und eine Abfrage wie diese erstellen:

443.https.get.headers.unknown.key: microsoftsharepointteamservices AND (443.https.get.headers.unknown.value: "16.0.4351.1000" OR 443.https.get.headers.unknown.value: "15.0.4571.1502" OR 443.https.get.headers.unknown.value: "14.0.7015.1000" OR 443.https.get.headers.unknown.value: "16.0.10337.12109")

Und ich bekomme keine Treffer. Was ist los, denke ich, also suche ich weiter. Es stellt sich heraus, dass die Build-Nummer ähnlich, aber nicht ganz identisch mit den Header-Versionen aus diesem Blogbeitrag ist. Ich muss sie ein wenig anpassen - den letzten Wert weglassen (vielleicht eine an die Produktnummer angehängte Build-Nummer?) und eine weitere 0 in der Mitte einfügen. Am Ende erhalte ich eine Abfrage wie diese:

443.https.get.headers.unknown.key: microsoftsharepointteamservices AND (443.https.get.headers.unknown.value: "16.0.0.4351" OR 443.https.get.headers.unknown.value: "15.0.0.4571" OR 443.https.get.headers.unknown.value: "14.0.0.7015" OR 443.https.get.headers.unknown.value: "16.0.0.10337")

Das sieht ja toll aus! Ungefähr 800 Server weltweit sind von außen sichtbar, die für diesen Angriff anfällig sind. Nach einiger Feinabstimmung, um 80/HTTP einzubeziehen, erhalte ich diese Abfrage:

(443.https.get.headers.unknown.key: microsoftsharepointteamservices AND (443.https.get.headers.unknown.value: "16.0.0.4351" OR 443.https.get.headers.unknown.value: "15.0.0.4571" OR 443.https.get.headers.unknown.value: "14.0.0.7015" OR 443.https.get.headers.unknown.value: "16.0.0.10337")) OR (80.http.get.headers.unknown.key: microsoftsharepointteamservices AND (80.http.get.headers.unknown.value: "16.0.0.4351" OR 80.http.get.headers.unknown.value: "15.0.0.4571" OR 80.http.get.headers.unknown.value: "14.0.0.7015" OR 80.http.get.headers.unknown.value: "16.0.0.10337"))

Daraus ergibt sich eine endgültige Zahl von etwa 1600 Sharepoint-Servern weltweit, die für diesen Angriff anfällig sind.

Wichtigste Erkenntnisse

Diese jüngste Sharepoint-Sicherheitslücke stellt zwar eine Bedrohung für einige Unternehmen dar, ist aber keine globale Internet-Kernschmelze. Wenn Sie feststellen, dass einer Ihrer Server in der Liste der anfälligen Hosts enthalten ist, stellen Sie sicher, dass Sie sie mit den Anweisungen patchen, die Microsoft in seinem Sicherheitsupdate enthält.

Ähnliche Artikel über das Auffinden von Schwachstellen, insbesondere in Ihrer eigenen Organisation, finden Sie in unserem Beitrag über Apache-Sicherheitsprobleme. Wenn Sie sich für die Suche nach neuen und aufkommenden Bedrohungen interessieren, lesen Sie unseren Beitrag über die Verfolgung des Mirai-Botnets.

Lösungen für das Management von Angriffsflächen
Mehr erfahren