AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Verschlüsselungs-Trojaner, Hilfe benötigt

Ein Thema von Michael Habbe · begonnen am 18. Mai 2012 · letzter Beitrag vom 27. Dez 2017
Antwort Antwort
Seite 1 von 2  1 2      
Marcu

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

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

  Alt 11. Jun 2012, 05:25
.. "nur" 50^30 (denn es ist ja egal, ob das erste oder zweite Vorkommen des Buchstaben "gewürfelt" wird, der Buchstabe selber ist relevant)
Völlig richtig!
Zitat:
Da fällt mir ein: Hast Du irgendwo Code gefunden, der den RNG initialisiert der da benutzt wird?
Es gibt keine Initialisierung. Der RNG sieht so aus:

Code:
unsigned int GetCpuTimeCode()
{
  unsigned __int64 tick;

  tick = RDTSC(); // Assembler für GetTickCount;
  return (16807 * (HIDWORD(tick) ^ tick) % 0x1F31D
     - 2836 * (HIDWORD(tick) ^ tick) / 0x1F31D) % 0x186A0;
}
Schau mal bitte hier, OldGrumpy: Park-Miller-Carta Pseudo-Random Number Generator

Update:
Der RNG sieht in Delphi so aus: (Danke an Yvonne fürs schreiben und recherchieren )

Delphi-Quellcode:
function GetRandomNumber: DWORD;
// http://www.cems.uwe.ac.uk/~irjohnso/coursenotes/ufeen8-15-m/p1192-parkmiller.pdf
// Seite 1195 (function Random Integer Version 2)
  function RDTSC: DWORD;
  begin
    asm
     dw $310F // = rdtsc
    end;
  end;

const
  a = 16807;
  q = 127773;
  r = 2836;
var
  t, hi, lo, seed: DWORD;
begin
  t := RDTSC;
  seed:= t and $0000FFFF; //= (t and $FFFF0000) xor t;
  hi := seed div q;
  lo := seed mod q;

  Result := (a * lo - r * hi) mod 10000;
end;

Geändert von Marcu (11. Jun 2012 um 08:44 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Aphton
Aphton

Registriert seit: 31. Mai 2009
1.198 Beiträge
 
Turbo Delphi für Win32
 
#2

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

  Alt 11. Jun 2012, 07:36
@OldGrumpy
Um ein bisschen genauer zu sein:

Delphi-Quellcode:
// Count: 59
// neue Tabelle ("-" Elemente werden nicht verwendet)
L: Array[0..75] of AnsiChar = (
'q', 'w', 'e', '-', 't', 'y', 'u', '-', 'o', '-', 'a', '-', 'd', '-', 'g', '-', 'j', 'k', 'l', 'z', 'x', 'c', 'v', 'b', 'n', 'm', 'p', 'l', 'f', 'y', 'r', '-', 'y', '-', 's', '-', 's', 'd', 'Q', '-', 'E', 'R', 'T', 'Y', 'U', 'I', 'O', 'P', 'A', 'S', 'D', '-', 'G', '-', 'J', '-', 'L', 'Z', 'X', '-', 'V', 'B', 'N', '-', 'P', 'L', 'F', '-', 'R', 'N', 'Y', '-', 'S', 'J', 'S', 'D'
);
@Marcu
Du meintest, man könnte das Passwort leider nicht (clientseitig) zurückberechnen.
Ich habe jetzt leider nicht mehr alles in Erinnerung: Ich gehe davon aus, das ein Teil des Passworts vom CC Server generiert wird (#158).
Man müsste zuerst klarstellen, ob die Generierung zufällig geschieht oder abhängig von Parametern ist (SendViaInternetToC&C-Server(HarddriveSerialnumber+Computername,CatalogP assword)).
Falls das Zweitere der Fall ist, so könnte man ja evt versuchen, mit den Parametern rumzuspielen und selber mit dem Server zu kommunizieren und schauen, was man da so als Ergebnis erhält. Daraus könnte man ja weitere Rückschlüsse ziehen und somit evt. den Algorithmus reversen.

Edit
Ähm, also bei #158 sehe ich nur, dass ein Passwort erstellt wird, dem CC Server mit ner Pseudo ID mitgeteilt und dann schön verschlüsselt wird. Mit der PW Generierung hat der Server eig. nichts zu tun; der hat halt nur das PW gespeichert, was später auf den betroffenen PCs nicht mehr auffindbar ist. Ich meine aber gelesen zu haben, dass der Server etwas damit zu tun hat (ein Teil davon wird vom Server produziert)
/Edit

Ich sehe nur noch mehr den Weg zur Lösung; oder eben den Server zu "hacken" (es gibt doch so viele Kiddies, die etliche Seiten defacen; sollte also nicht allzuschwer sein (kenne mich mit Webhacking eher weniger aus ))
das Erkennen beginnt, wenn der Erkennende vom zu Erkennenden Abstand nimmt
MfG

Geändert von Aphton (11. Jun 2012 um 08:56 Uhr)
  Mit Zitat antworten Zitat
Marcu

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

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

  Alt 11. Jun 2012, 08:48
Hallo Aphton

Zitat:
Mit der PW Generierung hat der Server eig. nichts zu tun; der hat halt nur das PW gespeichert, was später auf den betroffenen PCs nicht mehr auffindbar ist.
Genau so ist es. Das Passwort wird clientseitig per Zufalls erstellt. So ist es leider.

Zitat:
Ich sehe nur noch mehr den Weg zur Lösung; oder eben den Server zu "hacken" (es gibt doch so viele Kiddies, die etliche Seiten defacen; sollte also nicht allzuschwer sein (kenne mich mit Webhacking eher weniger aus ))
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

Geändert von Marcu (11. Jun 2012 um 08:58 Uhr)
  Mit Zitat antworten Zitat
bombinho

Registriert seit: 4. Jun 2012
Ort: UK
15 Beiträge
 
Turbo Delphi für Win32
 
#4

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

  Alt 11. Jun 2012, 09:30
Naja die Sache mit dem Lottogewinn ist ja auch Alltag. Wer wuerde schon Lotto spielen, wenn es nicht jede Woche Gewinner gaebe? Hast du die asm Variante vom verwendeten Zufallsgenerator? Ist das der Standard VB-Generator (Hat VB6 eigentlich noch einen eigenen?), der zum Einsatz kommt? Oder ein Eigenbau?
Oder WinAPI?

Immerhin sind genau diese PseudoZufallsgeneratoren oft genug das Einfallstor gewesen.
Deswegen haben Firmen mit Hardwaregeneratoren frueher Geld verdient.
Ich meine, mittlerweilen sollen einige Prozessoren rauschbasierte Generatoren bieten.

Geändert von bombinho (11. Jun 2012 um 09:55 Uhr)
  Mit Zitat antworten Zitat
freedy

Registriert seit: 16. Apr 2007
Ort: Göttingen
11 Beiträge
 
Delphi XE Professional
 
#5

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

  Alt 11. Jun 2012, 10:58
Hallo Marcu,

ich war in Kryptologie nie gut. Ich habe im Thread leider auch nicht gefunden, ob schon erwähnt wurde, wie der Tronjaner definitiv verschlüsselt. Wenn es sich um eine mehrstufige Blockchiffre handelt, ist es wohl nicht möglich den Schlüssel auf einfach Art und Weise zurückzurechnen. Sollte es sich um relative einfache Verschlüsselungsmechanismen handeln, könnten wir doch anhand des möglichen Alphabets rückrechnen.
Geklärt sind m. A. auch noch nicht die Punkte, ob wirklich für jede Datei andere Passwörter ermittelt werden. (Oder habe ich das auch überlesen?) Auch andere Fragen aus dem Thread sind noch ungeklärt.

Viele Grüße
Michael
  Mit Zitat antworten Zitat
Marcu

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

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

  Alt 11. Jun 2012, 11:17
@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
Zitat:
... Oder ein Eigenbau?...
Ist nachgebaut und erweitert. Hier kann man es nachlesen:
http://www.cems.uwe.ac.uk/~irjohnso/...parkmiller.pdf Seite 1195 (function Random Integer Version 2)

Der ASM-Code sieht so aus: (Suche im Virencode nach "rdtsc" . Dann stehst du direkt in der GetRandomNumber- Funktion)

Code:
proc GetRandomNumber              
TMP = dword local

  push   ebp
  mov    ebp, esp
  sub    esp, 4
  mov    [ebp+TMP], 0
 
  push   edx
  push   ecx
  mov    eax, [ebp+TMP]
  or     eax, eax
  jnz    short LABEL      ; springt nie
 
  rdtsc
  xor    eax, edx
  mov    [ebp+TMP], eax

LABEL:
  xor    edx, edx
  mov    ecx, 1F31Dh      ; q=127773
  div    ecx
  mov    ecx, eax
  mov    eax, 41A7h       ; a=16807
  mul    edx
  mov    edx, ecx
  mov    ecx, eax
  mov    eax, 0B14h       ; r=2836
  mul    edx
  sub    ecx, eax
  xor    edx, edx
  mov    eax, ecx
  mov    [ebp+TMP], ecx
  mov    ecx, 186A0h      ; =10000 
  div    ecx
  mov    eax, edx
  pop    ecx
  pop    edx
  leave
  retn
end;

Geändert von Marcu (11. Jun 2012 um 11:33 Uhr)
  Mit Zitat antworten Zitat
HofMar

Registriert seit: 9. Jun 2012
5 Beiträge
 
#7

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

  Alt 11. Jun 2012, 12:42
Hallo Marcu,
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.
Das reduziert die Anzahl der verwendeten Bitkombinationen jedoch auf 32, da nur fünf Bits gesetzt sind! Interessanterweise werden damit nur gerade Zahlen erlaubt und aus dem Array L
Code:
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'
    );
bleiben nur noch 31 Zeichen übrig, da das kleine 's' doppelt vorkommt:
Code:
 'q', 'e', 't', 'u', 'o', 'a', 'd', 'g', 'j', 'l', 'x', 'v', 'n', 'p', 'f', 'r',
 'y', 's', 'Q', 'E', 'T', 'U', 'O', 'A', 'D', 'G', 'J', 'L', 'X', 'V', 'N'
Das sind mit 5,5E44 (für nur 30 Zeichen) jedoch immer noch zu viele...

Gruß Martin
  Mit Zitat antworten Zitat
Blup

Registriert seit: 7. Aug 2008
Ort: Brandenburg
1.494 Beiträge
 
Delphi 12 Athens
 
#8

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

  Alt 11. Jun 2012, 12:48
Der RNG sieht in Delphi so aus: (Danke an Yvonne fürs schreiben und recherchieren )
In Delphi eher so:
Delphi-Quellcode:
function GetRandomNumber: DWORD;
// http://www.cems.uwe.ac.uk/~irjohnso/coursenotes/ufeen8-15-m/p1192-parkmiller.pdf
// Seite 1195 (function Random Integer)
  function RDTSC: DWORD; register;
  asm
   dw $310F // = rdtsc
   xor eax, edx
  end;

const
  a = 16807;
  q = 127773; (* 2147483647 div a *)
  r = 2836;
var
  t, hi, lo: DWORD;
begin
  t := RDTSC;
  hi := t div q;
  lo := t mod r;
  Result := (a * lo - r * hi) mod 100000; (* $186A0 *)
end;
  Mit Zitat antworten Zitat
Marcu

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

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

  Alt 11. Jun 2012, 17:48
@freedy
Hi Freedy
Zitat:
Sollte es sich um relative einfache Verschlüsselungsmechanismen handeln, könnten wir doch anhand des möglichen Alphabets rückrechnen.
Es handelt sich nicht um ein einfaches Verfahren. Bitte schau die Parametrieung der CryptApi-Aufrufe in Beitrag #83 an. Leider geht es so nicht

Zitat:
Geklärt sind m. A. auch noch nicht die Punkte, ob wirklich für jede Datei andere Passwörter ermittelt werden. (Oder habe ich das auch überlesen?) Auch andere Fragen aus dem Thread sind noch ungeklärt.
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 habe deswegen mal ein Bild gemalt. Schau mal im Anhang. Ich hoffe es ist so besser als viele Worte.

@Bombinho und OldGrumpy und Hofmar
Sch...ade, dass es nicht weiterführt.

@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?


vg Marcu
Angehängte Grafiken
Dateityp: jpg Verschlüsselungsphase.jpg (85,7 KB, 103x aufgerufen)
  Mit Zitat antworten Zitat
Benutzerbild von Aphton
Aphton

Registriert seit: 31. Mai 2009
1.198 Beiträge
 
Turbo Delphi für Win32
 
#10

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

  Alt 11. Jun 2012, 18:59
Ne Idee bzw. ein paar Fragen bzgl. des Löschens der "Katalog Datei" -> wie wird gelöscht? Wird die Katalogdatei geschreddert? Falls nicht, könnte man sie ja auf den Rechnern wiederherstellen, oder nicht?!
das Erkennen beginnt, wenn der Erkennende vom zu Erkennenden Abstand nimmt
MfG
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      

 

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:58 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz