Windows Ressourcen-Manager für Dateiserver zum Schutz vor Crypto Locker

Ransomware à la Locky oder Crypto Locker entwickeln sich immer mehr zu einer Plage. Auch in Krankenhäusern sind solche Verschlüsselungs-Trojaner aufgetaucht.

Da uns von Einzelfällen bei Kunden berichtet wurden, möchten wir Ihnen in diesem Howto aufzeigen wie Sie ihren Fileserver mit Hilfe des Windows Ressourcen-Manager für Dateiserver (nicht auf Laufwerken mit ReFS)  vor einem Angriff auf Netzlaufwerk-Ressourcen absichern können. Dem ausführende Client wird mit Hilfe eines PowerShell Skripts die Berechtigung auf die Netzlaufwerk entzogen.

Meistens werden solche Trojaner von Clients aus aktiviert und können sich schnell über Netzlaufwerke ausbreiten. Selbst ein Virenschutz auf dem Filesever selbst hilft da meistens wenig. Wer möchte schon gerne morgens in die Firma kommen und komplett verschlüsselte Laufwerke vorfinden?

Wie oben angesprochen kommt der Ressourcen-Manager zum Einsatz. Sollte der Ressourcen-Manager noch nicht installiert sein muss dieses als erstes geschehen.

Ressource-Manager für Dateiserver

Nach der Installation, kann der Ressourcen-Manager noch für den E-Mailversand konfiguriert werden.

Ressource-Manager Konfiguration

In diesem Fall kommt der SMTP-Server Dienst zum Einsatz. Der so konfiguriert wurde das es nur Anfragen von localhost weiterleitet.

Ressource-Manager E-Mail

Jetzt ist der Ressource-Manager so konfiguriert das er Benachrichtigungen mit der oben genannten Konfiguration durchführen kann. Als nächstes müsse Sie eine neue Dateigruppe anlegen, die alle Dateiendungen enthält, welche der Trojaner benutzt.

Bei einem Server 2012 R2 kann das am einfachsten über die PowerShell erfolgen. Beispiel:

New-FsrmFileGroup -Name "Ransomware" –IncludePattern @("*.k","*.encoderpass",".key","*.locky","*.key","*.ecc","*.ezz","*.exx","*.zzz","*.xyz","*.aaa","*.abc","*.ccc","*.vvv","*.xxx","*.ttt","*.micro","*.encrypted","*.locked","*.crypto","*.crypt","_crypt","*.crinf","*.r5a","*.xrtn","*.XRNT","*.XTBL","*.crypt","*.R16M01D05","*.pzdc","*.good","*.LOL!","*.OMG!","*.RDM","*.RRK","*.encryptedRSA","*.crjoker","*.EnCiPhErEd","*.LeChiffre","*.keybtc@inbox_com","*.0x0","*.bleep","*.1999","*.vault","*.HA3","*.toxcrypt","*.magic","*.SUPERCRYPT","*.CTBL","*.CTB2","*.locky","HELPDECRYPT.TXT","HELP_YOUR_FILES.TXT","HELP_TO_DECRYPT_YOUR_FILES.txt","RECOVERY_KEY.txt","HELP_RESTORE_FILES.txt","HELP_RECOVER_FILES.txt","HELP_TO_SAVE_FILES.txt","DecryptAllFiles.txt","DECRYPT_INSTRUCTIONS.TXT","INSTRUCCIONES_DESCIFRADO.TXT","How_To_Recover_Files.txt","YOUR_FILES.HTML","YOUR_FILES.url","encryptor_raas_readme_liesmich.txt","Help_Decrypt.txt","DECRYPT_INSTRUCTION.TXT","HOW_TO_DECRYPT_FILES.TXT","ReadDecryptFilesHere.txt","Coin.Locker.txt","_secret_code.txt","About_Files.txt","Read.txt","ReadMe.txt","DECRYPT_ReadMe.TXT","DecryptAllFiles.txt","FILESAREGONE.TXT","IAMREADYTOPAY.TXT","HELLOTHERE.TXT","READTHISNOW!!!.TXT","SECRETIDHERE.KEY","IHAVEYOURSECRET.KEY","SECRET.KEY","HELPDECYPRT_YOUR_FILES.HTML","help_decrypt_your_files.html","HELP_TO_SAVE_FILES.txt","RECOVERY_FILES.txt","RECOVERY_FILE.TXT","RECOVERY_FILE*.txt","HowtoRESTORE_FILES.txt","HowtoRestore_FILES.txt","howto_recover_file.txt","restorefiles.txt","howrecover+*.txt","_how_recover.txt","recoveryfile*.txt","recoverfile*.txt","recoveryfile*.txt","Howto_Restore_FILES.TXT","help_recover_instructions+*.txt","_Locky_recover_instructions.txt","_H_e_l_p_RECOVER_INSTRUCTIONS+dcd.png","_H_e_l_p_RECOVER_INSTRUCTIONS+dcd.txt","_H_e_l_p_RECOVER_INSTRUCTIONS+dcd.html","*.mp3 (TeslaCrypt V3)")

