Dateiformate/-Endungen - 'magische' Inhalte

Hallo Ihr Experten!

Es geht um Dateien jeglicher (!) Forum und was sie beinhalten und können. Viren- und extrahierungstechnisch. Wie eine Zip-Datei, zum Beispiel.

Grundsätzlich weiss ich, dass da Vieles geht - auch eben versteckt in Dateien. Manch Virus versteckt sich eben auch in einer *.doc- oder *.mp3-Datei. Nicht nur in *.exe-Dateien, was wohl das simpelste ist.

Könnte mir vielleicht mal jemand grundsätzlich erklären oder bestätigen, wie das in den Dateien dann aufgebaut ist? Wie extrahiert sich eigentlich eine Datei zu mehreren, oder wie hacken diese u.a. ausführenden Dateien eigentlich die E-Mail-Adressen und schicken selbige weiter? Und das eben nicht in *.exe-Formaten.

Bitte nicht falsch verstehen, ich will keine Anleitung zum produzieren von Viren, sondern nur eine Bestätigung und den Grundaufbau solcher Dateien.

Vielen Dank für eine Antwort.
DerDUDE

Hi Dude,

die erste Quelle für solche Fragen ist immer in den FAQ (guckst du einfach rechts oben) zu finden, in deren Aufbau das Team unglaubliche Mühen steckt. Wenn darüber hinaus noch was unklar ist, dann wird dir bei konkreten Problemen sicher auch geholfen.

Gruß Ralf

HI,

prinzipiell gilt: ein Virus/Trojaner/Wurm oÄ ist immer ein Programm und muß ausgeführt werden um zu wirken - dazu gibts mehrere Methoden: Programmdateien (exe, com), Skripte(vb,bat), Dateiformate mit Marko-Funktionen (Office), schlecht programmierte Software (buffer overflow oÄ).

Normalerweise bestimmst Du, was auf deinem Rechner ausgeführt wird (anklicken). Leider glauben manche Firmen, dem User diese Arbeit abnehmen zu müssen - zB automatisches Ausführen von attachments - damit verlierst Du die Kontrolle über die Software auf Deinem Rechner.

Zip Dateien stellen einfach komprimierte Daten dar, da kann alles drinsein - vom Liebesbrief bis zum bösen Virus, da die Inhalte aber nicht automatisch ausgeführt werden ist das normalerweise unproblematisch.

Ein weiterer „Trick“ entsteht durch die „Vereinfachung“, daß unter Windows in der Standardeinstellung Dateiendungen nicht angezeigt werden: Stell Dir vor du bekommst eine Datei namens bild1.jpg.exe - Windows blendet die Dateiendung (das nach dem letzten Punkt) aus und Du siehst nur bild1.jpg, willst das Bild sehen, doppelklickst und merkst zu spät, daß Du gerade ein Programm (uU bösartig) gestartet hast.

LG
Stuffi

Hallo Ralf!

Dank für deine Anregung und Antwort!

Zuvor schaute ich bereits in die FAQs, habe aber nichts entsprechendes gefunden. Jetzt schaute ich nochmals nach, ob ich was übersehen habe. Meine Stirn ist immer noch mit einem Fragezeichen bestückt.

Sollte ich immer noch etwas übersehen haben, bitte ich freundlichst um einen „Link“ zum FAQ-Posting.

Ansonsten fände ich eine Antwort hier ganz toll!
Es ist mir sehr wichtig!

Nochmals Dank im Voraus!
DerDUDE

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo Ihr Experten!

Es geht um Dateien jeglicher (!) Forum und was sie beinhalten
und können. Viren- und extrahierungstechnisch. Wie eine
Zip-Datei, zum Beispiel.

In einer Datei stehen immer nur irgendwelche Bytes drin. Die Interpretation das Inhaltes ist dem Programm überlassen, mit welchem man die Datei öffnet.

Windows verwendet dabei für die Zuordnung zwischen Datei und Programm, mit welchem die Datei geöffnet werden soll, die Dateiendung. In einer zentralen Datenbank (Registry) steht, was beim Anklicken einer Datei mit vorgegebener Dateienndung passieren soll. Dies kann man sich im Explorer unter Extras -> Ordneroptionen -> Dateitypen auch ansehen und ggf. bearbeiten.

Für einige spezielle Dateitypen ist festgelegt, das diese Dateien Programmcode enthalten. Das sind die .com - Dateien (enthalten direkt den Programmcode, als „Erbe“ aus MS-DOS-Zeiten noch da…) und die .exe-Dateien (enthalten einen Kopfbereich (die ersten 2 Zeichen sind z.B. immer „MZ“) mit Informationen, welche Segmente (Code, Daten, etc) es gibt und wie diese geladen werden müssen, und die entsprechenden Segmente).

Weitere Dateitypen werden leider auch von Windows ausgeführt, auch wenn die Dateiendung eigentlich für ein anderes Programm gedacht ist, z.B.
.pif - Informationsdatei zu DOS-Programmen
.lnk - Verknüpfung
.scr - Bildschirmschoner
.bat - Scriptdatei
d.h. wenn man eine .exe-Datei eine dieser Endungen gibt, wird sie trotzdem als EXE-Datei erkannt und ausgeführt.

Als weitere Möglichkeit, Code auszuführen, kommen auch noch Anwendungen in Betracht, die eine Programmierung erlauben, zum Beispiel die MS Office Programme mit der Makrosprache VBA. Diese Makros können auch „bösen“ Code enthalten, es findet keine Prüfung statt, was da ausgeführt wird. Mit VBA kann man auf das gesamte System zugreifen, also fast alles machen, was ein „richtiges“ Programm auch kann (.doc, .xls, …).

