Cryptotrojaner und Exchange

Bislang verschlüsseln die Schadprogramme primär Dateien und fordern ein Lösegeld in Bitcoins, damit sie wieder an ihre Daten kommen. Wie hoch ist eigentlich das Risiko, dass eine Malware morgen meinen Posteingang, meine Kontakte und Termine verschlüsselt? DAs beleuchte ich auf dieser Seite.

Einfallstor: Der Anwender

Seit vielen Monaten fallen immer wieder Menschen auf Malware herein, die Daten auf lokalen Festplatten und im Netzwerk verschlüsselt. Die Erpresser fordern dann ein Lösegeld mittels Bitcoin, damit Sie den Prozess wieder rückgängig machen können. Zumindest wenn der Erpresser sich nach Erhalt der Bitcoins überhaupt noch mal meldet. Einen absoluten Schutz gibt es nicht, auch wenn Malware-Scanner und Virenscanner schon viele Versuche unterbinden und immer mehr Anwender langsam sensibilisiert werden.

Mit der passenden Windows Lizenz können Sie mit Applocker auch Listen der erlaubten Applikationen führen und über den Zwang zur Signatur von Makros können Sie auch diesen Weg versperren. Aber das funktioniert nur so gut, wie alle Clients solche Regeln umsetzen und die Anwender umsichtig sind.

Als Firma können Sie sich durch Backups und Versionierung von Dateien schützen und natürlich durch die Reduzierung der Angriffsflächen. Siehe dazu auch CryptoProtect / TeslaCrypt / Locky / Ransomware-Schutz

Ein Anwender ist natürlich "Chef über sein Postfach" und kann mit Outlook oder anderen Clients in seinem Postfach nicht nur Kontakte und Termine anlegen, ändern und löschen, sondern auch Mails verändern. Vielleicht überrascht sie das nun, aber tatsächlich kann ein Anwender Mails nicht nur löschen, senden und in "Entwürfe" speichern, sondern jede Mail in seinem Postfach ändern. Zusätzlich kann er natürlich ebenso auf "Shared Mailboxen" und, soweit vorhanden, auf öffentlichen Ordnern arbeiten. Mit Exchange Online kann der Anwender auch noch mit Office Groups hantieren.

Proof of concept

Um zu prüfen, ob es wirklich so einfach ist, habe ich als normaler "Anwender" ohne privilegierte Rechte ein Powershell-Script geschrieben. Hier im Test verschlüssle und löschen ich natürlich nichts. Der Code ist auch lesbar, so dass Sie genau sehen, was der Code macht. Als Sicherheitsmaßnahme verarbeitet der Code nur Mails im Posteingang, deren Betreff mit "MSXFAQPOC" beginnt. Sie müssen Sich also zuerst einmal eine Mail zusenden lassen, bei dem dieser String am Anfang des Betreffs steht. Eine Mail an sich selbst reicht auch. Das Skript wird dann dieser Mail suchen und am Betreff etwas anhängen als auch den Body ersetzen. Ich erspare mir eine "Verschlüsselung/Entschlüsselung". Ich möchte ja nur zeigen, dass es geht und letztlich ist es auch egal, ob eine zukünftige Malware das per PowerShell, VBScript, EXE, PHP o.ä. durchführt, solange sie das Outlook Objektmodell ansteuern kann. Zwar hat Outlook eine Sicherheitsfunktion (Siehe Outlook Sicherheitseinrichtungen), aber die wirkt nur bei Zugriffen auf Kontakte und dem Versand von Mails. Und selbst dies könnte eine Malware über Tools wie Redemption umgehen.

write-Host "get-pfcontent: Loading Outlook Object Model"
Add-type -assembly "Microsoft.Office.Interop.Outlook" | out-null

Write-Host "Instanziere Outlook"
$outlook = new-object -comobject outlook.application
$namespace = $outlook.GetNameSpace("MAPI")

Write-Host "Binde Posteingang"
$olFolders = "Microsoft.Office.Interop.Outlook.olDefaultFolders" -as [type]
$inbox = $namespace.getDefaultFolder($olFolders::olFolderInBox)

Write-Host "Search for Message with subject MSXFAQPOc "
$item = $inbox.Items.Find("[subject] = ""MSXFAQPOc""")

if ($item) {
   write-host "Found. patching Subject and Body"
   $item.subject = "MSXFAQPOC: $(get-date)"
   $item.body = "MSXFAQPOC: $(get-date)"
   Write-host "Done. Check your Outlook"
} else {
   write-host "NotFound"
}

Bei mir hat der Code ohne einen Fehler oder Warnung direkt funktioniert. Das "Risiko" ist also real, auch wenn Anfang August 2019 mir noch keine Malware bekannt ist, die statt oder zusätzlich zu Dateiverschlüsselungen auch Postfächer verschlüsselt.

Erkennen

Gehen wir davon aus, dass die Malware durch den Anwender auf seinem eigenen PC ausgeführt wird und dort aktiv wird. Dann sind die Möglichkeiten der Erkennung fast mit denen beim Dateiserver identisch.

  • CPU-Last auf dem Client
    Die Verarbeitung der Dateien kostet ja Zeit. Allerdings haben die wenigsten Firmen eine Überwachung der Clients so umgesetzt, dass dies auffällt. Es könnte nur sein, dass Malware-Scanner das Verhalten erkennen und den Prozess blockieren.
  • Hohe Netzwerklast durch Replikation mit Outlook
    Wenn Sie MAPI/RPC schon nicht mehr nutzen und ab Exchange 2013 alle über HTTPS geht, dann können Sie im IISLogs sehr schön die Requests sehen oder erst einmal "zählen". Auch wer per NETFLOW/IPFIX/SFLOW sein Netzwerk überwacht, könnte die starke Zunahme des Verkehrs eines Clients erkennen.
  • Hohe Exchange Last pro Anwender
    Auch der Exchange Server protokolliert natürlich Transaktionen mit. Es gibt sogar ein "Throttling" um Clients einzubremsen. Das kann die Verschlüsselung verlangsamen aber dann ist dennoch schon viel vernichtet
  • Transaktionsprotokolle und Replikation
    Alle Änderungen mit Exchange in der Datenbank nachführen und das führt natürlich zu entsprechenden Transaktionsprotokolldateien und Replikationen in einer DAG. Auch diese Zunahme kann ein Alarmkriterium sein

In Exchange Online können Sie über die Cloud App Security oder Sentinel entsprechende Trigger und Alarme konfiguieren.

Aber selbst wenn Sie schnell sind und den fraglichen Anwender identifiziert und ausgesperrt haben, dürfte die Malware schon ganze Arbeit geleistet haben.

Gegenmaßnahmen

Direkt "verhindern" kann ich als Administrator so einen Missbrauch nicht. Es sind ja die Daten des Anwenders und letztlich ist er selbst dafür verantwortlich, was er damit macht. Beim klassischen "PapierBüro" konnte der Anwender ja auch Dokumente in den Mülleimer entsorgen oder mit einem Farbstift unkenntlich machen. Geheimdienste wissen ja auch, wie man Dokumente schwärzt. Aber das ist für Firmen natürlich keine Lösung. Es gibt nun mehrere Optionen, mit dieser Situation umzugehen

  • Litigation Hold
    Wenn Sie das Postfach kennen, dann können Sie die Funktion "Legal Hold" aktivieren. Damit wird verhindert, dass der Anwender etwas ändern oder löschen kann. Selbst wenn er es kann, kommen Sie an die vorherige Version wieder dran. Es ist aber mühsam und kein Schutz für schon veränderte Elemente. Sie können die Funktion nicht prophylaktisch für alle Benutzer aktivieren und es dauert bis zu 60 Minuten, bis die Funktion aktiv ist
  • Backup/Restore
    Wein ein Backup hat, kann zumindest die Inhalte des Postfachs restaurieren die im Backup enthalten sind. Mails, die aber danach gekommen sind, erhalten sie aber nur, wenn Sie die nachfolgenden Transaktionsprotokolle bis kurz vor dem Ausbruch der Malware einbuchen.
  • Lagged Copy (Nur On-Premises)
    Wer seinen Exchange Server noch "On-Premises" betreibt, kann in einer DAG eine "verzögerte Kopie" nutzen. Wenn eine der Kopien z.B. 6 Stunden verspätet erst die Transaktionsprotokolle einbucht, dann können Sie die Logs bis kurz vor der Aktivierung der Schadsoftware einbuchen und dann die Mailbox aus der Kopie extrahieren.
  • Archiv
    Die meisten Archivprodukte arbeiten derart, dass Sie Mails nach einem gewissen Alter aus der Datenbank in ein Archiv übertragen und nur Rumpf-Nachrichten übrig lassen. Die Produkte könnten aber auch sehr zeitnah die Mails schon mal ins Archiv "kopieren" oder sogar über die Journalfunktion abgreifen. Damit wären Sie sehr einfach wieder herstellbar. Leider hat das Exchange Online Archiv eine andere Funktionsweise
  • AIP/SMIME
    Mails im Postfach können "geschützt" werden. Bislang ist es mir in der Vergangenheit nicht gelungen, diese Nachrichten per API zu lesen oder zu ändern. Ich hatte noch keine Zeit dies wieder mal zu probieren. Es könnte aber sein, dass Mails nicht verändert werden können, die per Azure Information Protection geschützt sind. Wobei das dann eher eine Blockade von Outlook ist. Ob der Anwender die Mail dann dran vorbei per EWS, REST oder Graph nicht doch ändern kann, steht auf einem anderen Blatt

Fallen ihnen noch weitere Optionen ein, die ich hier noch nicht aufgeführt habe?

Zwischenstand

Aktuell dürften die meisten Exchange Installationen auf diese Gefahr ziemlich schlecht vorbereitet sein. Sollte wirklich mal eine Malware neben einer Dateiverschlüsselung auch auf den Gedanken kommen, über die lokal installierte Outlook-Instanz die Inhalte im Postfach des Benutzers und ggfls., auch noch Stellvertreter, gemeinsame Postfächer, öffentliche Ordner und Office Groups verschlüsseln, dann dürften einige Administratoren einige Nachtschichten vor sich haben. Mit etwas Glück betrifft es aber nur den einen Anwender und dessen Postfach. Während auf Dateiserver viele Anwender oft zu umfangreiche Berechtigungen haben, ist das in Exchange eher überschaubar. Es ist aber nicht weniger ärgerlich und kann auch sehr schnell viel Geld kosten.

Ich denke hier nur an Postfächer wie "Support@" oder "Vertrieb@", in die nicht nur viele Mails reinlaufen sondern meist auch mehrere Personen Zugriff haben. Es reicht hier dann nur eine Person, die unvorsichtig ist und eine entsprechende Malware ausführt.

Ich bin gespannt, wenn die erste Malware diese Schadkomponente enthält

Weitere Links