-
Forum: Algorithmen, Datenstrukturen und Klassendesign
by Marcu,
5. Aug 2012
Hallo Michael
Genau so ist. Es gibt keinen Rückgabewert der den Erfolg anzeigt. Man muss nach nach jedem Entschlüsselungsversuch nachschauen ob es geklappt hat.
In diesem Fall muss man darauf hoffen, dass man nach der Entschlüsselung etwas bekommt das ungefähr so aussieht wie das Beispiel im Posting #247.
Anfangs hatte ich eine sehr kleine Funktion die ungefähr so aussah:
Result...
-
Forum: Algorithmen, Datenstrukturen und Klassendesign
by Marcu,
18. Jul 2012
Hi JohX
Das klingt sehr gut :-)
Der Aufbau der pagefile.sys wird hier erklärt:
http://jessekornblum.com/publications/di07.pdf
Hi Torsten
Da hat man sogar sehr gute Chancen bei diesem Trojaner. Maßgeblich für den Verschlüsselungszeitpunkt ist die erfolgreiche Übertragung eines individuellen Passworts an einen C&C-Server. Erst danach wird verschlüsselt. Manchmal gelingt das der...
-
Forum: Algorithmen, Datenstrukturen und Klassendesign
by Marcu,
11. Jul 2012
Hi Joh,
Geht mir ähnlich. Die RC4-Verschlüsselung ist mittlerweile eine freizeitfüllende Beschäftigung für mich geworden. Dabei wollte ich mir anfangs nur ein paar Resturlaubstage vertreiben :-)
Ganz genau so ist es. Mit mehr Glück hättest du eine gelöschte $03-Datei finden können, welche im $user\temp-Verzeichnis lag. Dann hätte man den Dateien wenigstens ihren Orginalnamen zurückgeben...
-
Forum: Algorithmen, Datenstrukturen und Klassendesign
by Marcu,
20. Jun 2012
Hallo Matthias
für jede Partition wird ein Thread gestartet, der rekursiv durch den Dateibaum läuft. Diese Threads laufen gleichzeitig. In jedem Thread wird zu jeder Datei ein neuer Dateiname und ein Passwort per Zufall generiert. Dieser Datensatz wird nach der Erstellung in einen gemeinsamen globalen Speicherbereich abgelegt. Am Schluß hat der Virus im Speicher einen langen String mit...
-
Forum: Algorithmen, Datenstrukturen und Klassendesign
by Marcu,
19. Jun 2012
Hallo Joh
Das ist ganz schnell gemacht. Besteht die Möglichkeit eine $03-Datei zu bekommen? Kannst du mir vielleicht eine per pm zuschicken, bitte?
vg Marcu
-
Forum: Algorithmen, Datenstrukturen und Klassendesign
by Marcu,
19. Jun 2012
@deraddi
Ich schick dir morgen oder übermorgen eine pm. Mach dir keine große Hoffnung. Da sind wir beide längst tot bis CUDA das erste Bild entschlüsselt hat. Falls es sich nur um Multimediadateien und um Bilder handelt, dann hast du aber trotzdem gute Chancen mit Reparaturprogrammen diese Dateien zurückzuholen. Es sind "nur" die ersten $3000 Bytes einer jeden Datei kaputt. Jpgs sind robuste...
-
Forum: Algorithmen, Datenstrukturen und Klassendesign
by Marcu,
17. Jun 2012
Hallo Ring
Klasse, dass du dich hier meldest. Im System32-Pfad findest du den Virus. Wenn nicht da, dann im Appdata-Pfad. markusg archiviert die Viren und verteilt die verschiedenen Versionen an Interessenten. Er freut sich darüber, wenn man ihm Viren schickt :D Besser aber gepackt und mit einem Passwort versehen.
Genau das ist der Grund dafür, dass nicht verschlüsselt wurde. Eine...
-
Forum: Algorithmen, Datenstrukturen und Klassendesign
by Marcu,
17. Jun 2012
Stimmt genau, HofMar. Version 2.000.11 injected in svchost (0x7FF955D4).
Eine ganze Reihe von Änderungen fallen im Vergleich zur Version 1.150.1 auf. Zunächst aber das Wichtigste: Der Trojaner verfährt noch immer so wie in Version 1.150.1. Die Verschlüsselung findet genau so statt, wie es im Bild "Verschlüsselungsphase" aufgemalt ist.
Die Statusdatei (ohne Dateiendung) im Temp-Verzeichnis...
-
Forum: Algorithmen, Datenstrukturen und Klassendesign
by Marcu,
17. Jun 2012
@deraddi
Genau an diesen Versionscode habe ich gedacht. Es wäre schön wenn man an diesen Versionscode
aus der Trojanerdatei schnell rauslesen könnte ohne dass man die Datei ausführt.
-
Forum: Algorithmen, Datenstrukturen und Klassendesign
by Marcu,
17. Jun 2012
Die Erpresser schicken jede Woche eine neue Version. :(
Bitte schick mir alle drei Versionen. Vielen Dank Addi :-)
-
Forum: Algorithmen, Datenstrukturen und Klassendesign
by Marcu,
17. Jun 2012
@Blup
Völlig richtig :-) Das "xor eax,edx" muss da natürlich rein. Danke :-)
Ich habe es in Delphi 5 getestet und gemerkt, dass es dann immer noch nicht so ganz klappt. Delphi 5 fügt vor der Rückkehr aus der Funktion ein "mov eax,edx" ein und überschriebt das Ergebnis der XOR- Operation. Ich geh jetzt lieber den Weg des geringsten Widerstands und habe den Funktionsaufruf ganz...
-
Forum: Algorithmen, Datenstrukturen und Klassendesign
by Marcu,
12. Jun 2012
@Apthon
Ja. Es wäre gelungen, wenn es möglich gewesen wäre :-)
Dieser Trojaner wird noch viel Schaden anrichten. Die Erpresser haben den Virus so geschrieben, dass die Sprache leicht geändert werden kann. :-(
@bombinho
Danke :-)
Der Trojaner stellt die ComputerId folgendermaßen zusammen:
-
Forum: Algorithmen, Datenstrukturen und Klassendesign
by Marcu,
11. Jun 2012
Hallo Sonnenbogen
genau das haben wir hier gemacht, aber wie Aphton es bereits sagte, es hat leider nicht viel gebracht.
Das Problem ist, dass bei jedem Opfer mit einem individuelles Passwort die Dateien verschlüsselt wurde - das Passwort aber nicht auf dem Computer des Opfers abgespeichert wurde.
Es genügt leider nicht das Programm in und auswendig zu kennen. Es gibt hier sogar...
-
Forum: Algorithmen, Datenstrukturen und Klassendesign
by Marcu,
11. Jun 2012
@Apthon
Es gibt genau genommen 2 Katalogdateien. Eine mit der Endung ".$02", die andere mit der Endung ".$03". In der $02 Datei steht <Originalname, Neuername, Passwort> für jede verschlüsselte Datei. In der $03-Datei steht <Originalname, Neuername> - für jede Datei - also ohne Passwort.
- Der $02-Katalog befindet sich in _unverschlüsselter_ Form immer nur im Speicher des Computers - niemals...
-
Forum: Algorithmen, Datenstrukturen und Klassendesign
by Marcu,
11. Jun 2012
@freedy
Hi Freedy
Es handelt sich nicht um ein einfaches Verfahren. Bitte schau die Parametrieung der CryptApi-Aufrufe in Beitrag #83 an. Leider geht es so nicht :-(
Dieser Thread ist schon ganz schön lang :-) Ich habe offenbar auch etwas überlesen. Gibst du mir bitte einen Tipp welche Frage ich überlesen habe?
Die Frage wie es sich mit den Passwörtern verhält wird oft gestellt. Ich...
-
Forum: Algorithmen, Datenstrukturen und Klassendesign
by Marcu,
11. Jun 2012
@Aphton
Ich habe nochmal im Virencode nachgeschaut um sicher zu gehen, sogar den Opcode habe ich nachgeschaut - da steht tatsächlich "AND $3E". Sehr merkwürdig. Ist wohl ein Fehler des Programmierers. Schade das der nicht größere Auswirkungen hat.
@bombinho
Ist nachgebaut und erweitert. Hier kann man es nachlesen:...
-
Forum: Algorithmen, Datenstrukturen und Klassendesign
by Marcu,
11. Jun 2012
Hallo Aphton
Genau so ist es. Das Passwort wird clientseitig per Zufalls erstellt. So ist es leider.
So gehts mir auch. Damit habe ich nicht die geringste Erfahrung. Und so viel Zeit habe ich leider auch nicht übrig um mich damit angemessen zu beschäftigen.
vg Marcu
-
Forum: Algorithmen, Datenstrukturen und Klassendesign
by Marcu,
11. Jun 2012
Völlig richtig! :-D
Es gibt keine Initialisierung. Der RNG sieht so aus:
unsigned int GetCpuTimeCode()
{
unsigned __int64 tick;
-
Forum: Algorithmen, Datenstrukturen und Klassendesign
by Marcu,
10. Jun 2012
@CAG83
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...
-
Forum: Algorithmen, Datenstrukturen und Klassendesign
by Marcu,
7. Jun 2012
Hallo TBUndertaker
Ich habe es missverständlich formuliert.
Der Virus bestimmt per Zufall ein individuelles und zufälliges Passwort auf jedem PC und verschlüsselt damit eine Datei die gebraucht wird um alle verschlüsselten Dateien zu entschlüsseln. Der Ablauf ist folgendermaßen:
(Für Leute mit Debugger: Sucht die Funktion bei der eine lokale Variable mit folgendem String...
-
Forum: Algorithmen, Datenstrukturen und Klassendesign
by Marcu,
7. Jun 2012
@pcnberlin
Es ist schön dass wenigstens du weißt was für Testdaten ich eingegeben habe. ... mein lieber Schwan ... ist das peinlich... :oops:
@Alle
Es tut mir leid. Kein Happy End!
-
Forum: Algorithmen, Datenstrukturen und Klassendesign
by Marcu,
4. Jun 2012
Hallo
in der angehängten Datei befindet sich ein Programm (inkl Source) mit dem man das Temp-File ohne Erweiterung entschlüsseln kann. Der Virus muss sich verschiedene Informationen merken. (z.B: Wie viele Fehleingaben es bereits gab.) So etwas findet man in diesem ersten TmpFile.
@pcnBerlin und alle die einen Debugger haben
Hast du eine Idee wie wir übersetzten Assemblercode so tauschen...
-
Forum: Algorithmen, Datenstrukturen und Klassendesign
by Marcu,
2. Jun 2012
hmmm ... es sieht so aus als ob das Passwort bevor es durch eine selbstgebraute Verschlüsselungsfunktion läuft und an den Server geschickt wird, nochmal vorher im Tmp-Verzeichnis gespeichert wird. Nur...warum sollte jemand einen Zweitschlüssel neben seinen sicheren Safe legen und den anderen Schlüssel im Internet verstecken? Das wäre zu schön um noch daran zu glauben. Aber der Sache gehe ich...
-
Forum: Algorithmen, Datenstrukturen und Klassendesign
by Marcu,
1. Jun 2012
Ich habe jetzt alle Stückchen - bis auf eines - zusammen. Das war schwierig, weil der Virenprogrammierer für das Verschlüsseln der Benutzerdateien und für die Internetkommunikation und für die Verschlüsselung der Temp-Files jeweils verschiedene Kombinationen von MD5-Checksummen und RC4 Verschlüsselungen benutzt hat. Ich habe ständig den Faden dabei verloren was da wann für was benutzt wird, aber...
-
Forum: Algorithmen, Datenstrukturen und Klassendesign
by Marcu,
31. Mai 2012
Gute Idee :-) Hab ich sogar mal einfach blind ausprobiert. So ging es leider aber nicht. Die Information die man zum Entschlüsseln jeder Datei braucht steckt in einer der Dateien im temp-Verzeichnis. Dort ist jeweils der alte Orginal-Dateiname, der völlig zufällig neue Dateiname und ein Schlüssel abgelegt.
Für die Leute die verständlicherweise dringend auf eine Lösung warten und Anfragen...