Manchmal möchte man einem Virusprogrammierer ins Gesicht sehen und fragen: warum und wieso? Mit der Frage "wie" kommen wir selbst klar, aber herauszufinden, was den jeweiligen Erschaffer von schadhafter Software geleitet hat, wäre sehr interessant. Umso mehr, wenn wir auf solche "Perlen" stoßen.
Der Held des heutigen Artikels ist ein interessantes Exemplar eines Verschlüsselungstrojaners. Er wurde offenbar als weiterer "Erpresser" konzipiert, doch seine technische Umsetzung ähnelt eher einem bösen Scherz. Über diese Umsetzung werden wir heute sprechen.
Leider ist es praktisch unmöglich, den Lebenszyklus dieses Encoders nachzuvollziehen – es gibt einfach zu wenig Statistiken darüber, da er glücklicherweise nicht verbreitet wurde. Daher lassen wir Herkunft, Infektionsmethoden und andere Erwähnungen außen vor. Wir erzählen nur von unserem Kontakt mit Wulfric Ransomware und wie wir einem Benutzer geholfen haben, seine Dateien zu retten.
I. Wie alles begann
In unser Antivirenlabor wenden sich häufig Menschen, die von Verschlüsselungstrojanern betroffen sind. Wir bieten Hilfe, unabhängig davon, welche Antivirenprodukte installiert sind. Diesmal kam jemand zu uns, dessen Dateien von einem unbekannten Encoder betroffen waren.
Guten Tag! Dateien auf dem Dateispeicher (samba4) mit passwortlosem Zugang wurden verschlüsselt. Ich vermute, dass die Schadhafte von dem Computer meiner Tochter (Windows 10 mit integrierter Windows Defender-Schutz) ausgegangen ist. Der Computer meiner Tochter wurde danach nicht eingeschaltet. Die Dateien sind hauptsächlich .jpg und .cr2 verschlüsselt. Die Dateierweiterung nach der Verschlüsselung: .aef.
Wir haben vom Benutzer Proben der verschlüsselten Dateien, ein Lösegeldschreiben und eine Datei erhalten, die wahrscheinlich der Schlüssel ist, den der Erschaffer des Verschlüsselungstrojaners benötigt, um die Dateien zu entschlüsseln.
Das sind alle unsere Hinweise:
- 01c.aef (4481K)
- hacked.jpg (254K)
- hacked.txt (0K)
- 04c.aef (6540K)
- pass.key (0K)
Lass uns den Zettel ansehen. Wie viele Bitcoins sind es diesmal?
Übersetzung:
Achtung, Ihre Dateien sind verschlüsselt!
das Passwort ist einzigartig für Ihren PC.Zahlen Sie den Betrag von 0.05 BTC an die Bitcoin-Adresse: 1ERtRjWAKyG2Edm9nKLLCzd8p1CjjdTiF
Nach der Zahlung senden Sie mir eine E-Mail und fügen die Datei pass.key an Wulfric@gmx.com mit einer Zahlungsbenachrichtigung hinzu.Nach der Bestätigung sende ich Ihnen den Entschlüsselungssoftware für die Dateien.
Sie können Bitcoins online auf verschiedene Arten bezahlen:
– Zahlung mit Kreditkarte
Über Bitcoins:
Wenn Sie Fragen haben, schreiben Sie mir an Wulfric@gmx.com
Als Bonus werde ich erzählen, wie Ihr Computer gehackt wurde und wie Sie ihn in Zukunft schützen können.
Der pathetische Wolf, der dazu bestimmt ist, dem Opfer die Ernsthaftigkeit der Situation zu zeigen. Es hätte jedoch schlimmer sein können.

Abb. 1. -Als Bonus werde ich erzählen, wie Sie Ihren Computer in Zukunft schützen können. –Scheint legitim.
II. Wir beginnen mit der Arbeit
Zuerst haben wir die Struktur der gesendeten Probe betrachtet. Merkwürdigerweise sah sie nicht wie eine Datei aus, die von einem Verschlüsseler beschädigt wurde. Wir öffnen den Hex-Editor und schauen nach. In den ersten 4 Bytes befindet sich die ursprüngliche Dateigröße, die nächsten 60 Bytes sind mit Nullen gefüllt. Aber das Interessanteste befindet sich am Ende:

Abb. 2 Wir analysieren die beschädigte Datei. Was fällt sofort ins Auge?
Es war bis zur Peinlichkeit einfach: 0x40 Bytes aus dem Header wurden ans Ende der Datei verschoben. Um die Daten wiederherzustellen, genügt es, sie einfach an den Anfang zurückzubringen. Der Zugriff auf die Datei wurde wiederhergestellt, aber der Name bleibt verschlüsselt, und das ist komplizierter.

Abb. 3. Der verschlüsselte Name in Base64 sieht aus wie eine willkürliche Anordnung von Zeichen.
Versuchen wir es zu analysieren pass.key, der vom Benutzer gesendet wurde. Darin sehen wir eine 162-Byte lange Zeichenkette im ASCII-Format.

Abb. 4. 162 Zeichen, die auf dem PC des Opfers zurückgelassen wurden.
Bei genauerem Hinsehen kann man feststellen, dass die Zeichen mit einer bestimmten Periode wiederholt werden. Das könnte auf die Verwendung von XOR hindeuten, wo Wiederholungen typisch sind und deren Häufigkeit von der Schlüssellänge abhängt. Indem wir die Zeichenkette in 6 Zeichen zerlegen und sie mit verschiedenen XOR-Sequenzen XOR-en, erzielten wir jedoch kein sinnvolles Ergebnis.

