ChenYanXi一个基于 Python 编写的多功能高级壳体生成器

ChenYanXi一个基于 Python 编写的多功能高级壳体生成器

ChenYanXi 是一个专为安全研究人员与红队测试者设计的高级壳体生成框架,基于 Python 实现,融合多层动态加密、控制流扰乱、虚拟机检测、无文件执行等核心技术。

它可以将二进制 Payload(如 .elf.exe)封装为复杂的 Python 壳体,具备强抗分析能力、极低查杀率与多平台兼容性,并可通过 Nuitka 进一步生成高度隐匿的单文件执行程序。

✨ 功能特性

模块
描述
🔐 多层加密 + 压缩
支持最多 18 层 zlib + AES/DES 混合加密
🔑 动态密钥派生
使用 PBKDF2-HMAC-SHA256 加盐密钥衍生,层层不同
🌀 控制流伪装
自动插入无害分支,扰乱程序流程分析
🔎 反沙箱 / 反调试 / 反抓包
检测 VM、调试器、抓包器,一旦命中立即退出
🧱 字符串混淆
所有敏感字符串 chr() 拼接,躲避特征匹配
🧬 内存加载执行
仅加载进 RAM,避免落盘,抗杀软扫描
🗂️ 注册表伪驻留(模拟)
虚拟添加启动项,无真实写入,迷惑分析器

⚙️ 技术原理

🔐 多层加密逻辑

每层执行如下处理:

  1. 原始数据使用 zlib 压缩
  2. 添加伪装字节干扰特征识别
  3. 随机使用 AES 或 DES(CBC)对称加密
  4. 加密结果再 Base64 封装

多达 最多18层嵌套式处理,构建“洋葱壳”,极难逆向。

🔑 密钥派生设计

每层使用独立密钥与 IV,派生方式:

hashlib.pbkdf2_hmac("sha256", secret, salt, 100000, dklen=32)
  • secret 与 salt 均使用 get_random_bytes() 生成

  • 防止密钥重用与静态模式识别

🌀 控制流 + 字符串混淆示例

伪装控制流语句:

if random.random() < 0.99:
    pass  # 控制流噪声

关键字符串混淆(例如注册表路径):

reg_key=chr(83)+chr(111)+chr(102)+chr(116)+...

🔍 沙箱 / 调试检测代码

def is_debugged():
    return ctypes.windll.kernel32.IsDebuggerPresent()

def is_vm():
    return any(x in platform.platform().lower() for x in ["vbox", "vmware", "qemu", "sandbox"])
如命中检测,立即终止执行。

🧬 内存加载执行机制(Windows)

ptr = VirtualAlloc(...)
RtlMoveMemory(ptr, payload, ...)
CreateThread(..., ptr, ...)
  • 全过程运行在内存中
  • 不落地文件,避开大多数杀毒检测

使用命令

usage: chenyanxi.exe [-h] [-l LAYERS] [--no-drop] payload

OR

usage:./chenyanxi [-h] [-l LAYERS] [--no-drop] payload

positional arguments:
  payload               可执行有效负载的文件(例如,shell.exe,shell.elf)

options:
  -h, --help            show this help message and exit
  -l LAYERS, --layers LAYERS
                        加密层(1-18),默认是3
  --no-drop             仅在内存中运行

🚀 使用方法

1. 准备一个二进制 Payload(如.elf.exe),命名为:
shell.elf

shell.exe
2. 运行壳体生成器:
./chenyanxi -l 18 shell.elf

或者

 chenyanxi.exe -l 18 shell.exe
3. 输出结果为免杀壳体脚本:
packed_shell.py

🧰 项目结构

chenyanxi/
├── chenyanxi           # 主生成器脚本
├── shell.elf              # 示例 Payload(二进制)
├── shell.exe
├── chenyanxi.exe
├── ultra_shell.py         # 输出带壳 Python 木马
├── image/                 # 截图目录
└── README.md              # 本文档

🧪 Windows 打包建议(Nuitka)

安装依赖:
pip install pycryptodome psutil nuitka
使用 Nuitka 打包:
nuitka --mingw64 --standalone --onefile packed_shell.py
最终输出:
packed_shell.exe

🧪 Linux 打包建议(Nuitka + UPX)

安装依赖:
sudo apt update
pip install nuitka pycryptodome psutil
sudo apt install patchelf upx makeself
使用 Nuitka 打包:
nuitka --follow-imports --standalone --onefile packed_shell.py
压缩主可执行文件:
strip packed_shell.dist/packed_shell.bin
upx -9 packed_shell.dist/packed_shell.bin
生成单文件运行包:
sudo apt install makeself
makeself --nox11 packed_shell.dist/ packed_shell.run "Packed Shell Installer" ./packed_shell.bin
最终输出:
packed_shell.run  ← 可直接执行,自动解压 + 加载内存木马
结果:

image

image

或者win和Linux可以使用pyinstaller(不推荐):
pyinstaller --onefile packed_shell.py

image

image

📌 注意事项

  • 项目依赖:

pip install pycryptodome psutil nuitka
  • 默认针对 Windows 平台(包含 winregctypes.windll),如用于 Linux 可能有一些未知的问题;

  • 建议搭配 pyarmorobfuscator-llvm 等工具进一步加壳混淆。

github

https://github.com/mingshenhk/ChenYanXi

© 版权声明
THE END
喜欢就支持一下吧
点赞164 分享
评论 抢沙发
头像
超级会员可评论
提交
头像

昵称

取消
昵称表情代码图片快捷回复

    请登录后查看评论内容