Malware mit Barcodes und Excel in abgeschottete Netze einschleusen

Ein Hacker bringt Malware auf einem Umweg in Netzwerke, bei denen weder USB noch optische Laufwerke oder Netzwerktransfers funktionieren. Er verwandelt die Software in 2D-Barcodes, die er dann mit Excel wieder in ausführbaren Code verwandelt.

In Pocket speichern vorlesen Druckansicht 96 Kommentare lesen
Malware mit Barcodes und Excel in abgeschottete Netze einschleusen
Lesezeit: 3 Min.
Von
  • Uli Ries

Einen raffinierten Weg für eine Insider-Attacke hat ein Hacker namens Mike auf der Sicherheitskonferenz Def Con demonstriert; den nötigen Quellcode will er in Kürze auf Github veröffentlichen. Mike suchte nach einem Weg, quasi beliebige Binärdateien auf eine Windows-Arbeitsstation zu bekommen, bei der USB-Anschlüsse und optische Laufwerke physisch blockiert oder per Software überwacht wurden. Datentransfers waren nicht möglich, da der hier aktive Kontrollmechanismus nicht unter Kontrolle des Hackers beziehungsweise dessen Funktionsweise unbekannt war.

Nachdem auf dem Rechner Microsoft Excel mit aktivierbaren Entwicklertools (Datei / Optionen / Menüband anpassen) installiert war, erdachte der Hacker einen Umweg über Visual Basic for Applications (VBA): Er programmierte ein Skript, das Excel in einen Encoder/Decoder für Hex-Code verwandelt. Den Quelltext des Skripts druckte er aus – bewährt habe sich die Schrift Consolas in 8 Punkten, ohne Einrücken der Zeilen – und scannte ihn mit einem Multifunktionsgerät ein. Dann ließ er die PDFs durch eine Buchstabenerkennungs-Software (OCR) laufen. Per Copy & Paste in den VBA-Editor stand der Code dann zur Verfügung.

Auf diese Weise konnte Mike pro gedruckter Seite gut 3,6 KB – inklusive einer 2-Byte-Checksumme pro Zeile – Hex-Code auf den Rechner schaufeln. Angesichts von Umfängen wie 835 KB für Powersploit (232 Seiten) oder 538 KB für Mimikatz (150 Seiten) nicht wirklich praktikabel. Zumal die OCR-Software gerne auch mal Fehler wie den Austausch einer 1 durch ein l oder einer 8 durch ein B produzierte.

Um die Datendichte zu erhöhen und die Fehlerrate zu senken, experimentierte der Hacker mit 2D-Barcodes, die er durch seine Excel-VBA-Erweiterung einlesen lies. Die besten Ergebnisse erzielte er, wenn er die Barcodes mit Hilfe der Reed-Solomon-Fehlerkorrektur erzeugte. Die Fehlerrate sank dann auf deutlich unter ein Prozent und er konnte pro Seite 47 KB unterbringen. Die Fehlerkorrektur frisst zwar gut 45 Prozent der Nutzdaten, macht dem Hacker zufolge allerdings nervtötendes Korrigieren einzelner Hex-Code-Zeilen von Hand weitgehend überflüssig.

Für sein Proof of Concept verwandelte Mike nur einen Teil von Powersploit in Barcodes, um den Umfang zu reduzieren. Per se lässt sich aber jegliche Binärdatei auf diesem Weg transportieren, so der Hacker. Um die Effizienz seines Skripts zu erhöhen will er künftig mit Vierfarb-Barcodes arbeiten und die Fehlererkennung weiter hin verbessern. Auf Nachfrage von heise Security will Mike den Quelltext in den kommenden Tagen auf Github veröffentlichen. (fab)