Einzelnen Beitrag anzeigen

Marcu

Registriert seit: 20. Mai 2012
50 Beiträge
 
#173

AW: Verschlüsselungs-Trojaner, Hilfe benötigt

  Alt 10. Jun 2012, 21:32
@CAG83
Zitat:
... und wenn einer zahlen will, passiert nix? Da hätten die die files ja auch komplett zerstören können oder so, wisst ihr was ich meine?
Da geht etwas nicht so wie es der Trojanerprogrammierer geplant hat. Ich denke es war tatsächlich mal geplant die Passwörter zurückzugeben, aber es klappt nicht.

Wenn man einem Programmierer davon erzählt was der Autor des Trojaners sich ausgedacht hat, glaubt er es zunächst mal nicht. Da sollen also eine handvoll Server, die ständig auf der Flucht sein müssen, durch hin und her schicken von Passwörtern über das Internet, die Brauchbarkeit der Dateien von vielen Computern steuern. Und das Ganze noch ohne jegliches Fallback für den Fall das etwas dabei nicht klappt. Ich denke ein verantwortungsvoller Programmierer würde sich vermutlich bei einem solchen Szenario mit dem Zeigefinger an die Stirn tippen und sich abwenden, weil er sieht, dass so etwas nicht robust ist. Das Risiko für die Daten und der Aufwand ist viel zu hoch.
Einige werden bezahlen und dann bemerken dass ihre Daten nicht entschlüsselt werden, weil das baufällige Verfahren der Erpresser nicht funktioniert. Den Erpressern ist es egal. Die haben das Geld.

Ein Notfallverfahren haben die Erpresser nun doch vorgesehen, fällt mir gerade ein. Man soll eine E-Mail schicken. Diesmal schon mit Bitcoins im Wert von 200€. Wenn man das tut, haben die Erpresser weitere 200€, aber da die ja die ComputerId nicht haben, können die auch nicht das dazugehörige Passwort zurückschicken. Das ist also nur ein Trick um noch mehr Geld herauszuholen.

@bombinho
Zitat:
.. es gibt keinen Weg, das Passwort zu erraten ..
ich habe es so geschrieben, weil ich ein paar Mails bekam in der nach der Möglichkeit gefragt wurde das gesuchte Passwort durch einfaches ausprobieren zu ermitteln. Ich wollte damit jede Hoffnung klar verneinen, auch wenn es mathematisch nicht richtig ist.

Das gesuchte Passwort wird mit folgender Funktion erstellt:

Delphi-Quellcode:
function GetRandomString(s: pchar; len: DWORD): Boolean;
const
  L: array[0..75] of Char = (
    'q', 'w', 'e', 'r', 't', 'y', 'u', 'i', 'o', 'p', 'a', 's', 'd', 'f', 'g',
    'h', 'j', 'k', 'l', 'z', 'x', 'c', 'v', 'b', 'n', 'm', 'p', 'l', 'f', 'y',
    'r', 'n', 'y', 'd', 's', 'j', 's', 'd', 'Q', 'W', 'E', 'R', 'T', 'Y', 'U',
    'I', 'O', 'P', 'A', 'S', 'D', 'F', 'G', 'H', 'J', 'K', 'L', 'Z', 'X', 'C',
     'V', 'B', 'N', 'M', 'P', 'L', 'F', 'Y', 'R', 'N', 'Y', 'D', 'S', 'J', 'S',
    'D'
    );
var
  i, r: dword;
begin
  i := 0;
  while i <> len do
  begin
    // GetRandomNumber entspricht der Funktion GetCpuTimeCode aus Beitrag #33
    r := GetRandomNumber and $3E; // $3e=62
    (s + i)^ := l[r];
    inc(i);
  end;
end;


.
.
len := (GetRandomNumber and $1F) + 30; // 30<= Passwortlänge len <=30+$1f=61
GetRandomString(CatalogPassword, len);
.
.

Das gesuchte Passwort hat zwischen 30 und 61 Buchstaben. Der Virus wählt dabei Buchstaben aus einem Pool von 63 Zeichen aus. Wenn man das nach unten abschätzt und davon ausgeht, dass das eigene Passwort nur 30 Buchstaben lang ist, dann gibt es 63^30 mögliche Passwörter. Das entspricht einer Zahl mit 53 Nullen (63^30 = 9,5 × 10^53). Angenommen wir hätten eine Testfunktion die uns in einer Millisekunde sagt, ob man das richtige Passwort hat oder nicht, dann müsste man 10^53/(1000*3600*24*365) = 10^42 Jahre warten bis alle Passwörter durchprobiert sind. Ich glaube man schätzt die verbleibende Lebensdauer des Universums auf ungefähr 10^14 Jahre. Auch mit dem Bau schnellerer Computer oder dem Parallelschalten von vielen Computern ist da nichts erreicht.

Du hast aber völlig recht, bombinho - es ist möglich das Passwort auf Anhieb zu erraten. Falls mir das gelänge, kämen bestimmt - wie auf einem Jahrmarkt - einige Statistiker zu mir, um den größten Glückspilz aller Zeiten zu bestaunen. Neben mir würde dann ein Lottogewinn wie völlig bedeutungsloser Alltag aussehen.
Für die Entschlüsselung der Dateien gilt genau das gleiche. Das für jede verschlüsselte Datei generierte Passwort wird mit dem gleichen Funtkionsaufruf erstellt.


Zitat:
Habe mal testweise diese Meldung mit dem Word abschiessen muessen.
Diese Meldung wird wohl nur angezeigt, damit dem Benutzer es halbwegs plausibel erscheint, dass nach dem Klick auf den Inhalt der Zipdatei scheinbar nichts passiert.

Tatsächlich installiert der Virus sich in dieser Zeit in das System32 Verzeichnis (und in das Anwendungsverzeichnis - für Benutzer ohne Adminrechte) und tut eine Menge mehr. Unter anderem setzt der Trojaner sogar einen Restore Point. Dann wird das Duplikat gestartet, welches der Trojaner gerade von sich selbst angefertigt hat und das angeklickte Programm beendet sich nachdem die in einem Thread gestartete Meldung vom Benutzer bestätigt worden ist.

Der Start des Verschlüsselungsvorgang ist zeitlich vor allem an die erfolgreiche Übertragung des Katalogpassworts geknüpft. Erst wenn das Katalogpasswort erfolgreich übertragen ist wird der Katalog erstellt, alle Dateien im Katalog verschlüsselt, der Katalog verschlüsselt abgespeichert und dann das Katalogpasswort aus dem Speicher genullt.
Wann die Übertragung des Katalogpassworts gelingt, ist wegen unzuverlässiger C&C-Server unvorhersehbar. Es wird aber nach dem Start des Trojaners regelmäßig versucht, bis es gelingt.

vg
Marcu

PS: der Trojanerprogrammierer hat keine deutsche Tastatur benutzt. Unsere Polizisten müssen wahrscheinlich über Ländergrenzen hinaus ermitteln. Oje ..

Geändert von Marcu (10. Jun 2012 um 23:04 Uhr)
  Mit Zitat antworten Zitat