【自研C2-LeekShell】新一代C2详细使用手册

admin 2026-08-05 04:44:33 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: LeekShell是一套面向授权安全测试与红队演练的高级远程管理框架(C2),采用C++Agent与PythonServer架构。核心特性包括双传输模式(TCPAES-256-GCM与WSSoverTLS)、双层加密、两层认证(企业伪装登录页)、动态Payload生成及Web实时控制台。部署简单,支持跨平台,强调加密、隐蔽与易用性。仅供授权测试使用,需遵守法律法规。 综合评分: 84 文章分类: 红队,渗透测试,内网渗透,安全工具,免杀


cover_image

【自研C2-LeekShell】新一代C2详细使用手册

原创

Leek Leek

零界安全

2026年8月4日 08:00 江苏

在小说阅读器读本章

去阅读

01

项目简介

LeekShell 是一套面向授权安全测试与红队演练场景的高级远程管理框架。用最通俗的话讲:它就像一套”远程运维 + 应急响应”的瑞士军刀——安全研究人员把一个小小的”探针”程序(Agent)部署到受控的目标主机上,就能在一个统一的 Web 控制台里查看它的系统信息、执行命令、管理文件与进程,整个过程全程加密,不会被轻易嗅探或识别。

整套框架由两部分组成:

Agent(探针):C++ 编写,体积小、依赖少,可在 Windows / Linux 上运行;Server(控制端):Python 编写,自带 Web 管理界面,随时随地浏览器登录即可操控。

与市面常见的同类工具相比,LeekShell 强调三件事:加密、隐蔽、易用。

02

核心特性一览

我们先把最亮眼的特性用一张表讲清楚,再用大白话逐条解释。

| | | | | — | — | — | | 特性 | 技术实现 | 通俗解读 | | 双传输模式 | TCP(AES-256-GCM)+ WSS(WebSocket over TLS) | 数据链路双保险:既有传统加密 TCP,也能伪装成 HTTPS 的 WSS 流量 | | 双层加密 | TLS 1.2+ + 应用层 AES-256-GCM | 即使流量被截获,攻击者也读不出任何明文 | | 两层认证 | 企业风格登录页 + 暗色 C2 登录页 | 第一层像普通办公系统,防止被自动化扫描器认出是 C2 | | Payload 动态生成 | 二进制补丁技术,支持 PE / ELF | 一个模板,随时生成指向任意地址的新”探针”,无需重新编译 | | Web 实时控制台 | Flask + SocketIO 实时推送 | 浏览器打开即用,Agent 上下线、命令结果实时刷新 | | 多 Agent 并发 | 每 Agent 独立线程/队列 | 上百台主机同时在线互不阻塞,慢命令不影响其他主机 | | 多平台支持 | Windows EXE/DLL + Linux ELF | 跨平台覆盖,一套框架管两种主流系统 | | 免杀与隐蔽 | 纯 Win32 API、无 .NET 依赖、沙箱检测、延迟上线 | 降低被杀软和沙箱判定的概率,行为更接近正常软件 |

03

部署与配置

LeekShell 的控制端是一个独立的可执行文件(Windows 下为 c2_server.exe,Linux 下为 c2_server_linux),无需安装额外环境,上传即可运行。本节详细介绍部署、配置与密码管理的完整流程。

3.1 快速部署

部署过程非常轻量:上传控制端 → 赋予权限 → 启动。服务器会在启动时自动从包内发现 Agent 模板、生成配置、并拉起三个监听通道。

部署完成后,服务器自动创建三类监听通道:

TCP 加密通道(默认 4444)—— Agent 回调与命令传输

WSS 加密通道(默认 8443)—— 可伪装成 HTTPS 的第二传输通道

Web 管理界面(默认 8445)—— 浏览器登录即可操控

3.2 配置文件详解(config.yaml)

服务器的所有行为都由 config.yaml 控制。首次启动时若未找到该文件,服务器会自动生成一份带注释的默认配置。以下是一个典型的配置文件:

各区块的作用,用一张表说清楚:

| | | | | — | — | — | | 配置区块 | 关键字段 | 作用 | | auth | preauth_user / preauth_pass | 第一层(企业伪装)登录凭据 | | auth | login_user / login_pass | 第二层(C2 控制台)登录凭据 | | web | host / port / https | Web 管理界面监听地址、端口、HTTPS | | tcp_listener | port | TCP 加密通道端口(0=禁用) | | wss_listener | port / cert / key / auto_cert | WSS 通道端口与 TLS 证书配置 | | auto_listeners | protocol / port 列表 | 启动时自动创建的监听器 | | server_host | — | Payload 生成器默认回连地址 |

3.3 命令行参数

除了配置文件,所有关键参数都支持通过命令行覆盖。优先级为:命令行参数 > 环境变量 > config.yaml > 默认值。使用 –help 可随时查看完整参数说明:

常用参数示例:

| | | | — | — | | 参数 | 作用 | | -c / –config | 指定配置文件路径 | | -p / –port | TCP 监听端口(覆盖 config) | | –web-port | Web 管理界面端口 | | –wss-port / –wss-cert / –wss-key | WSS 端口与证书 | | –wss-auto-cert | 证书缺失时自动生成 | | –preauth-user / –preauth-pass | 第一层认证凭据 | | –login-user / –login-pass | 第二层认证凭据 | | –server-host | Payload 默认回连地址 |

3.4 修改密码

LeekShell 提供两种修改登录密码的方式,适合不同场景:

方式一(命令行覆盖):适合临时调整,无需改动文件,重启即生效;

方式二(修改 config.yaml):适合永久生效,需重启服务器。

修改后请务必重启服务器使配置生效,并妥善保管新凭据。密码以 PBKDF2 哈希形式存储,不会明文落盘。

04

系统架构

LeekShell 采用经典的三层架构,模块边界清晰,便于二次开发:

浏览器(Web UI) → Flask + SocketIO(认证 / 控制台 / Payload 生成器 / 监听器管理) → 双监听器(TCP 加密通道 / WSS 加密通道) → 多 Agent

各层职责:

| | | | — | — | | 模块 | 职责 | | Web 管理界面 | 暗色终端风格,支持多 Tab 会话、命令历史、事件日志 | | 认证系统 | 两层认证 + Session 管理,密码 PBKDF2 哈希存储 | | Payload 生成器 | 读取模板二进制,搜索配置魔数并写入 C2 地址与端口 | | 监听器管理 | 动态启停 TCP / WSS 监听端口,支持多端口同时监听 | | Agent 处理 | 接收 SYSINFO 信标、命令执行、心跳保活、断线重连 |

05

实战演示:从部署到上线

下面用一套完整的测试流程,展示 LeekShell 从服务器部署、Agent 上线到远程管理的全过程。(演示均在隔离的授权测试环境中进行,相关地址与账号信息已做模糊处理。)

5.1 部署控制端

将编译好的控制端程序上传到服务器,填写一份简单的配置文件,即可启动。启动后自动创建三个监听通道:

TCP 加密通道(Agent 回调)

WSS 加密通道(可伪装 HTTPS)

Web 管理端口(浏览器访问)

5.2 第一层认证:企业风格登录页

打开管理地址,首先看到的是一个标准的”企业办公系统”登录页,没有任何 C2 特征——这正是防指纹设计的第一道伪装。

5.3 第二层认证:进入 C2 控制台

通过第一层校验后,出现暗色主题的 C2 登录界面,输入管理员凭据即可进入控制台。两层登录设计把”防扫描”和”真正的访问控制”分离开来。

5.4 Agent 上线:实时状态总览

登录后主界面清晰展示已连接的 Agent 列表,包括主机名、用户名、操作系统、来源地址与连接状态。顶部实时统计 Active / Total 数量,右侧事件日志记录每一次 Agent 上线与命令下发。

5.5 远程命令执行

双击 Agent 卡片即可打开终端会话。内置命令(sysinfo、ps_list、file_list 等)直接调用 Win32 API,不经过 PowerShell,响应更快更隐蔽;其余任意命令则自动通过 PowerShell 执行并回传结果。

5.6 进程管理

通过 ps_list 可实时查看目标主机的进程清单(PID、名称、线程数、父进程),对安全分析来说,这能快速确认可疑进程。

5.7 任意命令透传

终端不局限于内置命令。例如直接下发 ipconfig,会经由 PowerShell 执行并完整回显网络配置——这意味着任何 PowerShell 能力都能通过控制台远程调用。

5.8 监听器管理

控制台内置监听器管理面板,可实时查看、动态添加与删除 TCP / WSS 监听端口。多个监听器并行工作,满足不同网段的回连需求。

5.9 Payload 动态生成

需要新的”探针”?无需重新编译。在生成器中填入控制端地址与端口,选择格式(TCP EXE / DLL、WSS EXE / DLL、Linux ELF),一键即可生成指向该地址的新 Agent。动态化大大提升了测试效率。

06

为什么值得选择 LeekShell

| | | | — | — | | 维度 | LeekShell 优势 | | 安全合规 | 仅供授权测试使用,内置法律声明,适合安全团队内部演练 | | 部署简单 | 单文件控制端 + 浏览器访问,无需复杂环境 | | 跨平台 | Windows 与 Linux 双端 Agent,一套框架全覆盖 | | 隐蔽性强 | 企业风格登录伪装 + WSS 流量伪装 + 沙箱检测规避 | | 扩展性好 | C++ Agent + Python 服务端,模块化设计,易于二次开发 |

07

七、交流群/维护群

Github已上传最新LeekShell:

https://github.com/littleleeks/LeekShell

尚未进群的师傅,可扫码如下二维码,加我微信,备注“LeekShell”,手动拉你进群。

本工具仅供授权安全测试、教学研究使用。未经授权访问他人计算机系统属于违法行为,使用者须自行承担全部法律责任。请在隔离的测试环境中使用,并遵守所在国家与地区的法律法规。


免责声明:

本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。

任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。

本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我

本文转载自:零界安全 Leek Leek《【自研C2-LeekShell】新一代C2详细使用手册》

评论:0   参与:  0