Du bist nicht mit dem Internet verbunden.
DIYWissen 1537

Ein kleiner Hack zwischendurch: Dateien als andere Dateien ausgeben

Ist ein PDF wirklich ein PDF? Ja, sagt dein Computer. Nein, sagen wir. Denn wir können mit einfachen Mitteln einem User vorgaukeln, dass er Dateityp A vor sich hat, aber in Wirklichkeit Dateityp B sieht.

Hacker setzen nicht nur auf sich selbst. Oft ist es ein Nutzer im Zielsystem, der den Kriminellen Tür und Tor öffnet. Denn warum sollte ein Hacker auch eine Firewall durchbrechen, wenn er sie umgehen kann? Noch besser, warum sollte ein Hacker sich Mühe machen, wenn ein Nutzer einfach Glaubens gemacht werden kann, dass er nur ein harmloses Bild öffnet?

Stellen wir eine Attacke nach, die auf die Unbedarftheit des Opfers abzielt.

Die Vorbereitung

Bevor wir uns dem Script widmen, müssen wir eine Einstellung in Windows vornehmen, sofern du das nicht schon getan hast. Im zweiten Schritt brauchen wir Dateinamenerweiterungen. Das sind die Buchstaben nach dem Punkt in jedem Dateinamen. Ein Bild aus dem Internet ist meist ein .jpg, ein Word-Dokument ist ein .docx, ein Video ist ein .mp4 und so weiter. Da Microsoft aber irgendwann gedacht hat, dass das unbedarfte Nutzer nur unnötig verwirrt, haben sie die Dateinamenerweiterungen standardmässig ausgeblendet.

Wir aber brauchen die, sicher nur in einem Ordner.

  1. Öffne «Eigene Dateien»
  2. Erstelle den Ordner «hack_the_planet». Das wird unser Projektordner für den kleinen Hack
  3. Klicke oben auf Ansicht
  4. Aktiviere die Dateinamenerweiterungen

Im Menü «Ansicht» findest du die Dateinamenerweiterungen

Voilà, das war’s fürs erste. Gehen wir programmieren.

Die Payload

Jede Attacke eine Hackers dieser Art besteht aus zwei Teilen.

  1. Die Verpackung: Das, was der User sieht. Etwas, dem er vertraut und das sauber aussieht. Das ist oft nur mässig überzeugend
  2. Die Payload: Der Schadcode

Ich erkläre euch in diesem Artikel, wie ihr einen ganz simplen Angriff nachstellen könnt. Euer Computer wird ein JPG anzeigen, aber in Wirklichkeit haben wir ein kleines Programm, das einfach nur digitec.ch öffnet. Dazu nutzen wir der Einfachheit halber Batch Script, also eine bat-Datei. Nicht, weil Hacker diese besonders gern verwenden, sondern einfach weil jeder Windows-Computer mit ihnen einfach umgehen kann.

  1. Öffne notepad.exe oder den Texteditor deiner Wahl. Ich arbeite mit Brackets
  2. Schreibe diese Zeile in die Datei
    start "" https://digitec.ch
  3. Speichere die Datei als digitec_jpg.bat in deinem hack_the_planet-Ordner

Der Code macht nichts anderes, als deinen Standardbrowser zu öffnen und die Website digitecs aufzurufen. Also nichts Wahnsinniges. Wenn du in der freien Wildbahn oder in deinem E-Mail-Eingang auf bat-Dateien triffst, sei vorsichtig, denn eine URL öffnen ist längst nicht alles, was sie können.

Im Kontext dieser einen bat-Datei aber können wir der Datei vertrauen, da wir sie ja selbst programmiert haben.

Der RTL Override Exploit

Die Technik, die wir heute nutzen, heisst Right-to-Left Override, RTL Override, oder RTLO. Im Wesentlichen weisen wir den Computer an, mitten im Dateinamen die Leserichtung zu wechseln. Dazu brauchen wir ein Sonderzeichen, das die Richtung des Textes ändert. Das ist der RTLO. Der RTLO existiert, da es Sprachen wie arabisch oder hebräisch gibt. Diese werden von rechts nach links geschrieben und gelesen, nicht wie unser Alphabet von links nach rechts.

Am einfachsten geht das mit einem Feature, das von Windows mitgeliefert wird: Der Character Map. Das ist eine Auflistung aller Zeichen, die du mit dem Computer schreiben kannst.

  1. Drücke auf Start
  2. Tippe Character Map
  3. Drücke Enter, wenn nur noch eine Option da steht

Die Character Map zeigt alle Zeichen an, die dein Computer schreiben kann

Zu Beginn ist das ganz einfach. Am Ende soll unsere Datei – aktuell heisst sie digitec_jpg.bat – so heissen: digitec_tab.jpg. Du siehst also schon, wo wir den Text drehen werden. Das Format eines Dateinamens mit RTLO geht so: $filename + RTLO + $echteDateiEndungRueckwarts + $falscheDateiendung

In unserem Fall sieht das so aus:

  • $filename = digitec
  • RTLO
  • $echteDateiEndungRueckwaerts = tab
  • $falscheDateiendung = jpg

Also setzen wir den Dateinamen wie folgt zusammen.

  1. Ins Feld unten an der Character Map tippst du digitec ein
  2. Such aus der Liste der Zeichen den Right To Left Override. Er ist etwas unten bei den ganzen Leerzeichen
     
  1. Gib nun die Zeichenfolge gpj.bat ein
     
  1. Klick auf Copy

Der Dateiname sieht aktuell noch etwas seltsam und verkehrt aus. Das liegt daran, dass der RTLO zwar da ist, aber nicht richtig angezeigt wird. Warum das so ist, kann ich dir auch nicht sagen.

Der Abschluss

Aktuell ist der neue Dateiname, den wir in der Character Map zusammengesetzt haben, in der Zwischenablage. Daher: Zurück in den hack_the_planet-Ordner. Dort liegt die Datei digitec_jpg.bat bereit.

  1. Klick rechts auf digitec_jpg.bat
  2. Wähle Eigenschaften
  3. Den Dateinamen ins entsprechende Feld einfügen
     
  1. OK klicken

Voilà, die Datei sieht nun aus, als ob sie digitec_tab.jpg heisst. Wenn du sie öffnest, dann aktivierst du das obige Script und digitec öffnet sich. Kurz: So können Hacker dir Glauben machen, dass du ein Bild öffnest, aber in Wahrheit führst du Schadcode aus.

«Ja aber», höre ich dich sagen, «das sieht ja sofort jeder, dass das kein jpg ist. Der Dateiname ist nur minimal unkenntlich gemacht!»

Stimmt. In unserem Fall ist es alles offensichtlich, aber das ist auch Sinn der Übung. So kannst du von A bis Z nachvollziehen, was geschehen ist. Aber stell dir vor, die Datei hat einen zufälligen Namen wie «iYYprTjZEETAb.jpg». Solche und ähnliche Namenschemata werden von sozialen Netzwerken und Content Delivery Networks (CDN) verwendet, was oft dazu führt, dass solche Dateinamen nicht hinterfragt werden.

Das geht natürlich nicht nur mit .bat, sondern auch mit einer Vielzahl anderer Dateiformate. Die wohl effektivsten sind:

  • .bat
  • .exe
  • .cmd
  • .com
  • .lnk
  • .pif
  • .scr
  • .vb
  • .vbe
  • .vbs
  • .wsh

Wie kannst du dich schützen?

Der Schutz vor dieser Attacke ist denkbar einfach. Anstatt einfach alles zu öffnen, was dir vorgesetzt wird: Sei misstrauisch. Zudem entdeckst du diese Art Angriff recht schnell, indem du in den Ansichtsoptionen deines Ordners die Ansicht auf «Grosse Symbole» umstellst. Denn da wo sonst ein kleines Preview erscheint, wird das Icon des wahren Dateitypen eingeblendet.