Bei einem Server 2008 gibt es das CMDLet New-FsrmFileGroup nocht nicht daher können Sie hier auf das Kommando filescrn zurückgreifen.

filescrn filegroup add /filegroup:"Ransomware" /members:"*.k|*.encoderpass|*.locky|*.key|*.ecc|*.ezz|*.exx|*.zzz|*.xyz|*.aaa|*.abc|*.ccc|*.vvv|*.xxx|*.ttt|*.micro|*.encrypted|*.locked|*.crypto|*.crypt|_crypt|*.crinf|*.r5a|*.xrtn|*.XRNT|*.XTBL|*.crypt|*.R16M01D05|*.pzdc|*.good|*.LOL!|*.OMG!|*.RDM|*.RRK|*.encryptedRSA|*.crjoker|*.EnCiPhErEd|*.LeChiffre|*.keybtc@inbox_com|*.0x0|*.bleep|*.1999|*.vault|*.HA3|*.toxcrypt|*.magic|*.SUPERCRYPT|*.CTBL|*.CTB2|*.locky|HELPDECRYPT.TXT|HELP_YOUR_FILES.TXT|HELP_TO_DECRYPT_YOUR_FILES.txt|RECOVERY_KEY.txt|HELP_RESTORE_FILES.txt|HELP_RECOVER_FILES.txt|HELP_TO_SAVE_FILES.txt|DecryptAllFiles.txt|DECRYPT_INSTRUCTIONS.TXT|INSTRUCCIONES_DESCIFRADO.TXT|How_To_Recover_Files.txt|YOUR_FILES.HTML|YOUR_FILES.url|encryptor_raas_readme_liesmich.txt|Help_Decrypt.txt|DECRYPT_INSTRUCTION.TXT|HOW_TO_DECRYPT_FILES.TXT|ReadDecryptFilesHere.txt|Coin.Locker.txt|_secret_code.txt|About_Files.txt|Read.txt|ReadMe.txt|DECRYPT_ReadMe.TXT|DecryptAllFiles.txt|FILESAREGONE.TXT|IAMREADYTOPAY.TXT|HELLOTHERE.TXT|READTHISNOW!!!.TXT|SECRETIDHERE.KEY|IHAVEYOURSECRET.KEY|SECRET.KEY|HELPDECYPRT_YOUR_FILES.HTML|help_decrypt_your_files.html|HELP_TO_SAVE_FILES.txt|RECOVERY_FILES.txt|RECOVERY_FILE.TXT|RECOVERY_FILE*.txt|HowtoRESTORE_FILES.txt|HowtoRestore_FILES.txt|howto_recover_file.txt|restorefiles.txt|howrecover+*.txt|_how_recover.txt|recoveryfile*.txt|recoverfile*.txt|recoveryfile*.txt|Howto_Restore_FILES.TXT|help_recover_instructions+*.txt|_Locky_recover_instructions.txt|_H_e_l_p_RECOVER_INSTRUCTIONS+dcd.png|_H_e_l_p_RECOVER_INSTRUCTIONS+dcd.txt|_H_e_l_p_RECOVER_INSTRUCTIONS+dcd.html|*.mp3 (TeslaCrypt V3)"

Bei beiden Servern können Sie die Eingabe auf manuell durchführen. In diesem Beispiel heißt die neu erstellte Dateigruppe „Ransomware“.

Ressource-Manager Dateigruppe anlegen

Daher hier noch einmal die Liste mit potenziellen Dateiendungen die von Ransomware verwendet wird als Textdatei. Diese Liste der Dateiendungen sollte ständig angepasst und aktualisiert werden.

Nachdem Die Dateigruppe angelegt wurde, kann eine Dateiprüfung erstellt werden. Als Dateiprüfungspfad können Sie dann entweder der Pfad zur Freigabe, oder besser einfach das ganze Laufwerk angeben.

Ressource-Manager Dateiprüfung erstellen

Unter „Benutzerdefinierte Eigentschaften“, wählen Sie jetzt die zuvor erstellte Dateigruppe „Ransomware“ aus.

Ressource-Manager Dateiprüfungseigenschaften

Am besten wählen Sie beim Prüfungstyp erst einmal „Passives Prüfen“, um sicherzustellen dass nicht auch zulässige Dateiendungen von Programmen in der Dateigruppe „Ransomware“ enthalten sind. Im Test hat das passive Prüfen eine neu erstelle Beispieldatei identifiziert und den Client die Berechtigungen auf das Netzlaufwerk entzogen.

Unter dem Reiter „E-Mail-Nachricht“, können Sie nun noch die E-Mail Benachrichtigung aktivieren, falls Sie zuvor den „Ressource-Manager“ für den E-Mail-Versand konfiguriert haben.

Ressource-Manager E-Mail-Nachricht

Danach kann die Dateiprüfung gespeichert werden. Die Einstellungen müssen dabei nicht als Vorlage gespeichert werden.
Mit diesen Einstellungen erhalten der Administrator sowie der Benutzer eine E-Mail. Damit ist die Konfiguration noch nicht abgeschlossen. Als nächsten Schritt wird ein Skript hinterlegt der bei einer positiven Dateiüberprüfung ausgeführt wird.

Als erstes wird wie folgt eingestellt das Warnungen an das Ereignisprotokoll gesendet werden.

Ressource-Manager Ereignisprotokoll

Laden Sie dann das folgende ZIP-Archiv herunter und entpacken Sie die enthaltenen Skripte in ein Verzeichnis. In unserem Fall ist es das Verzeichnis „D:\Scripts\ResMan\“. In den enthaltenen Skripten müssen die Pfade entsprechend angepasst werden.

Bei der zuvor erstellten Dateiüberprüfung unter dem Reiter „Befehl“ wird jetzt die „CMD-Datei“ wie folgt hinterlegt.

Ressource-Manager Befehl ausführen

In den Optionen des Ressourcen-Manager müssen jetzt noch die Limits für Ereignisprotokollbenachrichtigungen und Befehlsbenachrichtigungen aufgehoben werden.

Ressource-Manager Benachrichtigungslimit

 


Funktionsweise:

Wenn ein Benutzer (oder auch der Trojaner) eine Datei auf einem Netzlaufwerk mit einer der geblockten Endungen erstellt, erzeugt der Ressourcen-Manager ein Event mit der ID:8215 im Ereignisprotokoll.

Ressource-Manager Ereignis 8215

Zusätzlich wird das Skript „blockshare.cmd“ gestartet, welches das PowerShell Script „blockshare.ps1“ ausführt. Ohne diesen Umweg bereitet die UAC Probleme.

Das PowerShell Skript ließt aus dem Ereignisprotokoll das Benutzerkonto welches das Ereignis ausgelöst hat, in dem es versucht hat eine Datei zu verschlüsseln, bzw. eine geblockte Datei anzulegen. Dann wird dem Benutzer auf der Freigabe die Berechtigung entzogen.

Im Ordner in dem die Skripte liegen wird außerdem eine Datei „logfile.csv“ angelegt in dem der Dateipfad sowie der Benutzer gespeichert werden.

Blockshare Logfile

 

Mit Hilfe des Skriptes können Sie natürlich auch andere Aktionen starten. So könnte man z.B. nach auslösen von mehr als 40 Ereignissen, unterschiedlicher Benutzer, den Server komplett herunter fahren um einen noch größeren Schaden zu entkommen.

 

Weiterführende Artikel:

 

Alle Angaben sind ohne Gewähr, die Veränderung Ihres Betriebssystem erfolgt auf eigene Gefahr.


Kommentare

Windows Ressourcen-Manager für Dateiserver zum Schutz vor Crypto Locker — 6 Kommentare

  1. Gute Anleitung, sofern das Muster mit den fest definierten Dateinamen sicher greift.

    Leider funktioniert das Ganze nur mit NTFS. Mein Fileserver läuft ReFS.

  2. Hallo Tobias,

    ja da haben Sie recht. Der Ressourcen-Manager für Dateiserver unterstützt das Resilent File System leider nicht.
    https://technet.microsoft.com/de-de/library/hh831701.aspx


    Einige der definierten Dateinamen wurden zum Test im Benutzerkontext auf dem Fileserver erstellt. Darauf ist die Freigabe für den Benutzer direkt gesperrt worden. Da die Ransomware hauptsächlich von Clients aus aufgerufen wird (Benutzerkontext), ist dies eine Sichere Lösung.

  3. Hallo Daniel,

    ebenfalls von mir.. Gute Anleitung!
    Bei den typischen, allgemeinen Ordner funktioniert dies sehr gut!

    Aber viele haben vermutlich noch ein Netzlaufwerk für den einzelnen Benutzer welches per \\Servername\Freigabe\%username% zugewiesen wird.
    Die Abfrage Get-SmbShare | where {$_.path -like $smbsharepath} funktioniert nicht, da sich die zu vergleichenden Ordner unterscheiden.
    Irgendwie habe ich dann für mich etwas passendes gebastelt was für diesen
    Get-SmbShare | where {$smbsharepath -like ($_.Path + „\*“)}

    Muss man ggf. ein wenig tüfteln um solche Freigaben zu verarbeiten.

  4. Hallo Daniel,

    da haben Sie vermutlich recht, in vielen Unternehmen wird es auch Benutzerfreigaben (z.B. als Basislaufwerk) geben. Danke für die Anregung.
    Was spricht denn dagegen mit dem Ressourcen Manager auch die anderen Freigaben auf Ransomware überwachen zu lassen?

    • Hallo,

      ich habe mich vertan. Zu Testzwecken habe ich den Dateiprüfungspfad auf d:\Freigabeordner\User123\Testordner gesetzt.
      Dies kollidierte dann aber mit dem Freigabenamen.

      Ihre Lösung funktioniert also einwandfrei.
      🙂

  5. Eine der besten Dokumentationen, die ich bisher im Internet gesehen habe. Wir verwenden den Ressourcen-Manager schon seit länger Zeit für den Schutz vor Verschlüsselungsviren. Die Einrichtung und tägliche Pflege stellt überhaupt kein Problem dar, da alle Aktionen nur auf den einzelnen Servern mit der Rolle Dateiserver ausgeführt werden.
    Es gibt für einen Server nur eine Einstellung. Die Dateiprüfung arbeitet überhaupt nicht direkt mit UNC-Freigaben, da sich die Freigabenamen im laufenden Betrieb jederzeit ändern könnten. Die Dateiprüfung wird immer für die eingerichteten Festplatten C/D/E usw. eingerichtet. Denn, das Umbennen einer vorhandenen Datei in die Endung z. B. *.locky oder das Neuerzeugen einer Datei mit z. B. *.locky ist in jedem Fall eine unerwünschte Aktion und muß blockiert werden. Es ist dann auch völlig egal, in welcher UNC-Freigabe diese Aktion stattfindet, da die gesamte Festplatte dafür gesperrt ist. Ausnahmen dürften hier ja wohl nicht eingerichtet werden. Die Konfiguration/Aktivierung der E-Mailbenachrichtigung für den Administrator und der Eintrag in das Windows-Ereignisprotokoll sind dringend angeraten, da man ganz schnell mitbekommt, ob ein Benutzer wieder mal aus reiner Neugier einen E-Mailanhang (z. B. ZIP-Datei ) angeklickt hat.

    Es gibt leider immer wieder Programmierer, die in ihren Programmen dauerhaft bzw. temporär für wenige Sekunden eine Dateiendung verwenden möchten, die der gesperrten Dateiendung entspricht. Aus meiner Erfahrung hatte ich das mit der Dateiendung *.777. Diese sollte für eine temporäre Druckdatei verwendet werden. Der Dateiserver verweigerte das Speichern einer solchen Datei. Dadurch war die Druckfunktion in diesem Programm unterbrochen. In einem solchen Fall kann man sicherlich eine Ausnahme von der Dateiprüfung für ein einzelnes Verzeichnis einstellen. Allerdings führt eine solche Ausnahme auch dazu, dass ein echter Verschlüsselungsvirus in genau diesem Verzeichnis dann seine Tätigkeit aufnehmen kann. Was nicht gewünscht ist. Hier hilft es nur, wenn man sich an den Hersteller des jeweiligen Programm wendet und ihn auf die Virenproblematik mit seiner temporären Dateiendung hinweist. Da muß dann seinerseits dringend nachgearbeitet werden. Zur Zeit habe ich auch ein Programm, dass zum Speichern einer temporären Word-Druckdatei die Dateiendung *.locked verwenden möchte. Das geht natürlich nicht. Die Dateisperre werde ich sicherlich auch nicht aufheben.

    Es würde auch noch einen sicheren Weg geben. In dem man im Ressourcen-Manager angibt, auf welchen Festplatten bzw. Verzeichnissen welche Dateiendungen überhaupt erlaubt sind. Wenn Benutzer nur mit Office, Adobe und Bildbearbeitungsprogrammen arbeiten, ist der Umfang der benötigten Dateiendungen vorher schon bekannt. (z. B. *.doc, *.docx, *.xls, *.pdf, *.jpg usw.)

    Meine Informationen über die täglich hinzukommenden Dateiendungen, die von Verschlüsselungsviren verwendet werden, beziehe ich von der Seite [https://www.symantec.com/de/de/security_response/]. Wenn man in der Zeitleiste auf den Viruseintrag klickt, gelangt man auf die Detailinformationen. Hier gibt es die Registerkarte „Technical Details“. Dort steht dann auch die verwendete Dateiendung.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.