0xjrx/magnetar

GitHub: 0xjrx/magnetar

Magnetar 是一个针对 Windows 10 64 位的 EDR 绕过型 Shellcode 加载器框架,集合多种高级反检测技术以隐蔽执行恶意载荷。

Stars: 54 | Forks: 10

banner

Version Language Platform Encryption Syscalls Docs

Magnetar 是一个针对 Windows 10 64 位的复杂 Shellcode 加载器框架,具备高级加密与混淆技术、ETW 和 AMSI 修补、进程保护以及通过 Tartarus Gate 实现直接系统调用以规避钩子的功能。 本框架的基础由我 [0xjrx](https://github.com/0xjrx) 在本科论文中开发完成。Magnetar 是其进阶版本,我在业余时间对其进行了调整与重写。该项目仍在开发中,仅供教育用途。由于原始实现能够绕过 Sophos EDR,因此该项目**不包含**关键的系统调用组件(动态哈希/直接系统调用)。 如果您重建或复用 Magnetar,则需要自行提供系统调用模块。 ## 功能特性 ### 加密与编码 - **基于 ASCII 的编码**:基于文本的编码,可降低节区熵值并实现混淆(加密 -> 编码为 ASCII 单词) - **自定义密钥支持**:用户定义的加密密钥,增强安全性 ### 注入技术 - **Early Bird APC**:在进程创建期间进行 APC 注入,通过完整的系统调用混淆实现更好的规避效果 - **Process Hypnosis**:基于调试的注入技术,使用 Hell's Gate 进行内存操作 ### 高级功能 - **PPID 欺骗**:父进程 ID 欺骗,以隐藏进程祖先链 - **进程枚举**:多种目标进程发现方法,并带有回退机制 - **进程保护**:通过修改进程安全描述符实现适当的进程保护 - **反分析**:多种技术以增加逆向工程难度 - **资源嵌入**:嵌入图标和元数据以增强伪装效果 - **ETW 修补**:使用 Hell's Gate 系统调用绕过 Event Tracing for Windows - **AMSI 修补**:使用 Hell's Gate 系统调用绕过 Antimalware Scan Interface - **完整系统调用混淆**:所有关键操作均使用直接系统调用,避免用户态钩子 ### 计划功能 - **模块覆盖(Module Stomping)**:不再将 Shellcode 写入进程地址空间,而是加载一个给定模块并用 Shellcode 覆盖 - **DLL 注入**:目前生成的是 Shellcode 加载器,但 DLL 注入(如反射式注入)可能更为高级,我计划在后续更新中实现 - **证书伪造**:使用伪造证书对二进制文件签名,使其看起来合法 - **堆栈伪造**:不再创建教科书式的 IOC 堆栈帧,而是使用 'SilentMoonWalk' 或 'LoudSunRun' 来伪造调用栈 - **Beacon 功能**:目前支持普通 Shellcode 和 Meterpreter 载荷,我想添加自己的载荷/Beacon,并可能添加睡眠混淆以规避内存扫描 - **BYOVD(自带易受攻击驱动程序)**:利用易受攻击的驱动程序提升权限 - **PE 载荷**:实现加密并通过加载器加载整个 PE 文件的功能 ## 使用方法 ``` python builder.py [options] ``` ### 命令行选项 | 选项 | 可选值 | 默认值 | 描述 | |------|--------|--------|------| | `input` | 文件路径 | - | 输入 Shellcode 文件的路径(例如 `calc.bin`) | | `--encryption` | `ascii` | - | 加密/编码模式 | | `--technique` | `eb`, `hypnosis` | - | 执行技术 | | `--target_process` | 进程名称 | `notepad.exe` | 注入技术的目标进程(并非适用于所有进程,例如 cmd.exe 需要 conhost) | | `--key` | 字符串 | `SecretKey1337` | 自定义加密密钥(5-256 个字符) | | `--spoof` | 进程名称 | `svchost.exe` | 要伪造成父进程的进程(PPID 欺骗) | | `--clean` | 标志 | - | 清理构建产物并退出 | | `--nodebug` | 标志 | - | 生成的二进制文件将不包含输出语句及其字符串 | | `--noetw` | 标志 | - | 启用 ETW 修补(使用 Hell's Gate 系统调用) | | `--noamsi` | 标志 | - | 启用 AMSI 修补(使用 Hell's Gate 系统调用) | | `--antidebug` | 标志 | - | 启用反调试功能 | | `--protect` | 标志 | - | 修改安全描述符以保护进程 | | `--delay` | 整数 | `1` | 程序执行延迟时间(分钟) | ## 项目结构 ``` magnetar/ ├── builder.py # Main build script │ ├── build/ # Generated headers & binaries │ ├── data.h # Encrypted shellcode (generated) │ └── syscalls.h # Generated syscall hashes │ ├── common/ # Python utilities used by builder │ ├── __init__.py # package initializer │ ├── crypto.py # RC4, key encryption routines │ ├── encoder.py # ascii encoding helpers │ └── helper.py # small utility functions (file I/O, etc.) │ ├── include/ # Public C headers (used with -Iinclude) │ ├── crypto/ │ │ ├── decryptor.h │ │ └── rc_crypt.h │ ├── decode/ │ │ └── decode.h │ ├── enum/ │ │ └── enum.h │ ├── patches/ │ │ └── patch.h │ ├── protection/ │ │ └── protect.h │ ├── syscall/ │ │ ├── HellsGate.h # Removed to prevent misuse │ │ └── structs.h # Removed to prevent misuse │ └── util/ │ └── util.h # logging │ ├── src/ # C implementation code │ ├── main.c # Entry point (formerly loader.c) │ └── modules/ │ ├── crypto/ │ │ ├── decryptor.c │ │ └── rc_crypt.c │ ├── decode/ │ │ └── decode.c │ ├── enum/ │ │ └── enum.c │ ├── patches/ │ │ └── patch.c │ ├── protection/ │ │ └── protect.c │ └── syscall/ │ ├── HellsGate.asm # Removed to prevent misuse │ ├── HellsGate.c # Removed to prevent misuse │ └── HellsGate.obj # Removed to prevent misuse │ ├── meta/ # Resources and metadata │ ├── meta.rc # Recourcefile to be compiled with windres, includes metadata for binary │ └── icons/ │ └── chrome.ico # Icon used for metadata config, replace with your own │ ├── calc.bin # Example shellcode payload └── README.md # This file ```
标签:AMSI修补, ASCII编码, DNS 反向解析, Early Bird APC注入, EDR绕过, ETW修补, Process Hypnosis注入, Python, RC4加密, shellcode加载器框架, Tartarus Gate, Windows 10 64位, 中高交互蜜罐, 代码混淆, 元数据提取, 客户端加密, 恶意软件开发, 搜索语句(dork), 教育项目, 无后门, 私有化部署, 端点可见性, 绕过技术, 自定义密钥, 进程保护, 逆向工具, 钓鱼攻击, 钩子绕过, 防御规避, 高交互蜜罐, 高危端口监控