Malicious PixelCode 是一个安全研究项目,演示了一种隐蔽技术,将可执行文件编码为像素数据并存储在图片或视频中。一个轻量级加载器获取媒体文件,重建原始二进制文件并在内存中执行。该项目强调了非传统的数据传输方式。
恶意像素码是一个安全研究项目,展示了一种将可执行文件编码为像素数据并存储在图像或视频中的隐蔽技术。一个轻量级加载器检索媒体文件,重建原始二进制文件,并在内存中执行。该项目仅用于教育和研究目的,旨在突出非常规数据传递和混淆方法。
这项研究曾被《Cyber Security News》报道:https://cybersecuritynews.com/pixelcode-attack/

[!CAUTION] 重要提示:本项目仅限用于教育、研究和防御性安全目的。未经授权使用这些技术可能违反法律并导致严重的法律后果。
像素码是一个研究概念,它以视觉像素的形式表示二进制数据,其中 每个像素编码原始文件的一小部分,通过将可执行字节转换为 结构化的颜色矩阵,数据可以存储、传输或嵌入到图像或 视频中,而无需暴露其原始形式。
这项技术常用于研究数据混淆、隐蔽存储以及 非常规编码通道。基于像素的编码使研究人员能够分析 信息如何隐藏在多媒体内容中,随后通过解码算法 重建。
它还有助于理解通过图像或视频分享服务等常见平台传输编码数据的安全影响。总体而言,像素码关注 将数字文件转换为视觉表示,并通过相应的解码器恢复。

恶意行为者可能滥用像素码,将有害的二进制文件或脚本 编码到图像或视频帧等视觉数据中。通过将恶意软件转换为基于像素的 表示,攻击者可能试图将其负载伪装成无害的多媒体 内容。
这些编码文件随后可以上传到 YouTube 等合法平台, 从而获得可信外观并绕过传统的安全过滤器。
攻击者控制的加载器或解码器稍后可以检索视频并重建 原始恶意文件。这种滥用场景凸显了非常规数据编码技术 如何创造新的攻击向量,并对现有的检测机制构成挑战。
在本研究过程中,我们首先使用一个负责命令与控制 通信的 C++ 负载。将其编译为 EXE 后,使用基于 Python 的工具将二进制文件转换为像素码 MP4。 生成的像素码视频随后上传到 YouTube,其 URL 被嵌入到 C++ 加载器中。
由于 C++ 缺乏逆转像素码所需的多媒体库,因此使用了一个 Python 存根;它被编译为 EXE、Base64 编码,并与 YouTube URL 一起直接嵌入到加载器中。
在目标环境中执行时,加载器从 YouTube 下载像素码 MP4,并使用嵌入的 Python 存根重建原始负载并执行它,最终使研究环境通过 BEAR-C2 重新建立命令与控制。

这是一个用 C++ 编写的隐蔽 Windows 反向 shell 负载,能够持续连接回命令与控制服务器,使用 AES-CBC 加密(硬编码静态密钥和随机 IV)进行所有通信,通过唯一标识符进行身份验证,通过 cmd.exe 或 PowerShell(前缀为 "EP")执行接收的命令,支持目录导航,使用长度前缀加密块实时传输命令输出,无可见控制台窗口运行,并在失败时自动重新连接——这是一个功能齐全的加密远程访问木马,专为后利用控制而设计。
一旦负载编译完成,生成的 EXE 通过一个基于 Python 的工具进行处理,该工具专门设计用于将二进制数据转换为像素码。此工具将可执行文件转换为视觉 MP4 表示,其中二进制字节作为像素值嵌入到视频帧中。
生成像素码 MP4 文件后,将其作为普通视频上传到 YouTube。将编码后的二进制文件托管在合法平台上,可以让研究评估外部可信服务如何处理非传统编码数据。YouTube 视频 URL 被收集用于后续阶段。
编写了一个自定义的 C++ 加载器,用于从其 YouTube 位置检索像素码。前一步获取的视频 URL 直接嵌入到该加载器中,以便在执行时下载 MP4。
由于 C++ 缺乏将像素码解码回二进制形式所需的多媒体库,因此使用 Python 存根来处理重建。该 Python 脚本被编译为 EXE,然后进行 Base64 编码。编码后的存根与 YouTube URL 一起直接嵌入到 C++ 加载器中。
Stager.py -> Stager.exe -> base64 -> Loader.cpp -> Loader.exe
Python 存根逐帧处理下载的 MP4 视频,提取编码的像素数据,并在内存中重建原始的 C++ 负载。
一旦恢复,负载被执行,最终与研究设置中使用的 BEAR-C2 服务器重新建立命令与控制通信。
https://github.com/user-attachments/assets/1dcb1570-b116-438e-b826-4ce639a1c13c
此内容仅供研究、意识和教育目的使用。如果有人将此技术用于非法目的,本人概不负责。