
Malicious PixelCode ist ein Sicherheitsforschungsprojekt, das eine verdeckte Technik demonstriert, mit der ausführbare Dateien in Pixeldaten kodiert und in Bildern oder Videos gespeichert werden können. Ein leichtgewichtiger Loader ruft die Mediendatei ab, rekonstruiert die ursprüngliche Binärdatei und führt sie im Arbeitsspeicher aus. Dieses Projekt hebt unkonventionelle Datenübermittlung hervor.
Malicious PixelCode ist ein Sicherheitsforschungsprojekt, das eine verdeckte Technik demonstriert, um ausführbare Dateien in Pixeldaten zu kodieren und in Bildern oder Videos zu speichern. Ein leichtgewichtiger Loader ruft die Mediendatei ab, rekonstruiert die ursprüngliche Binärdatei und führt sie im Speicher aus. Dieses Projekt zeigt unkonventionelle Datenzustellungs- und Verschleierungsmethoden, die ausschließlich zu Bildungs- und Forschungszwecken dienen.
Diese Forschung wurde von Cyber Security News behandelt: https://cybersecuritynews.com/pixelcode-attack/

[!CAUTION] Wichtiger Hinweis: Dieses Projekt dient ausschließlich Bildungs-, Forschungs- und defensiven Sicherheitszwecken. Die unbefugte Nutzung dieser Techniken kann gegen Gesetze verstoßen und schwerwiegende rechtliche Konsequenzen haben.
Pixel Code ist ein Forschungskonzept, das Binärdaten in Form von visuellen Pixeln darstellt, wobei jedes Pixel einen kleinen Teil der ursprünglichen Datei codiert, indem ausführbare Bytes in eine strukturierte Farbmatrix umgewandelt werden. Die Daten können in Bildern oder Videos gespeichert, übertragen oder eingebettet werden, ohne ihre rohe Form preiszugeben.
Diese Technik wird häufig untersucht, um Datenverschleierung, verdeckte Speicherung und unkonventionelle Kodierungskanäle zu erforschen. Die pixelbasierte Kodierung ermöglicht es Forschern zu analysieren, wie Informationen in Multimedia-Inhalten versteckt und später durch Dekodierungsalgorithmen rekonstruiert werden können.
Sie hilft auch dabei, die Sicherheitsimplikationen des Transports kodierter Daten über gängige Plattformen wie Bild- oder Videoteilungsdienste zu verstehen. Insgesamt konzentriert sich Pixel Code auf die Umwandlung digitaler Dateien in eine visuelle Darstellung, die mit einem entsprechenden Decoder wiederhergestellt werden kann.

Böswillige Akteure könnten Pixel Code möglicherweise missbrauchen, indem sie schädliche Binärdateien oder Skripte in visuelle Daten wie Bilder oder Videoframes kodieren. Durch die Umwandlung von Schadsoftware in pixelbasierte Darstellungen könnten Angreifer versuchen, ihre Payloads als harmlose Multimedia-Inhalte zu tarnen.
Diese kodierten Dateien können dann auf legitime Plattformen wie YouTube hochgeladen werden, was ihnen den Anschein von Vertrauenswürdigkeit verleiht und traditionelle Sicherheitsfilter umgeht.
Ein Loader oder Decoder unter Kontrolle des Angreifers könnte später das Video abrufen und die ursprüngliche schädliche Datei rekonstruieren. Dieses Missbrauchsszenario zeigt, wie unkonventionelle Datenkodierungstechniken neue Angriffsvektoren schaffen und bestehende Erkennungsmechanismen in Frage stellen können.
In diesem Forschungsprozess beginnen wir mit einem C++-Payload, der für die Kommando- und Kontrollkommunikation zuständig ist. Nach der Kompilierung in eine EXE wird die Binärdatei mit einem Python-basierten Tool in einen Pixel Code MP4 umgewandelt. Das generierte Pixel Code-Video wird dann auf YouTube hochgeladen und seine URL wird in einen C++-Loader eingebettet.
Da C++ nicht über die erforderlichen Multimedia-Bibliotheken verfügte, um Pixel Code umzukehren, wurde stattdessen ein Python-Stager verwendet; dieser wurde in eine EXE kompiliert, Base64-kodiert und zusammen mit der YouTube-URL direkt in den Loader eingebettet.
Bei der Ausführung in der Zielumgebung lädt der Loader das Pixel Code MP4 von YouTube herunter und verwendet den eingebetteten Python-Stager, um den ursprünglichen Payload zu rekonstruieren und auszuführen, sodass die Forschungsumgebung letztendlich die Kommando- und Kontrollverbindung über BEAR-C2 wiederherstellen kann.

