Delphi-PRAXiS
Seite 20 von 34   « Erste     10181920 212230     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Algorithmen, Datenstrukturen und Klassendesign (https://www.delphipraxis.net/78-algorithmen-datenstrukturen-und-klassendesign/)
-   -   Verschlüsselungs-Trojaner, Hilfe benötigt (https://www.delphipraxis.net/168380-verschluesselungs-trojaner-hilfe-benoetigt.html)

bombinho 11. Jun 2012 22:36

AW: Verschlüsselungs-Trojaner, Hilfe benötigt
 
Ist eigentlich irgendwo die RechnerID gespeichert? Immerhin aendert die sich ja scheinbar beim Neustart.
Marcu, deine Praesentationen sind wirklich gut ;)

Marcu 12. Jun 2012 05:54

AW: Verschlüsselungs-Trojaner, Hilfe benötigt
 
@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:
Delphi-Quellcode:
type
  TCBuffer = array[0..$199] of char;
const
  MAXSIZECB = Sizeof(TCBUffer);
var
  GLOB_BaseName: TCBUffer;  //=ComputerId
 

procedure BuildComputerID;
var
  SystemDirectory, ComputerName, Name: TCBuffer;
  DriverSerialNumber, CName1, CName2: DWORD;
  n: Cardinal;
begin
  GetSystemDirectory(SystemDirectory, MAXSIZECB);
  SystemDirectory[3] := char(0);
  DriverSerialNumber := 0;
  GetVolumeInformation(
    SystemDirectory, nil, 0, @DriverSerialNumber,
    DWORD(nil^), DWORD(nil^), nil, 0);

  n := MAXSIZECB;
  GetComputername(Computername, n);

  CName1 := DWORD(PDWORD(@ComputerName[0])^);
  CName2 := DWORD(PDWORD(@ComputerName[4])^) and $FFFF;
  strfmt(Name, '%0.8X%0.8X%0.4X', [DriverSerialNumber, CName1, CName2]);
  Strcopy(Glob_BaseName, Name);
end;
Die Computerid wird auch für die ersten 20 Zeichen des Katalogdateinamens benutzt.

Vg
Marcu

Blup 12. Jun 2012 09:50

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

Zitat von Marcu (Beitrag 1170342)
@blup
Ich glaube das "xor eax,edx" ist seit Delphi 5 nicht mehr nötig. War da nicht so etwas in der Art?
Viel interessanter als eine 1:1-Übersetzung des Trojaners wäre aber zu klären, ob jemand diesen RNG einschätzen kann. Ist es möglich wegen des benutzen RNGs die Anzahl der Versuche zu verkleinern, die man man bei "Brute-Force" brauchen würde?

Die Function "RDTSC" liefert einen 64Bit-Zähler der CPU-Takte zurück.
Der niederwertige Anteil steht im 32Bit-Register EAX, der höhere im 32Bit-Register EDX.
Der Programmierer des Trojaners verwendet einen 32Bit-Wert als Ausgangspunkt für die "Zufallszahl", dafür verknüpft er die beiden Register mit xor. Das hat also nichts mit Delphi zu tun, sondern ist Teil des Programmablaufs, dessen Verständnis erst eine Einschätzung der Güte des Generators ermöglicht.

Wenn die Abfrage des Generators bei der Erzeugung des Passworts nach jeder Stelle immer im selben Abstand in CPU-Takten erfolgen würde, könnte man die Anzahl der möglichen Passwörter auf einige Milliarden eingrenzen (jeweils für einen PC/CPU). Bei meinen Versuchen schwankt die Anzahl allerdings erheblich, ich sehe hier keinen Angriffspunkt.

ewhiz 12. Jun 2012 12:32

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

Zitat von Marcu (Beitrag 1170366)
@Apthon

- Der $03-Katalog wird so verschlüsselt und abgespeichert, dass man es leicht entschlüsseln kann. Außerdem wird diese Datei nach der Verschlüsselungsphase nur gelöscht und nicht geschreddert. Man hat gute Chancen diese Datei wieder herzustellen. Damit kann man aber keine Dateien entschlüsseln. Nur den Originalnamen kann man damit wieder herstellen.

vg


Hallo,

ich habe den thread aufmerksam gelesen und bewundere den Ehrgeiz und das Können der Akteure hier.

Ich bin auch betroffen, habe mir das Teil beim Surfen nach dem Pacquiao-Bradley Boxkampf vom WE geholt und hatte sehr viel Glück. 99% gesichert und wiederhergestellt.

Es fehlen jetzt nur noch eine Handvoll Dateien – der Dateiname würde hierfür völlig ausreichen. Ich habe $$0, $02, $03, V.class sowie die 1.048-Byte Datei gesichert. Jetzt hatte ich die DecryptTmpNoExt von Euch runtergeladen und versucht, die $03 zu entschlüsseln. Ich komme nur mit dem Command nicht zurecht.

z.B.:
DecryptTmpNoExt F05A208B494857452D5A

muss ich doch nur in den cmd promt eingeben oder nicht?

Für einen Kurzen Hinweis, wie ich an die Dateinamen komme, wäre ich sehr dankbar

Danke u Grüße

HofMar 12. Jun 2012 14:23

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

Zitat von ewhiz (Beitrag 1170425)
Ich habe $$0, $02, $03, V.class sowie die 1.048-Byte Datei gesichert.

Welche Aufgabe hat die $$0-Datei? Diese habe ich auch gefunden. Jedoch klappte bei mir weder das Dekodieren (DecryptTmpNoExt) der Datei ohne Extension, noch bei der $$0-Datei.

Gruß Martin

markusg 12. Jun 2012 14:30

AW: Verschlüsselungs-Trojaner, Hilfe benötigt
 
hatt wer lust sich version 2.0.11 anzusehen, da gibts wohl einige enderungen.

HofMar 12. Jun 2012 14:48

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

wie bekommt man möglichst schnell die Versionsnummer aus dem schadhaften Code heraus?

Gruß Martin

HofMar 12. Jun 2012 14:57

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

Zitat von Marcu (Beitrag 1170373)
Code:
  strfmt(Name, '%0.8X%0.8X%0.4X', [DriverSerialNumber, CName1, CName2]);
Die Computerid wird auch für die ersten 20 Zeichen des Katalogdateinamens benutzt.

Wenn ich das richtig sehe, ist die ComputerID immer nur 20 Zeichen (8+8+4) lang! Demnach ist der Katalogdateiname immer auch gleich die ComputerID.

Woher kommen dann aber die weiteren vier Zeichen bei der Datei ohne Erweiterung? Oder sollte das oben '%0.8X%0.8X%0.8X' heißen und damit 24 Zeichen lang sein? Das würde das Abschneiden nach 20 Zeichen für die Katalogdatei erklären...

Gruß Martin

RenéLandscheidt 12. Jun 2012 18:00

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

habe das jetzt schon einige zeit Verfolgt weil meine Cousine sich den Trojaner eingefangen hat.
(Habe die Mail - mit dem Anhang von ihr auch bekommen; Eine weitere Mail habe ich von einem Kollegen - der hatte den aber auf grund meiner Warnung nicht geöffnet.)

Je mehr ich aber lese - um so mehr fällt mir auf - das man eigentlich an die DB des C&C Servers kommen müste.

Allerdings ist mir was eingefallen. Bei einem frisch befallenen System , könnte man theoretisch mit einer Cold-Boot Atacke den Speicher Dumpen und im Dump des Speichers nach dem Passwort suchen - das würd aber nur bei eine Frisch infizierten Rechner der nicht ausgemacht wird - bis man alles für den Cold-Boot Angriff vorbereitet hat - funktionieren. Wenn mann dann in den Speicher nach dem "CatalogPassword" oder wie der Identfier für die Varaiable heißt sucht - müsste mann doch was finden.

Viele Grüße

R. Landscheidt

deraddi 12. Jun 2012 19:52

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

Zitat von Aphton (Beitrag 1170368)
Schade

Ich sehe momentan echt nur noch mehr das Hacken des CC Servers als einzige Lösung. Inwiefern das den anderen passt, ist eig. irrelevant - es ist nur eine objektive Lösung.

Gebe ich dir Recht, denn der Virus ist ziemlich wasserdicht.
Habe den Schweizer C&C Server ein wenig näher angeschaut, es ist leider schon mal kein Apache (mit all dessen Macken) sondern nginx 1.0.4 . Das ganze läuft auf Debian lenny, PHP ist ein 5.2.6 - da besteht allerdings ein Memory Exhaust Problem. Um dieses zu nutzen reichen aber meine Kenntnisse nicht, ansonsten ist der ziemlich dicht. SSH ist gut gesichert, brute ist da zwecklos.
Es gibt noch ein paar offene Ports, seltsamerweise für MAC Anwendungen z.B. AFP over TCP. Aber dazu finde ich nichts, wo man ansetzen kann.

Spielen mit den Parameter der a.php brachte auch nicht viel, magic quotes sind an - SQL Injection zwecklos. Man müsste jetzt mal alle SQL Vulnerabilities durchsuchen ob ein Fehler exsitiert den man durch die Magic Quotes durchschleusen kann.
Code Injection über Variablen wurde schon seit PHP 5.0 behoben - register_globals auf off ist schon damals einer der Sicherheits-Ansätze gewesen.

Alles in allem muss schon ein begabter sagen wir mal "Serverversteher" her um sich dort mal umzusehen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:18 Uhr.
Seite 20 von 34   « Erste     10181920 212230     Letzte »    

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz