PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : wie funtioniert ein crypter??



inmate
17.03.2009, 14:33
heyy all

wollte mal fragen ob einer mur kurz erklären kann wie ein crypter funtioniert ^^

also was der genau verschlüsselt (die dateien zB:strings in der .exe oder so )

grüße

inmate

RaZz0r
17.03.2009, 14:38
Crypter:
Datei einlesen -> File verschlüsseln -> dann so anhängen an die Stub:
[Stub] + [Delimeter] + [File] + [Delimeter]

Stub:
[Stub ein lesen] + [entschlüsseln] + [wenn scann time dann droppen und ausführen. Wenn runtime dann in den Ram laden (runPE(google))]

Mfg

ed0x
17.03.2009, 14:42
kommt drauf an...

entweder die komplette exe
oder die section die den eigendlichen code enthält

bei der ganzen datei isses so, die exe wird verschlüsselt und hinten an die stub angehängt.. die stub liest die exe ein (die an ihr hängt) entschlüsselt diese wieder und startet sie ohne zu droppen (ya das geht -.-)

des andere fügt ne neue section ein, schreibt da die stub rein, setzt den EP auf die stub die sobald die verschlüsselte haupt-programm section entschlüsslet ist zurückt zum hauptgrogramm springt (mit dem EIP (instruction pointer))

aber methode 2 is i.wie sowieso bei mir immer als heuristik detected...
dewegen use ich methode 1 :D

snify
17.03.2009, 15:26
Im Grund werden auch oft Strings verschlüsselt (z.B. API Crypting) So kann auch keine Heuristik detected werden. (z.B. aufrufen einer dll mit kernel oder user32.dll)

Ganz im allen kann man sagen, dass ein Crypter (Runtime) die komplette Datei erst entschlüsselt und danach in den RAM lädt. (Gott sei Dank überprüfen die AVs nicht den Arbeitsspeicher xDD

blackberry
17.03.2009, 15:40
Gott sei Dank überprüfen die AVs nicht den Arbeitsspeicher xDD

http://img18.imageshack.us/img18/354/54d54.png

snify
17.03.2009, 16:21
hmmm.
Aber wie wollen die AVs das hinbekommen? Oo
Weil das wäre schon hart, wenn AVs den ganzen RAM durschuchen. Während der ganzen Laufzeit wäre das ein rießen Ressourcen Verlust. Außerdem glaub ich mal, dass nur die Ablagerungsdateien gescannt werden (sofern vorhanden)

EDIT:
Scannen im Arbeitsspeicher


Einige AT Scanner, die (bislang) über keine Unpacking Engine verfügen, verfolgen einen alternativen Ansatz, um gepackte bzw. gecryptete Trojaner zu erkennen. So scannen beispielsweise "TrojanHunter" von Mischel Internet Security sowie die "Trojan Defence Suite" (TDS) von DiamondCS auch im Arbeitsspeicher des Computers nach Trojanern. Dies hat den Vorteil, dass (in der Regel) selbst gepackte bzw. gecryptete Trojaner erkannt werden, die beim vorherigen Dateiscan unbemerkt geblieben sind.

Hintergrund: Gepackte und gecryptete Trojaner werden beim Ausführen der Datei (normalerweise) in entpackter bzw. entschlüsselter Form in den Arbeitsspeicher geladen und können aus diesem Grund im RAM einfacher erkannt werden. Probleme beim RAM Scan können allerdings moderne Trojaner bereiten, die auf dem Prinzip der sog. "dll Injektion" basieren. Solche Trojaner werden nur erkannt, wenn im RAM nicht nur nach ausführbaren Programmen, sondern auch nach Routinen in Form von dynamic link libraries gescannt wird.

Der Nachteil der Technologie des Scannens im RAM besteht darin, dass ein Trojaner erst dann im Arbeitsspeicher erkannt werden kann, wenn er bereits ausgeführt wurde. Dementsprechend kann eine Schadwirkung bereits eingetreten sein. Dies beinhaltet im Grundsatz auch das Unbrauchbarmachen des AV/AT Scanners. Aus diesem Grund stellt das Scannen im Arbeitsspeicher zwar eine sinnvolle Ergänzung dar, kann eine gute Unpacking Engine aber nicht ersetzen.
Bei den beiden o.g. Scanner, die über keine Unpacking Engine verfügen und stattdessen im RAM scannen, handelt es sich um spezielle AT Scanner. Sie sind somit lediglich als Zweitscanner zu empfehlen.

http://securityresponse.symantec.com/avcenter/reference/memory.scanning.winnt.pdf

inmate
17.03.2009, 16:24
achsoo funzt das jetzt habe ichs gecheckt danke leute :)

BlackCobra
24.03.2009, 18:40
man kann .net Ressourcen , die in ein .net Programm eingebunden sind , direkt starten kann , ohne sie droppen zu müssen wie diese Funktion heißt müsst ihr selber rausfinden (weiß ich nich mehr)