In diesen beiden Artikeln hatte ich bereits eine Möglichkeit vorgestellt, um Windows Fileserver vor Locky und anderer Ransomware zu schützen:
- https://www.frankysweb.de/windows-fileserver-vor-ransomware-crypto-locker-schuetzen/
- https://www.frankysweb.de/windows-fileserver-vor-ransomware-schuetzen-update/
Tobbi hat die Idee ebenfalls für Netapp Filer umgesetzt:
Es bleiben aber auch noch die Clients, von welchen ja die meiste Gefahr ausgeht. Umso schneller die Rechner identifiziert werden, welche sich mit Locky infiziert haben, umso schneller lässt sich der Client vom Netzwerk isolieren und der Trojaner unschädlich machen.
Ich habe daher noch mal ein bisschen nachgedacht und bin auf meiner Recherche zu Locky auf dem Blog von Fortinet gelandet. Fortinet hat sich Locky genauer angeschaut:
Der Artikel von Fortinet ist sehr lesenswert und enthält zudem wichtige Informationen die sich verwenden lassen. Locky kontaktiert Command & Control Server im Internet, Fortinet gibt sogar an, welche das sind:
Die C&C Server lassen sich ja einfach an der Firewall sperren, dann sind sie zwar nicht mehr erreichbar, aber das hindert Locky wahrscheinlich noch nicht Dateien zu verschlüsseln, zumal das wahrscheinlich noch nicht alle C&C Server sind.
Aber die C&C Server helfen dabei die Clients zu identifizieren, die sich Locky eingefangen haben, wenn das die Firewall nicht direkt melden kann, könnte man ja auch die Windows DNS Server protokollieren lassen, welche Rechner welche Domains auflösen. Das Log lässt sich dann nach den C&C Domains durchsuchen.Versucht ein Client einen C&C Server per DNS aufzulösen, wird er sich wohl Locky eingefangen haben.
Ich hab da mal was vorbereitet:
Damit das Script die Rechner identifizieren kann, welche versuchen die Locky C&C Server zu erreichen, muss auf den DNS Server die Debugprotokollierung eingeschaltet werden:
Nach kurzer Zeit wird dann das DNS Debug Log befüllt:
Dieses Log Log lässt sich mit der PowerShell auswerten. Findet das Script einen der Command & Control Server von Locky im DNS Log, wird eine Mail verschickt:
Das Script muss noch etwas angepasst werden:
In Zeile 1 muss der Pfad zum DNS Debuglog angegeben werden, Zeile 2 bis 5 enthalten die Daten für den Mailversand. Wenn das Script durchgängig laufen soll, kann in Zeile 7 der Wert für „LoopScript“ auf „$true“ gesetzt werden.
Das Script lässt sich jetzt entweder in Endlosschleife per PowerShell starten (LoopScript = $true) oder zyklisch per Taskplaner ausführen.
Hinweis: Wenn das Script in einer Endlos Schleife läuft und Treffer im Log gefunden werden, wird eine kleine Mail Flut losgetreten. Das muss ich noch etwas anpassen, aber lieber erst einmal zu viele Mails, als Montag das große Chaos…
Ab Zeile 10 sind übrigens alle C&C Server aufgelistet die sich bisher gefunden habe. Wer noch mehr kennt, bitte melden.