Abb. 5. Sehen Sie die sich wiederholenden Konstanten in der Mitte?
Wir haben beschlossen, die Konstanten zu googeln, denn ja, auch so kann man es machen! Und alle führten letztendlich zu einem Algorithmus − der Batch-Verschlüsselung. Nach dem Studium des Skripts wurde klar, dass unsere Zeichenkette nichts anderes als das Ergebnis seiner Arbeit ist. Es sei erwähnt, dass dies überhaupt kein Verschlüsseler ist, sondern lediglich ein Kodierer, der Zeichen durch 6-Byte-Sequenzen ersetzt. Keine Schlüssel oder anderen Geheimnisse 🙁

Abb. 6. Ein Abschnitt des ursprünglichen Algorithmus unbekannter Herkunft.
Der Algorithmus würde nicht wie beabsichtigt funktionieren, wenn nicht eine Kleinigkeit:

Abb. 7. Morpheus genehmigt.
Durch Rücksubstitution wandeln wir die Zeichenkette um pass.key In den Text mit 27 Zeichen. Besonders erwähnenswert ist der menschliche (wahrscheinlich) Text ‚asmodat‘.

Abb. 8. USGFDG=7.
Google hilft uns erneut. Nach einer kurzen Suche finden wir ein interessantes Projekt auf GitHub – Folder Locker, geschrieben in .Net und das die ‚asmodat‘-Bibliothek von einem anderen Konto auf ‚Git‘ verwendet.

Abb. 9. Die Benutzeroberfläche von Folder Locker. Wurde unbedingt auf Malware geprüft.
Das Tool ist ein Verschlüsselungsprogramm für Windows 7 und höher, das quelloffen verteilt wird. Bei der Verschlüsselung wird ein Passwort verwendet, das für die spätere Entschlüsselung benötigt wird. Es erlaubt die Arbeit mit sowohl einzelnen Dateien als auch ganzen Verzeichnissen.
Ihre Bibliothek verwendet den symmetrischen Verschlüsselungsalgorithmus Rijndael im CBC-Modus. Bemerkenswert ist, dass die Blockgröße auf 256 Bit festgelegt wurde – im Gegensatz zu den 128 Bit, die im AES-Standard verwendet werden.
Unser Schlüssel wird nach dem PBKDF2-Standard gebildet. Dabei dient das Passwort als SHA-256 des in das Tool eingegebenen Strings. Es bleibt nur, diesen String zu finden, um den Entschlüsselungsschlüssel zu bilden.
Nun gut, kehren wir zu unserem bereits dekodierten pass.key. Erinnern Sie sich an die Zeile mit der Zahlenfolge und dem Text ‚asmodat‘? Wir versuchen, die ersten 20 Bytes des Strings als Passwort für Folder Locker zu verwenden.
Schau mal, es funktioniert! Das Passwort hat gepasst und alles wurde perfekt entschlüsselt. Judging by the characters of the password – this is the HEX representation of a certain word in ASCII. Wir versuchen, das Passwort in Textform darzustellen. Wir erhalten ‚shadowwolf‘. Fühlen Sie schon die Symptome von Lykanthropie?
Lassen Sie uns noch einmal die Struktur der betroffenen Datei betrachten, jetzt da wir den Mechanismus des Lockers kennen:
- 02 00 00 00 – Modus der Namensverschlüsselung;
- 58 00 00 00 – Länge des verschlüsselten und in Base64 codierten Dateinamens;
- 40 00 00 00 – Größe des übertragenen Headers.
Das verschlüsselte Name und der übertragene Header sind rot und gelb hervorgehoben.

Abb. 10. Das verschlüsselte Name ist rot hervorgehoben, der übertragene Header ist gelb.
Jetzt vergleichen wir das verschlüsselte und das entschlüsselte Namen in hexadezimaler Darstellung.
Die Struktur der entschlüsselten Daten:
- 78 B9 B8 2E – Müll, der vom Tool erstellt wurde (4 Bytes);
- 0C 00 00 00 – Länge des entschlüsselten Namens (12 Bytes);
- darauf folgt, sozusagen, der Dateiname und das Auffüllen mit Nullen auf die benötigte Blockgröße (Padding).

Abb. 11. IMG_4114 sieht viel besser aus.
III. Fazit und Schlussfolgerung
Zurück zum Anfang. Wir wissen nicht, welche Motive der Autor Wulfric.Ransomware hatte und welches Ziel er verfolgte. Für den durchschnittlichen Nutzer scheint das Ergebnis der Arbeit selbst eines solchen Verschlüsselungsprogramms eine große Katastrophe zu sein. Die Dateien öffnen sich nicht. Alle Namen sind verschwunden. Statt des gewohnten Bildschirms erscheint – ein Wolf. Man wird gezwungen, über Bitcoins zu lesen.
Tatsächlich verbarg sich diesmal hinter der Maske des „schrecklichen Encoders“ ein lächerlicher und sinnloser Versuch der Erpresser, bei dem der Täter fertige Programme verwendet und die Schlüssel direkt am Tatort hinterlässt.
Übrigens, zu den Schlüsseln. Wir hatten kein schädliches Skript oder einen Trojaner, anhand dessen man verstehen konnte, wie dieses pass.key – der Mechanismus zur Erscheinung von Dateien auf einem infizierten PC bleibt unbekannt. Ich erinnere mich jedoch, dass der Autor in seiner Notiz die Einzigartigkeit des Passworts erwähnte. Das Codewort zur Entschlüsselung ist also genauso einzigartig wie der Benutzername Shadow Wolf 🙂
Und dennoch, Shadow Wolf, warum und wieso?
Quelle: habr.com