Oder noch besser, aber wesentlich weniger hübsch: Stell die Ansicht auf «Details», weil dein Computer erkennt die Datei als das, was sie ist. Diese Attacke betrügt wirklich nur den User, nicht die Maschine.

Der Computer erkennt das bat problemlos

Ferner hast du Glück: Viele Anti-Malware-Programme filtern diese Dateien automatisch, warnen und das System weigert sich manchmal, den Code auszuführen. Im Falle unserer .bat aber bemerkst du, dass keinerlei Checks gemacht wurden. Darum dieser Artikel.

Trotzdem: Wenn du den umständlichsten Weg aller Zeiten suchst, dir eine Verknüpfung anzulegen, dann kannst du das jetzt mit einem als .jpg getarnten .bat tun.

Des Rätsels Lösung

Oben habe ich im Hauptbild dieser Seite gefragt, ob du die getarnte Schlange siehst. Hier ist sie:

Das könnte dich auch interessieren

User
Journalist. Autor. Hacker. Meine Themen haben meist mit Android oder Apples iOS zu tun. Auch die IT-Security liegt mir am Herzen, denn in unserer Zeit ist der Datenschutz keine Nebensache mehr, sondern eine Überlebensstrategie.

15 Kommentare

User simon.laube

der domi, der alte sombra-main

07.08.2017
Missbrauch melden

Du musst dich anmelden um einen Missbrauch zu melden.

User Anonymous

Apagando las filos typos.

10.08.2017
Missbrauch melden

Du musst dich anmelden um einen Missbrauch zu melden.

Du musst angemeldet sein, um auf einen Kommentar zu antworten.

User computerfurter

Und was soll das ganze bringen, was lerne ich daraus, als Laie?

10.08.2017
Missbrauch melden

Du musst dich anmelden um einen Missbrauch zu melden.

User Dominik Bärlocher

Ich möchte aufzeigen, wie Hacker User austricksen. Und ich will Laien wie dir eine harmlose Bastelmöglichkeit bieten, damit ihr mal etwas Hackerluft schnuppern könnt, zu 100% versteht, wie sowas funktioniert und hoffentlich ein bisschen Spass dabei habt.

11.08.2017
Missbrauch melden

Du musst dich anmelden um einen Missbrauch zu melden.

Du musst angemeldet sein, um auf einen Kommentar zu antworten.

User FlyingDaedalus

Du "kopierst" einen 5 Jahre alten Howtogeek Artikel und bezeichnest dich weiterhin als Hacker?
Wie wäre es mit "original content" ?

14.08.2017
Missbrauch melden

Du musst dich anmelden um einen Missbrauch zu melden.

Du musst angemeldet sein, um auf einen Kommentar zu antworten.

User kebabmix5

Weiss ja nicht ob ichs nicht raff, aber man kann ja die Datei einfach umbenennen, sodass sie am schluss .jpg heisst. Z.B. digitec.jpg

08.08.2017
Missbrauch melden

Du musst dich anmelden um einen Missbrauch zu melden.

User Dominik Bärlocher

Das Ziel meines kleinen Tricks oben ist, dass der Computer das Script ausführt. Wenn du nur die Dateiendung änderst und dann gut ist, dann wird Windows versuchen, die Datei im Image Viewer aufzumachen. Oben zeige ich, wie eine Datei für den Menschen wie ein Bild aussehen kann, für den Computer aber was ganz anderes ist.

Mein Tipp für dich: Probiers aus. Wenn du im Script nur obige Zeile einfügst, dann kann nichts passieren, abgesehen von einer Fehlermeldung. :)

09.08.2017
Missbrauch melden

Du musst dich anmelden um einen Missbrauch zu melden.

User kebabmix5

Ja das ist mir schon klar, habe gerade gemerkt, dass meine variante nur dann geht wenn man bei windows die dateiendungen NICHT sichtbar sind. Da aber dies so standard eingestellt ist bei windows, würde es bei den meistem trotzdem derselbe Effekt haben...
Danke für den Artikel sowieso😀

09.08.2017
Missbrauch melden

Du musst dich anmelden um einen Missbrauch zu melden.

Du musst angemeldet sein, um auf einen Kommentar zu antworten.

User resources

MIME > Dateiendungen. Sorry aber Datei-Endungen sind ein peinlicher Microsoft-Hack :D der Typ wird letztenendes zweimal gespeichert, 1x in der Endung und 1x in der magic number. Der Explorer verlässt sich zu 100% auf die Endung aber die meisten Decoder/Parser nicht. GNU/Linux ist Jahre voraus.

08.08.2017
Missbrauch melden

Du musst dich anmelden um einen Missbrauch zu melden.

Du musst angemeldet sein, um auf einen Kommentar zu antworten.

User roqueriz0r

:( Wäre erfreut über ein bisschen was GRÖBERES.

Das kann jeder Leihe und wer sich 'Journalist. Autor. Hacker.' nennt -> Will was lernen! :D

08.08.2017
Missbrauch melden

Du musst dich anmelden um einen Missbrauch zu melden.

User Dominik Bärlocher

Schön, dass du was lernen willst. Aber wenn du schon Vorwissen hast, dann weisst du bestimmt auch, dass wenn ich jetzt hier etwas aufzeigen würde, das grossen Schaden anrichten kann, dass das grobfahrlässig wäre. Solches Wissen öffentlich zu machen, vor allem an einem Ort wie Digitec, würde zu nichts Gutem auf allen Seiten der Story führen. Hier mache ich Texte für Laien, damit sie etwas Hackerluft schnuppern können. So können alle Techniken nachvollziehen und wissen, wie sie funktionieren.

Also, du suchst was "GRÖBERES", das nicht für "Leihen" ist, dann such bitte woanders. Weil ich werde niemals meinen Lesern Illegales aufzeigen, mit dem sie sich selbst oder andere in Gefahr bringen können. Ich danke dir für dein Verständnis.

08.08.2017
Missbrauch melden

Du musst dich anmelden um einen Missbrauch zu melden.

User MGübeli

Finde ich sehr vernünftig. Finde gut, dass man gleich die Tipps mitliefert wie man einen Hack aufdecken kann.

08.08.2017
Missbrauch melden

Du musst dich anmelden um einen Missbrauch zu melden.

User TheRev

@roqueriz0r, jemand der das so rausposaunen muss, wird dein PC (sofern mit Kennwort geschützt) nicht hacken können.. Ebenso ist das hier kein Code sondern eine batch zeile bzw. eine normale Stapelverarbeitungs-Zeile. Aber naja, den Kiddys scheints zu gefallen ;)
und zum Hacken "lernen" empfehle ich dir mal Kalilinux mit Tutorials..

08.08.2017
Missbrauch melden

Du musst dich anmelden um einen Missbrauch zu melden.

User theneedyguy

Wenn du was lernen willst, besuche 0x00sec. Dort kann man z.B. lernen wie man bootbare Sachen schreibt mit Assembly. Eine coole Community :) Zwischendurch stellen einige User den anderen auch Hacking-Challenges an denen man sich mit seinem Wissen beweisen kann.

08.08.2017
Missbrauch melden

Du musst dich anmelden um einen Missbrauch zu melden.

User pandadriver58

und ganz sicher ist der Autor kein Leihe in Rechtschreibung ;-)

11.08.2017
Missbrauch melden

Du musst dich anmelden um einen Missbrauch zu melden.

Du musst angemeldet sein, um auf einen Kommentar zu antworten.


Bitte melde dich an.

Du musst angemeldet sein, um einen neuen Kommentar zu erfassen.

Corporate logo