Schließlich gibt es auch noch die „Browsererweiterung“ ActiveX (und viele Fehler im Internet Explorer), die es erlaubt, beliebigen (normalerweise nur digital signierten Code, durch Fehler im IE klappt das aber meist nicht…) Code auszuführen. Da die Funktionen des Internet Explorers von vielen anderen Programmen mitbenutzt werden (insbesondere Outlook, Outlook Express), treten diese Fehler auch in anderen Programmen auf. Somit ist es möglich, sich z.B. schon betrachten einer E-Mail in der Vorschau einen Virus einzufangen…

Soweit zu den ausführbaren Dateien, die besondere Bedeutung für Viren haben, da ein Virus kann nur aktiv werden, wenn sein Programmcode ausgeführt wird.

Viele andere Dateien sind reine Datendateien, die zum Benutzen des Inhaltes das entsprechende Programm benötigen. Zum Beispiel kann man mit einem ZIP-Programm (z.B. Winzip) mehrere Dateien packen und in einer .zip - Datei speichern (WinZIP speichert im Prinzip zu jeder Datei ein paar Kopfzeilen (Dateiname, Länge, Länge komprimiert, Datum) und die komprimierten Daten in der .zip ab, aufgrund der komprimierten Länge im Kopf weiss er, dass danach die nächste Datei mit Ihren Kopfzeilen kommt, usw.).

Zum Benutzen einer .mp3 - Datei braucht man einen entsprechenden Player, etc.
Solange wie die entsprechenden Programme keine Fehler haben (und keine Möglichkeit des Scripting) können über solche Datendateien keine Viren ausgeführt werden (Bei Archiven wie .zip, .rar, etc. können aber natürlich Viren mit archiviert worden sein, und liegen nach dem Entpacken als Datei auf der Festplatte, allerdings muss hier dann erst die ausgepackte Datei gestartet werden, damit der Virus aktiv wird.).

extrahiert sich eigentlich eine Datei zu mehreren, oder wie
hacken diese u.a. ausführenden Dateien eigentlich die
E-Mail-Adressen und schicken selbige weiter? Und das eben
nicht in *.exe-Formaten.

Das Zugreifen auf die E-Mail Adressen ist kein Problem, Microsoft hat im MSDN (msdn.microsoft.com) gut dokumentiert, wie man als Programmierer auf die Daten zugreifen kann. Auch die E-Mail - Funktionen (MAPI) sind wohl definiert und lassen sich problemlos missbrauchen.
Ein Programm, was erst einmal gestartet wurde, hat unter Windows dieselben Rechte wie der angemeldete Benutzer, kann also bei WIndows 9x/ME auf alles zugreifen, bei NT/2k/XP alles machen, was der Benutzer tun darf.

Bitte nicht falsch verstehen, ich will keine Anleitung zum
produzieren von Viren, sondern nur eine Bestätigung und den
Grundaufbau solcher Dateien.

Die detaillierten Dateistrukturen findet man meist bei wotsit.org

Alexander

Hallo Alexander!

Prinzipiell hast Du recht. Nur bei zip Dateien habe ich da leider schon eine andere Erfahrung machen müssen (hat einen Rechner gekostet) ist aber schon 1 - 1 einhalb Jahre her. Bei zip Dateien wird der Virus aktiv, sobald diese mit Winzip entpackt wird - Mc afee hat damals zwar gehalten, aber nur so geradeeben - wäre beinahe rausgeworfen worden. Der Virus hiess Scullman

Mit freundlichen Grüßen Albert

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo !

Hallo Alexander!

Prinzipiell hast Du recht. Nur bei zip Dateien habe ich da
leider schon eine andere Erfahrung machen müssen (hat einen
Rechner gekostet) ist aber schon 1 - 1 einhalb Jahre her. Bei
zip Dateien wird der Virus aktiv, sobald diese mit Winzip
entpackt wird - Mc afee hat damals zwar gehalten, aber nur so
geradeeben - wäre beinahe rausgeworfen worden. Der Virus hiess
Scullman

Es gibt leider noch mehr Programme, die Code automatisch ausführen, obwohl dies eigentlich nötig ist. Entweder ein „Feature“ des Programms oder ein Fehler, je nachdem, wie man es sieht. Von Winzip wusste ich es noch nicht (verwende selbst auch anderen Entpacker), aber nicht nur Microsoft-Software ist für so etwas anfällig (Acrobat Reader, Corel Office, etc.)…

Alexander

Hallo,

Windows verwendet dabei für die Zuordnung zwischen Datei und
Programm, mit welchem die Datei geöffnet werden soll, die
Dateiendung.

Ja, und das ist mal wieder typisch Microsoft – ziemlich dämlich. Erstens kann man ja nun wirklich einfach die Endung ändern (wird von Leuten gerne gemacht, um irgendwelche Filmchenschnipsel auf FTP-Servern zu „verstecken“ – man nenne eine MPEG2 Datei einfach .doc) und zweitens gibt es leider nur begrenzt viele sinnvolle Kombinationen aus drei Buchstaben. Daher gibt es immer wieder Konflikte, weil verschiedene Programme für verschiedene Dateiformate gleiche Dateiendungen produzieren.

Erheblich besser klappt da schon die Erkennung über den Dateiheader, sog. „magic bytes“ :smile: Das wird z.B. unter Linux und dem „file“ tool Verwendet. Dort gibt es eine Datenbank, die alle bekannten Dateiformate enthält und die bei Bedarf entsprechend erweitert werden kann. Schwups hat man einen Sack voll Probleme – und Filmchenschnipsel – weniger.

Gruß

Fritze