
Hintergrund
Ein kleiner Hack zwischendurch: Wie du mit MSPaint den Command Prompt öffnest
von Dominik Bärlocher
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.
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.
Voilà, das war’s fürs erste. Gehen wir programmieren.
Jede Attacke eine Hackers dieser Art besteht aus zwei Teilen.
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.
start "" https://digitec.ch
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.
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.
Zu Beginn ist das ganz einfach. Am Ende soll unsere Datei – aktuell heisst sie digitecjpg.bat – so heissen: digitectab.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:
Also setzen wir den Dateinamen wie folgt zusammen.
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.
Aktuell ist der neue Dateiname, den wir in der Character Map zusammengesetzt haben, in der Zwischenablage. Daher: Zurück in den hacktheplanet-Ordner. Dort liegt die Datei digitec_jpg.bat bereit.
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:
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.
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.
Oben habe ich im Hauptbild dieser Seite gefragt, ob du die getarnte Schlange siehst. Hier ist sie:
Journalist. Autor. Hacker. Ich bin Geschichtenerzähler und suche Grenzen, Geheimnisse und Tabus. Ich dokumentiere die Welt, schwarz auf weiss. Nicht, weil ich kann, sondern weil ich nicht anders kann.