Dateiendungen, Magic Bytes & Tarnung – warum ein .jpg auch eine .exe sein kann

Einleitung

Im Alltag klicken wir Dateien meist blind an: Ein Anhang mit .jpg-Endung? Klingt nach einem Bild. Eine .pdf? Sicher ein Dokument. Doch Cyberkriminelle nutzen genau diesen Vertrauensreflex aus.
Denn: Eine Dateiendung ist nur ein Etikett.
Die eigentliche Wahrheit über den Dateityp steckt im sogenannten Dateikopf – genauer gesagt in den Magic Bytes, also bestimmten Hexwerten am Anfang der Datei.


1) Dateiendung vs. Magic Bytes

  • Dateiendung: das, was hinter dem Punkt steht (z. B. .jpg, .exe, .pdf). Das Betriebssystem nutzt diese Endung, um ein Symbol und ein Standardprogramm zuzuordnen.
  • Magic Bytes: die ersten paar Bytes im Hex-Format, die den Dateityp eindeutig kennzeichnen.
    • Beispiel JPG: startet immer mit FF D8 FF
    • Beispiel PDF: startet immer mit %PDF (25 50 44 46 in Hex)
    • Beispiel EXE (Windows-PE): startet mit MZ (4D 5A in Hex)

Ein Computer entscheidet nicht nur nach Endung, sondern viele Programme prüfen den Header. Cyberkriminelle nutzen aber Tricks, um den Benutzer zu täuschen.


2) Beispiel: Ein „gefälschtes Bild“

Angreifer können eine ausführbare Datei (.exe) einfach in urlaub.jpg.exe umbenennen.

  • Windows blendet standardmäßig bekannte Dateiendungen aus. Dann sieht die Datei im Explorer nur wie urlaub.jpg aus.
  • In Wahrheit steckt ein Programm dahinter.
  • Klickt man doppelt, startet die EXE – nicht ein Bildbetrachter.

Noch perfider: Manche Tools setzen gezielt ein falsches Icon (z. B. ein Bildsymbol), sodass die Täuschung perfekt ist.


3) Magic Bytes zeigen die Wahrheit

Egal, wie die Datei heißt – die Magic Bytes lügen nicht.
Beispiele:

TypMagic Bytes (Hex)ASCII
JPGFF D8 FFÿØÿ
PNG89 50 4E 47‰PNG
PDF25 50 44 46%PDF
EXE4D 5AMZ

Wenn du also eine angebliche foto.jpg öffnest und die ersten Bytes lauten 4D 5A, dann ist es keine Bilddatei, sondern ein Windows-Programm.


4) So prüfst du eine Datei selbst

Unter Linux / macOS

# Mit hexdump die ersten Bytes anzeigen
hexdump -C verdächtig.jpg | head -n 5

# Oder den eingebauten 'file'-Befehl nutzen
file verdächtig.jpg

Beispielausgabe (bei einem echten JPG):

00000000  ff d8 ff e0 00 10 4a 46  49 46 00 01 02 01 00 60  |......JFIF.....`|

Unter Windows (PowerShell)

# Erste 16 Bytes in Hex auslesen
Get-Content .\verdächtig.jpg -Encoding Byte -TotalCount 16 | ForEach-Object { "{0:X2}" -f $_ }

Oder nutze certutil:

certutil -dump verdächtig.jpg | more

Tool-Shortcut:

Der Linux-Befehl file oder forensische Tools wie HxD (Hex-Editor) zeigen sofort den echten Typ an.


5) Warum das wichtig ist

  • Phishing & Malware: E-Mail-Anhänge werden oft so getarnt. Ein Bild, das in Wirklichkeit Schadcode enthält.
  • Social Engineering: Viele User klicken sorglos, weil die Dateiendung harmlos wirkt.
  • Incident Response: Bei verdächtigen Dateien ist der erste Schritt: Header prüfen, nicht nur den Namen.

6) Tipps für mehr Sicherheit

  1. Dateiendungen einblenden: In Windows den Explorer so einstellen, dass immer die komplette Endung angezeigt wird.
  2. Keine Dateien blind öffnen: Unbekannte Anhänge erst prüfen (z. B. Hash berechnen + VirusTotal suchen).
  3. Magic Bytes checken: Bei Verdacht die ersten Bytes ansehen oder den file-Befehl nutzen.
  4. Sandbox nutzen: Verdächtige Dateien nie direkt öffnen, sondern in einer isolierten Umgebung untersuchen.

Fazit

Eine .jpg ist nicht automatisch ein Bild, und eine .pdf nicht automatisch ein Dokument. Nur die Magic Bytes im Dateikopf verraten, was wirklich drin steckt. Angreifer wissen das – und nutzen den menschlichen Reflex, auf scheinbar harmlose Dateien zu klicken.


Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert