PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Viren, die sich in best. Bereichen der Festplatte (verschlüsselt) verstecken



Profi
21.11.2002, 09:55
Guten Morgen zusammen, ich arbeite zur Zeit an einem Neuen Projekt und ich bin auf ein Problem gestoßen. Ich wollte wissen ob es einen Virus gibt der teile der HD verschlüsselt, sie aber nicht zerstört! Ich meine der CIH z.b überschreib ja teile der HD mit Null Byte Dateien und macht sie somit unbrauchbar. Der Virus sollte einen Teil der HD verschlüsseln, so das man Ihn auch nach einer Neuinstalltion des OS noch wiederfindet und mit einem passendem Schlüssel wieder Aktiviert. Gibt es so einen Virus und wenn ja hat jemand Erfahrungen damit. Brauche nur ernstgemeinte Antworten und keine Suchverweise nach AV Site`s,. Brauche auch ein paar Tips wegen des Verschlüsselungs Verfahren.
MFG Profi

Stoneriver
21.11.2002, 10:14
mmm, wenn ich nun mal vom " Normalfall" ausgehe, gehen 90 % aller Leute hin, bevor Sie das OS neu aufspielen und Formatieren die Platte, was dann ein Problem mit der Verschlüsselten Stelle mit sich bringen würde. Du müsstest dann also schon hingehen, und dich mit dem MBR selbst befassen oder schauen, wie du das ganze in die PatitionsInformationen reinschreibst. Aber da kann ich dir keine Infos drüber geben ..I.Q. - Problem :-)

Tschau Frank

Way_of_Chaos
22.11.2002, 10:19
Habe ich das richtig verstanden, dass du einen Teil der HD so verschlüsseln willst das er nicht formatiert wird?? Sprich das der was auch immer er ist das Inferno überlebt? Verändere doch gleich den format Befehl so das er net mehr ursprünglich funzt, bei einer Neuinstallation bleiben die Date ja uf der Platte

darth_alf
22.11.2002, 10:29
Wenn aber der Formatbefehl von einem Datenträger ausgeführt wird der nicht mit dem Virus in Berührung gekommen ist (Diskette oder CD) dann bringt dir die Veränderung des Formatbefehls doch nix, da der der dann benutzt wird unverändert ist und somit doch alles formatiert!?

xinorcimo
22.11.2002, 10:56
Mir kam mal von einem Virus names "Casino" zu Ohren. Der hat sich einfach die FAT in den Speicher geholt und an den Originalpositionen beide gelöscht. Nun hatte man nur noch die Möglichkeit, um seine FAT zu zocken. Wenn man verlor, war alles hin. Ausschalten half auch nicht - das reduzierte nämlich die Chancen, seine FAT wiederzubekommen auf Null. Die einzige Möglichkeit, die man außer dem Zocken noch hatte, war den Inhalt des Speichers irgendwie auf Diskette zu sichern. ;)
Den Format-Befehl lahmzulegen, halte ich auch für unsinnig. Vielmehr würde ich dann extra eine kleine Hidden-Partition anlegen. Davon bekommt das OS nämlich nix mit.

Xinorcimo

Stani
22.11.2002, 13:04
ich würd' auch sagen, du müsstest 'ne eigene Partition anlegen, die Daten draufkopieren und verschlüsseln, und vielleicht so aufbauen, dass man in Windows drauf zugreifen kann, jedoch mit dem bestimmten passwort, nur noch die Frage da, wie man's umsetzen solte :D
viel Glück
mfg

Amageddon
22.11.2002, 15:58
Fdisk??
copy??
und irgendwie verschlüsseln.

Aber am besten wärs ja ne ReiserFS Partition zu haben oder ext2 das kann Windows nicht erkennen.

xinorcimo
22.11.2002, 16:40
Wozu dann noch verschlüsseln? Außerdem würde ich zu keinem gängingen FileSystem raten, sondern die Daten einfach als Stream (aber nicht sequentiell) auf die Platte in diese Partition schreiben. An die Daten kommt man doch von überall ran. Anhand der Partitionstabelle, weiß man, wo so eine Partition anfängt und wo sie aufhört. Mit dieser Information kann man physisch die Daten lesen und schreiben (ohne Rücksicht auf Verluste!!!)).
Bei solchen Spielereien sollte man also vorsichtig sein, daß man sich seine Daten nicht zerschießt. Ein Rechenfehler und schon steht der Schreiblesekopf nicht an der gewünschten Position und überschreibt dir den letzten Newsletter vom BuHa-Board. ;)

Xinorcimo

Der HexXer
27.11.2002, 09:17
helo Profi ;)
Ich wollte wissen ob es einen Virus gibt der teile der HD verschlüsselt, sie aber nicht zerstört! Ich meine der CIH z.b überschreib ja teile der HD mit Null Byte Dateien und macht sie somit unbrauchbar. Der Virus sollte einen Teil der HD verschlüsseln, so das man Ihn auch nach einer Neuinstalltion des OS noch wiederfindet und mit einem passendem Schlüssel wieder Aktiviert. Gibt es so einen Virus und wenn ja hat jemand Erfahrungen damit.also das was Du da umsetzen möchtest ist grundsätzlich nur aus Ring0 möglich. [Ein Virus soll sich also irgendwo auf der Platte einnisten und selbst nach dem Formatieren einer gewissen Partition wieder 'aktivieren'; habe ich das so richtig verstanden?]
Ein möglicher Ansatz wäre: Der virale Code markiert bestimmte Bereiche der Festplatte als fehlerhaft, schreibt seinen Code in diesen Bereich und lädt sich beim BootUp (aus diesem Bereich) in den Speicher.
Ein weiterer Ansatz: Der Code 'erstellt' einen neuen Eintrag in der Partitionstabelle und legt seinen Code in dieser 'Partition' ab.
Allerdings stellen sich hierbei (ein paar) Probleme:
a) Wie soll sich der Code -nachdem er sich ausgelesen hat- in ein gewisses OS integrieren? [Um einen derartigen Virus wieder in das OS zu bringen, musst Du praktisch das verwendete Filesystem (aus RingZero;) manipulieren/'emulieren']
b) Diese Vorgehensweise verhindert zwar dass -bei einer Formatierung einer bestimmten Patition [z.B.: C:\]- der Code aus dem System entfernt wird, nicht jedoch wenn alle Partitionen komplett gelöscht werden !
c) dies ist mit einem enormen Aufwand verbunden und dieser Aufwand steht in keiner Relation zu dem eigentlichen Nutzen.
d) ...
x) ist 'ne nette Idee!

Um derartiges Umzusetzen musst Du über Kenntnisse in den Bereichen Bootup(-sequence), FS, MemManagement, OS verfügen. [vielleicht einer der Gründe, weswegen derartiges [i]noch nicht existiert.]

Brauche auch ein paar Tips wegen des Verschlüsselungs Verfahren.Eigentlich sollte eine Routine, die den Code XORt (vielleicht RORt oder ROLt) und Junk-Code in die Entschlüsselungs-Routine einbaut, ausreichen. [verm. um sich vor einer heuristischen Engine zu verbergen(?)]

Wofür braucht Du das?

Der HexXer.

P.S.: Neee ... mir ist kein Virus bekannt, der derartig vorgeht ... lass' mich aber gerne eines besseren belehren!

Profi
27.11.2002, 10:47
Guten Morgen zusammen, ich habe ein Möglichkeit gefunden nur ist es jede Menge Arbeit. Ich habe eine HD mit Safe Guard Easy im XOR Mod verschlüsselt und danach einen Relativ Harmlosen Virus Aktiviert, danach führte ich ein FDisk /mbr+FDisk+FormatC+InstallOS aus aber es war nichts zu machen, der Virus war noch vorhanden und ließ sich nicht mehr entfernen. Ich würde gern die Sektion des Virus auf der HD selber bestimmen können aber ich komme im Aktiven Zustand nicht heran! MFG Profi

Der HexXer
27.11.2002, 17:15
der Virus war noch vorhanden und ließ sich nicht mehr entfernenwow ... das nenn ich doch 'mal hartnäckig ;)
[Anm.: es lässt sich alles irgendwie entfernen ... Format C:\ ... hä? ... Du solltest die Partition löschen und überschreiben; dann wollma doch mal schauen, obba noch da ist;)]

Nur stellt sich nach dem Löschen des MBR/Bootsectors die Frage, wie Dein 'verschlüsselter' Virencode
a) sich wieder selbst entschlüsselt und
b) wie er die Kontrolle (InstructionPointer) erlangen soll!
[Ja ... der Code ist noch da aber ... auch nicht besser als ein paar nullen]

Ich würde gern die Sektion des Virus auf der HD selber bestimmen können aber ich komme im Aktiven Zustand nicht heranhmmm ... hast Du's schonmal mit INT 13 versucht? [sorry ... konnte ich einfach nicht verkneifen;)]

Der HexXer.

Profi
27.11.2002, 22:45
Hi Hexer, also ich habe dir mal einen Teil des Codes geposted aber bitte nicht schimpfen!!! Kannst es dir ja mal ansehen.



mov ebp,0 org $-4
Start Stl40/Xor2x4
HardDelta dd 0
call Decryptor
StartOfEncryptedData:
OffsetToEncrypted equ offset StartOfEncryptedData - offset START_VIRUS
SizeOfEncrypted equ offset (EndCrypted - offset StartOfEncryptedData)/4-3
GENERIC_RW equ GENERIC_WRITE or GENERIC_READ
DRIVE_FIXED equ 3
SIZETOADD equ (((VirSize) / 1024d)+1)*1024d
VirSize equ offset END_VIRUS - offset START_VIRUS + 5d
extrn ExitProcess:PROC
xor edx,edx
xor 1+xx1-2
xor on/off
push fs:dword ptr[edx]
mov fs:[edx],esp
mov BYTE PTR [edx],0
db 100d dup (90h)
push 0
call ExitProcess
@SEH_RemoveFrame
mov ecx,[esp]
pushad
@SEH_SetupFrame
mov ebp,0
org $-4
HardDelta dd 0
call Decryptor

StartOfEncryptedData:


Die Größe ist mir eigendlich egal aber ich möchte gerne die Zufalls platzierung entfernen und sie durch eine fest zugeordneten Bereich ersetzen!?!
MFG Profi

Der HexXer
27.11.2002, 23:59
Kannst es dir ja mal ansehen.yo ... hab' ich mir 'mal angesehen ;)
[wen willst Du denn damit erschrecken?]

Abgesehen von einigen Syntaxfehlern ist der Code absolut ... unbrauchbar. ;-)

... nicht dass ich etwas gegen ein "xor 1+xx1-2" oder ein "xor on/off" einzuwenden hätte ... aber was soll ein "mov byte ptr [0], 0" bringen? [ausser einem Absturz? (equ nullkommanull;)]
Ganz zu schweigen von einem "pushad" im nirgendmeer oder einer "00 00 00 00"-Anweisung!
Und was zum Geier bringt eigentlich die Verwendung der WinAPI in Ring0? [abgesehen von Abstürzen *glugg,glugg* ... krasse ORGie ($-4?) ???]

[Die anderen Kleinigkeiten überseh' ich jetzt einfach mal ...
Na ja ... also der Exception-Handler ist ja (fast) ganz gut gelungen!;)]Die Größe ist mir eigendlich egal aber ich möchte gerne die Zufalls platzierung entfernen und sie durch eine fest zugeordneten Bereich ersetzen!?!Das wollte ich auch schon immer!

Viele ... viele Fragen,
Der HexXer.

P.S.: Danke für die Blumen!

bitte nicht schimpfenalso ... sollte nicht zu krass rüberkommen ... aber in C gefällst Du mir irgendwie besser! ;)

[P.P.S.: Hatte ich erwähnt, dass ich von Zeit zu Zeit etwas mit ASM-Code anfangen kann?]

Profi
28.11.2002, 00:21
Na ja wie gesagt ist noch jede Menge arbeit und mich Nervt einiges aber so ist es eben, wenn ich weiter bin mit meinem Projekt melde ich mich wieder erst mal Danke. Was meinst du mit
[P.P.S.: Hatte ich erwähnt, dass ich von Zeit zu Zeit etwas mit ASM-Code anfangen kann?]
Mfg Profi

Der HexXer
06.12.2002, 01:22
heyho, Profi ...Was meinst du mit
[P.P.S.: Hatte ich erwähnt, dass ich von Zeit zu Zeit etwas mit ASM-Code anfangen kann?]ähm ... könntest Du einmal den von Dir geposteten Code:
mov ebp,0 org $-4
Start Stl40/Xor2x4
HardDelta dd 0
call Decryptor
StartOfEncryptedData:
OffsetToEncrypted equ offset StartOfEncryptedData - offset START_VIRUS
SizeOfEncrypted equ offset (EndCrypted - offset StartOfEncryptedData)/4-3
GENERIC_RW equ GENERIC_WRITE or GENERIC_READ
DRIVE_FIXED equ 3
SIZETOADD equ (((VirSize) / 1024d)+1)*1024d
VirSize equ offset END_VIRUS - offset START_VIRUS + 5d
extrn ExitProcess:PROC
xor edx,edx
xor 1+xx1-2
xor on/off
push fs:dword ptr[edx]
mov fs:[edx],esp
mov BYTE PTR [edx],0
db 100d dup (90h)
push 0
call ExitProcess
@SEH_RemoveFrame
mov ecx,[esp]
pushad
@SEH_SetupFrame
mov ebp,0
org $-4
HardDelta dd 0
call Decryptor

StartOfEncryptedData: einmal Zeile für Zeile erläutern?

[vielleicht weisst Du dann, was ich gemeint hab';)]

sry,
Der HexXer.