Hacker-Tricks auf der Black Hat 2016

Malware verstecken in signierten Windows-Dateien

08.08.2016 von Simon Hülsbömer und Lucian Constantin
Einem IT-Sicherheitsforscher ist es gelungen, Malware in Windows-Systemdateien zu verstecken, ohne deren Signatur zu verändern. Macht diese Technik Schule, ist das signaturbasierte Virenscanning am Ende.

Dank einer neuen Technik können Angreifer Schadcode innerhalb digital signierter Windows-Dateien verstecken, ohne an diesen Signaturänderugen vornehmen zu müssen - anschließend lässt sicht der Schadcode direkt in den Arbeitsspeicher eines anderen Prozesses laden. Diese Angriffsmethode wurde von Tom Nipravsky entwickelt, einem Forscher des IT-Security-Anbieters Deep Instinct, und auf der Black Hat Security-Konferenz in Las Vegas vorgestellt. Sie könnte ein wertvolles Werkzeug für Kriminelle und Cyberspione werden, um Virenscanner und andere Sicherheits-Tools auszutricksen.

In der Vergangenheit wurde Malware bereits in Bilddateien versteckt - Nipravsky gelang es nun, auf der Basis der dahinterstehenden Datei-Steganographie, Schadcode in digital signierten Dateien unterzubringen. Das ist entscheidend - Dateien digital zu signieren ergibt nämlich gerade dann Sinn, wenn garantiert werden soll, dass die Datei von einem ganz bestimmten Entwickler stammt und nicht auf dem Weg zum Empfänger durch jemand anderen verändert wurde.

Der Datei-Header lässt sich editieren

Wird eine ausführbare Datei signiert, werden die Signaturinformationen im Datei-Header in der sogenannten "Attribute Certificate Table" (ACT) gespeichert. Die ACT spielt bei der Berechnung des Datei-Hashwertes hingegen keine Rolle - die Signaturinformationen werden ausgeklammert, wenn die Zeichenfolge erstellt wird, die den Dateiinhalt in kryptografischer Form repräsentiert. Das ist sinnvoll, weil die digitale Signatur im Moment des Signierens kein Teil des originären Files ist. Sie wird lediglich später ergänzt, um zu belegen, dass die Datei so konfiguriert ist, wie ihr Ersteller es vorgesehen hat.

Der große Nachteil dieses Vorgehens ist jedoch, dass Angreifer Informationen oder auch komplette Dateien in die ACT schreiben können, ohne den Hashwert zu verändern und die Signatur aufzubrechen. Lediglich die Dateigröße ändert sich - und diese wird von MicrosoftsAuthenticode-Technik nur unzureichend geprüft, wenn eine Signatur verifiziert wird. Denn: Auch die vorgesehene Dateigröße wird im Datei-Header festgelegt und zwar an drei verschiedenen Stellen, von denen sich zwei anpassen lassen - ebenfalls, ohne die Signatur zu verändern. Lediglich die dritte Position ist unveränderbar - aber gerade diese bezieht Authenticode eben wegen ihrer Unmodifizierbarkeit nicht mit in die Prüfung ein. Würde die dritte Stelle mit abgeprüft, würde die abweichende Dateigröße sofort auffallen - trotz intakter Signatur. Laut Nipravsky handelt es sich hier um einen Fehler in der Authenticode-Designlogik.

Wer den Datei-Header an den richtigen Stellen manipuliert, kann Schadcode ungesehen in ein Windows-System schleusen.
Foto: Ton Snoei - shutterstock.com

Schadcode, der der ACT hinzugefügt wurde, wird nicht in den Arbeitsspeicher geladen, wenn sich die veränderte Datei in der Ausführung befindet, weil er Teil des Datei-Headers und nicht des Datei-Bodys ist. Die ACT dient vielmehr als Versteck, um Schadcode an Security-Programmen vorbeizuschleusen. Beispielsweise könnten Angreifer ihren Schadcode über von Microsoft signierte Systemdateien oder eine Office-Datei auf ein Client-System bringen - alle Signaturen wären weiterhin gültig und die betroffenen Dateien voll funktionsfähig. Damit nicht genug: Die meisten Virenscanner würden die Dateien sogar ohne Prüfung passieren lassen, weil sie eben von Microsoft selbst signiert wurden und ein möglicher "False Positive"-Befund in diesem Bereich schnell zum Systemcrash führen könnte.

Versteckter Angriff via PE-Fileloader

Wie lassen sich aber nun schädliche Codezeilen oder ausführbare Malware möglichst unbemerkt in signierten Dateien unterbringen? Dazu analysierte Nipravsky den Hintergrund-Prozess, den Windows ausführt, wenn es PE-Dateien (Portable Executables) in den Arbeitsspeicher lädt, per Reverse Engineering. Diese Prozedur ist bislang nicht öffentlich dokumentiert, weil sich Entwickler bei der Dateiausführung grundsätzlich auf das Betriebssystem verlassen.

Vier Monate voller Acht-Stunden-Arbeitstage später hat Nipravsky einen sogenannten "reflective PE Loader" erstellt - eine Anwendung, die Portable Executables direkt in den Systemspeicher hieven kann, ohne Spuren auf der Festplatte zu hinterlassen. Weil der Loader den exakt gleichen Prozess wie Windows verwendet, ist es für Security-Programme schwieriger, sein Verhalten als verdächtig zu erkennen. Der PE-Loader lässt sich als Teil eines versteckten Angriffs nutzen, bei dem ein Drive-by-Download-Exploit eine Malware im Arbeitsspeicher ausführt. Anschließend wird eine mit ACT-Schadcode versehene digital signierte Datei heruntergeladen und die Malware direkt in den Arbeitsspeicher weitergegeben.

Nipravsky testete den PE Loader gegen zahlreiche Security-Lösungen - überall gelang ihm die Ausführung von Schadcode, den diese Produkte normalerweise erkennen würden. In einer Demo auf der Black Hat fügte er der Header einer digital signierten Datei bekannte - und im Regelfall geblockte - Ransomware hinzu und führte diese mit dem PE Loader problemlos aus. Erst, als sämtliche Daten der Festplatte verschlüsselt waren und die Lösegeldforderung auf dem Bildschirm erschien, schlug die Security-Software an - viel zu spät.

Nipravsky wird den PE Loader eigenen Angaben zufolge nicht veröffentlichen - das Missbrauchspotenzial sei zu hoch. Talentierte Hacker sollten aber trotzdem in der Lage sein, eine solche Software zu programmieren, wenn sie bereit sind, den gleichen Aufwand hineinzustecken wie der Sicherheitsforscher von Deep Instinct. Und selbst ohne PE Loader könnten Kriminelle immer noch manuell die Attribute Certificate Tables von signierten Dateien manipulieren, um dort Schadcode zu verstecken und diesen in fremde Netze einzuschleusen.

Retro-Malware: Best Of
Platz 10: Yankee Doodle
Dieser DOS-Virus tauchte zum ersten Mal im Jahr 1990 auf - geschrieben wurde er von einem bulgarischen Hacker. Der Virus setzte sich im Speicher fest und infizierte dort .com- und .exe-Files. Bekannt wurde er in erster Linie wegen seines Soundeffekts: einmal auf dem System, spielte er jeden Tag um 16 Uhr "Yankee Doodle". Nervte bestimmt überhaupt nicht.
Platz 9: Mars Land
Das Alleinstellungsmerkmal dieses MS-DOS-Virus, der sich im Jahr 1997 über Newsgroups verbreitete, ist die coole - wenn auch etwas primitive - topographische Karte des Mars.
Platz 8: Hymn
Wenn sich diese DOS-Malware per Download ihren Weg ins System gebahnt hatte, wartete der SChädling zunächst bis zu einem (einstellbaren) Zeitpunkt ab, nur um dann Daten auf dem Bootsektor zu vernichten. Um der ganzen Sache einen Hauch von Klassenkampf zu verleihen, wurde zeitgleich die Hymne der ehemaligen UdSSR abgespielt. Dabei war Hymn eine ernsthafte Bedrohung und konnte die Rechner seiner Opfer unbrauchbar machen, ohne dass dazu besondere Tools nötig gewesen wären.
Platz 7: LSD
Dieses unheilvolle Werk kam in Form eines Woodstock-esken Videos auf die Rechner seiner arglosen Opfer. Während diese staunend versuchten, sich während des Hippie-Videos selbst zu finden, überschrieb der Arbeitsspeicher-unabhängige Virus sämtliche Files im betroffenen Verzeichnis. Gekrönt wurde das Ganze mit der Text-Message "Coded By Death Dealer 4/29/94".
Platz 6: Casino
Dieses diabolische Exemplar ist ganz offiziell Mikko Hypponens Lieblings-Exponat im Malware Museum. Bei Befall war auf den Rechnern der Opfer folgende Nachricht zu lesen: "I have just DESTROYED the FAT on your disk!! However, I have a copy in RAM and I'm giving you a last chance to restore your preciuos data." Im Anschluss durften Betroffene fünf Runden "Jackpot" spielen - mit der vermeintlichen Chance, ihre Daten zu retten. Allerdings machte Casino in den meisten Fällen Ernst und zwang die Nutzer, ihr Betriebssystem neu aufzusetzen.
Platz 5: Walker
Dieser DOS-Virus war - abgesehen von Pornobildchen in manchen Varianten - relativ harmlos. Auf die Schundbildchen zur Einführung folgte der "Walker" - ein animiertes Männchen, dass alle 30 Sekunden von rechts nach links durchs Bild läuft. Bei dem Pixeltypen handelte es sich übrigens um einen Charakter aus einem längst vergessenen Videospiel namens "Bad Street Brawler". Effekt: Während sich der Kerl über den Screen bewegte, war keine Dateneingabe möglich.
Platz 4: Crash
Über diesen DOS-Virus ist relativ wenig bekannt - außer dass er mit Vorliebe .com-Files befiel. Seine Popularität unter den Malware-Museum-Exponaten verdankt er in erster Linie seinem spektakulären optischen Auftritt: Der Bildschirm füllte sich mit schwachsinnigen Zeichenfolgen und Netzhautablösungs-affinen Farben - nur zum Zweck, die betroffenen Nutzer in möglichst ausufernde Panik zu versetzen. Das bunte Happening auf dem Screen konnte man übrigens mit der Tastenkombi STRG + ALT + ENTF anhalten - nur um dann zu erfahren, dass alle Dateien kurzerhand gelöscht wurden.
Platz 3: Skynet
Dieses beängstigende Stück Malware ließ sich vom Arnold-Schwarzenegger-Blockbuster "Terminator" inspirieren. Einmal im System, infizierte der Schadcode postwendend sämtliche .exe-Dateien und sorgte für dramatische Slowdowns. Wenig später begrüßte eine schicke gelbe Textmessage auf unverfänglichem roten Grund betroffene User: "Don't be afraid. I am a very kind virus." - zumindest vernichtete Skynet keinerlei Daten. Nervig dürfte der Virus für Betroffene trotzdem gewesen sein.
Platz 2: CoffeeShop
Dieser - vermutlich in Schweden programmierte - DOS-Virus wurde erstmals 1992 entdeckt. Er verpasste infizierten Files den Textstring "CoffeeShop" und vervielfältigte sich selbst. Mehr nicht. Besonders populär dürfte der Oldschool-Schädling in den Download-Charts des Malware Museums wohl wegen seines aussagekräftigen Designs sein.
Platz 1: A&A
Der beliebteste Retro-Virus heißt A&A, infizierte .com-Files und änderte Zeit und Datum auf dien Zeitpunkt der Infektion. Auf visueller Ebene beschränkte sich der Virus darauf, seine Opfer mit diversen, beängstigenden Screens. Erstmals tauchte der vermutlich in Russland programmierte DOS-Virus im Jahr 1993 auf. Die Erklärung für die Popularität im Malware-Museum? Unbekannt. Entweder hat es nostalgische Gründe oder es liegt daran, dass die Oldschool-Viren in alphabetischer Reihenfolge geordnet sind.