# bypass360 **Repository Path**: cutecuteyu/bypass360 ## Basic Information - **Project Name**: bypass360 - **Description**: bypass360 - **Primary Language**: Python - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-03-15 - **Last Updated**: 2026-03-15 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 远程 Shellcode 加载器项目 本项目演示了一种使用 Python 实现的远程代码执行技术。它包含一个加载器脚本,从远程服务器下载 Python payload 并在内存中执行。该 payload 使用 `ctypes` 分配可执行内存并运行 Windows shellcode。 **免责声明:本项目仅供教育和研究目的。请勿在未经明确授权的系统上使用此代码进行测试。** ## 项目结构 - **`loader.py`**: 客户端脚本,负责从远程服务器获取 payload 并使用 `exec()` 执行。 - **`1.py`**: Payload 脚本。包含 shellcode 以及使用 Windows API (`VirtualAlloc`, `RtlMoveMemory`) 注入并执行它的逻辑。 - **`shellcode_runner_windows.c`**: 原始 C 源代码,作为 shellcode 执行逻辑的参考。 - **`pyproject.toml`** **/** **`uv.lock`**: 使用 `uv` 进行依赖管理的项目文件。 ## 前置要求 - Windows 操作系统(Shellcode 运行器需要在此环境下工作)。 - Python 3.13+ - [uv](https://github.com/astral-sh/uv) 包管理器。 ## 安装 1. 克隆或下载此仓库。 2. 使用 `uv` 初始化项目环境: ```bash uv sync ``` ## 使用方法 ### 1. 服务端设置 您需要在客户端可访问的 Web 服务器上托管 `1.py` 文件。 用于测试时,您可以在项目目录(或 `1.py` 所在目录)启动一个简单的 Python HTTP 服务器: ```bash # 在包含 1.py 的目录中运行 python -m http.server 80 ``` *注意:`loader.py`* *脚本当前配置为请求* *`http://192.168.101.104/1.py`。您可能需要修改* *`loader.py`* *中的 URL 以匹配您的服务器 IP 地址。* ### 2. 客户端执行 使用 `uv` 运行加载器脚本: ```bash uv run loader.py ``` ### 工作原理 1. `loader.py` 向配置的 URL 发送 GET 请求。 2. 它获取 `1.py` 的内容作为字符串。 3. 它使用 Python 内置的 `exec()` 函数在当前进程上下文中编译并执行获取的代码字符串。 4. `1.py`(此时已在运行)使用 `ctypes` 与 `kernel32.dll` 交互: - 通过 `VirtualAlloc` 分配具有 `PAGE_EXECUTE_READWRITE` 权限的内存。 - 通过 `RtlMoveMemory` 将嵌入的 shellcode 复制到分配的内存中。 - 创建指向该内存地址的函数指针并执行它。 ## 技术细节 - **Shellcode**: 项目在 `1.py` 中包含了一个示例 shellcode。在运行之前,请确保您理解该 shellcode 的功能。 - **内存管理**: 脚本处理了内存分配,但在脚本执行期间分配的内存会一直驻留,直到进程退出。 - **AV/EDR**: 这种技术(将代码下载到内存中执行)是绕过静态文件分析的常用方法,但运行时行为(如调用 `VirtualAlloc` 等敏感 API)通常会被 EDR(端点检测与响应)解决方案监控和拦截。
# 免杀效果展示(3月14日) ![免杀效果展示](asset/1.png)