0%
毅种循环

模块 25 - Maldev Academy 工具 - MiniShell

恶意软件开发课程 - Maldev Academy 工具 - MiniShell


模块 25 - Maldev Academy 工具 - MiniShell#

[!IMPORTANT] 本知识库声明

本知识库由本人整理自互联网 MalDev Academy 泄露资源,并由本人手动翻译为中文,过程中增加了大量关键技术提示实践心得

  1. 内容完整性:并未修改任何核心代码与技术逻辑,仅做汉化与注释加强。
  2. 版权归属:原始知识产权归原作者/官方所有。
  3. 支持正版:本仓库仅供内部学习交流,如果您有经济能力,请务必支持正版课程
  4. 权利申诉:如相关内容侵犯了您的权益,请联系我,我将立即核实并删除。

Maldev Academy 工具 - MiniShell#

简介#

这是另一个 Maldev Academy 工具,类似于 HellShell,允许对原始 Payload 进行加密。该工具仅支持 RC4 和 AES 加密。

💡 初学者提示:MiniShell vs HellShell 有什么区别?

HellShell:

  • 支持多种技术(4 种混淆 + 3 种加密)
  • 输出 C 代码格式的数组
  • 适合快速原型开发

MiniShell:

  • 仅支持 RC4 和 AES 加密(最常用的两种)
  • 输出二进制 .bin 文件 + C 解密函数
  • 更适合实际部署场景

选择建议:

  • 学习测试: 使用 HellShell(功能全面,输出即用)
  • 实战部署: 使用 MiniShell(分离数据和代码,更灵活)

工具特性#

MiniShell 具有以下特性:

  • 输出解密函数: 为选定的加密类型输出解密函数代码
  • 二进制输出: 将加密后的字节输出为 bin 文件
  • 随机密钥: 为加密算法随机生成密钥

📚 知识扩展:为什么输出 .bin 文件?

优势:

  1. 分离关注点:
    • 加密数据存储在 .bin 文件中
    • 解密代码存储在 .c 文件中
    • 可以独立管理和分发
  2. 灵活的加载方式:
    • 从磁盘读取(文件加载)
    • 从网络下载(远程加载)
    • 嵌入资源节(.rsrc section)
    • 使用其他混淆技术进一步处理
  3. 体积优化:
    • 二进制文件比 C 数组更紧凑
    • 不需要编译进主程序,减小可执行文件大小
  4. 实战场景:
    恶意软件.exe (10KB)
    ├─ 包含解密逻辑
    └─ 运行时从服务器下载 payload.bin (5MB)
    
    而不是:
    恶意软件.exe (5MB) ← 静态分析更容易检测
    plaintext

使用方法#

                         ###########################################################
                         # MiniShell - Designed By MalDevAcademy @NUL0x4C | @mrd0x #
                         ###########################################################

[!] Usage: C:\Users\User\source\repos\MiniShell\x64\Debug\MiniShell.exe <Input Payload FileName> <Enc *Option*>  <Output FileName>
[i] Encryption Options Can Be :
        1.>>> "aes"     ::: Output The File As A Encrypted File Using AES-256 Algorithm With Random Key And IV
        2.>>> "rc4"     ::: Output The File As A Encrypted File Using Rc4 Algorithm With Random Key
c

💡 初学者提示:参数说明

命令格式: MiniShell.exe <输入文件> <加密选项> <输出文件>

  • 输入文件: 原始 shellcode 二进制文件(如 calc.bin
  • 加密选项:
    • aes - 使用 AES-256 加密(最安全)
    • rc4 - 使用 RC4 加密(更快速)
  • 输出文件: 保存加密后数据的文件名(如 encrypted.bin

输出内容:

  1. 创建加密的 .bin 文件(包含加密数据)
  2. 打印解密函数到控制台(可重定向到 .c 文件)

示例命令#

以下是 MiniShell 的实用示例:

# 示例 1: 使用 RC4 加密,解密函数输出到控制台
.\MiniShell.exe .\calc.bin rc4 encpayload.bin

# 示例 2: 使用 RC4 加密,解密函数保存到文件
.\MiniShell.exe .\calc.bin rc4 encpayload.bin > rc4.c

# 示例 3: 使用 AES 加密,解密函数输出到控制台
.\MiniShell.exe .\calc.bin aes calcenc.bin

# 示例 4: 使用 AES 加密,解密函数保存到文件
.\MiniShell.exe .\calc.bin aes calcenc.bin > aes.c
bash

📚 知识扩展:完整工作流程示例

场景: 创建一个加密的远程 Payload 加载器

实战代码示例:

演示#

下图展示了使用 MiniShell 加密 calc.bin 文件的过程,加密字节被写入 AesCalc.bin,解密函数被保存到 Aes.c

图片
图片


🎯 总结#

在本模块中,我们学习了:

  1. MiniShell 工具: 专注于加密的轻量级工具
  2. 核心功能:
    • 支持 RC4 和 AES 加密
    • 输出二进制加密文件
    • 提供完整的解密函数代码
  3. 使用场景: 更适合实际部署,支持灵活的 Payload 加载方式
  4. 工作流程: 从 shellcode 生成到加载器开发的完整流程

💡 关键要点

  • MiniShell 输出分离的数据文件和代码文件
  • 二进制输出更适合远程加载和资源嵌入
  • 支持最常用的两种加密算法(RC4 和 AES)
  • 每次运行生成随机密钥,增加不可预测性

🎯 HellShell vs MiniShell 对比

特性HellShellMiniShell
支持技术6 种(4混淆+2加密)2 种(纯加密)
输出格式C 代码数组.bin 文件 + C 函数
使用场景快速原型,学习测试实战部署,灵活加载
体积影响增大可执行文件分离存储
灵活性中等高(支持多种加载方式)
学习曲线简单(一步到位)中等(需要额外代码)

🎯 实战建议

何时使用 MiniShell:

  • ✅ 需要从远程服务器加载 Payload
  • ✅ 想要将 Payload 嵌入资源节(.rsrc)
  • ✅ 需要减小主程序体积
  • ✅ 想要动态更新 Payload 而不重新编译

何时使用 HellShell:

  • ✅ 快速测试和开发
  • ✅ 学习不同的混淆技术
  • ✅ 需要混淆而非加密
  • ✅ 一次性部署场景

💡 进阶技巧:组合使用

可以结合两个工具的优势:

# 1. 用 HellShell 进行混淆
HellShell.exe payload.bin uuid > obfuscated.c
# 提取 UUID 数组,去混淆得到二进制数据

# 2. 用 MiniShell 加密混淆后的数据
MiniShell.exe deobfuscated.bin aes final.bin > decrypt.c

# 现在你的 Payload 既混淆又加密了!
bash

📚 下一步学习

现在你已经掌握了两个强大的自动化工具。接下来的模块将教你如何:

  • 本地执行 Payload: 在当前进程中执行 DLL 和 Shellcode
  • 进程注入: 将 Payload 注入到其他进程
  • 远程加载: 从网络下载并执行 Payload

这些技术将让你的 Payload 真正”活”起来!🚀