Dies ist ein heimlicher Windows-Reverse-Shell-Payload, geschrieben in C++, der sich persistent mit einem Kommando- und Kontrollserver verbindet. Er verwendet AES-CBC-Verschlüsselung mit einem fest codierten statischen Schlüssel und zufälligen IVs für die gesamte Kommunikation, authentifiziert sich mit einer eindeutigen Kennung, führt empfangene Befehle über cmd.exe oder PowerShell (bei Präfix "EP") aus, unterstützt die Navigation durch Verzeichnisse, streamt die Befehlsausgabe in Echtzeit mittels längenpräfixierter verschlüsselter Blöcke, läuft ohne sichtbares Konsolenfenster und stellt bei Fehlern automatisch die Verbindung wieder her. Ein voll ausgestatteter, verschlüsselter Remote-Access-Trojaner, der für die Post-Exploitation-Kontrolle entwickelt wurde.

Sobald der Payload kompiliert ist, wird die resultierende EXE mit einem Python-basierten Tool verarbeitet, das speziell dafür entwickelt wurde, Binärdaten in Pixel Code umzuwandeln. Dieses Tool konvertiert die ausführbare Datei in eine visuelle MP4-Darstellung, bei der die binären Bytes als Pixelwerte über Videoframes eingebettet sind.

Nach der Erzeugung der Pixel Code MP4-Datei wird diese als normales Video auf YouTube hochgeladen. Das Hosten der kodierten Binärdatei auf einer legitimen Plattform ermöglicht es der Forschung zu bewerten, wie externe vertrauenswürdige Dienste mit nicht traditionell kodierten Daten umgehen. Die YouTube-Video-URL wird für die nächsten Schritte gesammelt.

Ein benutzerdefinierter Loader, geschrieben in C++, wird vorbereitet, um den Pixel Code von seinem YouTube-Standort abzurufen. Die im vorherigen Schritt erhaltene Video-URL wird direkt in diesen Loader eingebettet, sodass er das MP4 während der Ausführung herunterladen kann.

Da C++ nicht über die erforderlichen Multimedia-Bibliotheken verfügt, um Pixel Code zurück in binäre Form zu dekodieren, wird ein Python-Stager für die Rekonstruktion verwendet. Dieses Python-Skript wird in eine EXE kompiliert und anschließend Base64-kodiert. Der kodierte Stager wird zusammen mit der YouTube-URL direkt in den C++-Loader eingebettet.
Stager.py -> Stager.exe -> base64 -> Loader.cpp -> Loader.exe

Der Python-Stager verarbeitet das heruntergeladene MP4-Video Frame für Frame, extrahiert die kodierten Pixeldaten und rekonstruiert den ursprünglichen C++-Payload im Speicher.

Nach der Wiederherstellung wird der Payload ausgeführt, wodurch letztendlich die Kommando- und Kontrollverbindung mit dem in der Forschungsumgebung verwendeten BEAR-C2-Server wiederhergestellt wird.

Dies dient Forschungs-, Aufklärungs- und Bildungszwecken. Ich bin nicht verantwortlich, falls jemand diese Technik für illegale Zwecke verwendet.