哥斯拉webshell管理工具二开
基于 Godzilla 深度二次开发的WebShell 管理与红队后渗透平台。在保留 Godzilla 全部能力的基础上扩展了MCP 服务AI 驱动、团队协作多数据源、RASP 绕过 字节码多态混淆、内存马注入等能力并提供完整的操作审计。⚠️ 本工具仅供授权的安全测试与研究使用严禁用于任何非法用途。使用本工具产生的任何后果由使用者自行承担。详见文末免责声明.目录核心特性项目结构快速开始使用指南MCP 服务AI 操控配置文件编译与构建常见问题免责声明核心特性1. 双运行模式GUI 模式默认图形化操作界面启动时可选择数据源见下表。MCP 无头模式java -jar gsl5.jar mcp [port] [bindHost]内置 HTTP/SSE 服务供Claude Desktop / Claude Code / Codex等 AI 助手远程调用全部功能。默认绑定0.0.0.0:9123全网卡可指定网卡 IP /127.0.0.1。2. 数据源与团队协作启动时由StartupModeDialog选择数据源模式说明适用场景单机模式本地 SQLitedata.db个人使用团队-远程 SQLiteUNC 共享路径如\\host\share\data.db小团队、内网共享团队-PostgreSQL远程 PG多人共享 Shell 列表 操作审计多人协作core/Db.javaSQLite 持久化层shell/shellEnv/plugin/seting/shellGroup五张表core/MigrateDb.javaSQLite → PostgreSQL 一键迁移工具java -cp gsl5.jar;lib/postgresql-*.jar core.MigrateDb [host] [port] [db] [user] [pass]3. Shell 全功能管理集中管理JSP / ASPX / PHP / ASP / ASP.NET Core多类 WebShell文件管理ShellFileManager浏览目录、上传/下载、删除/复制/移动、改属性、大文件分片续传、从 URL 远程下载到目标命令执行NewCmdWindows 走cmd /c、Linux 走bash支持交互终端数据库工具MySQL / Oracle / SQL Server / PostgreSQL / SQLite执行 SQL、保存常用连接批量连接测试、搜索、克隆、导入导出gsl5://import?data...链接共享配置NetCore 载荷NetCoreDynamicPayloadNETCORE_AES_BASE64面向 ASP.NET Core Middleware 的完整动态载荷文件 / 命令 / SQL / 插件加载4. RASP 绕过与字节码多态混淆RaspBypass 插件命令执行绕过Unsafe.allocateInstanceforkAndExec、JNI 原生执行、新线程 / GC finalize、Tomcat-JNI、ProcessImpl直调、反射关闭后执行RASP 探测与禁用自动识别 OpenRASP / JRASP / Elkeid 等支持禁用 Hook、改配置、卸载 AgentASM 多态混淆RaspBypass.obfuscateModule()上传RaspBypassModule前用 ObjectWeb ASM 注入随机字段名 随机 NOP 指令使每次字节码特征不同规避哈希 / 静态签名检测内存马注入TomcatFilter / Servlet / Listener、SpringController、Jetty、VM Anonymous Class隐蔽性最高5. 插件集插件平台功能TH_TOOLSJava / C#Potato 系列提权EfsPotato / BadPotato / GodPotato / SweetPotato、Shellcode 注入、自定义 PayloadMimikatz通用凭据抓取UseraddJava / C# / 通用添加账号OaToolsJava / C#金蝶 / 致远 / 泛微 / 用友 / Weblogic / vCenter 等专项代理ShellAvscan通用目标安全软件探测RaspBypassJavaRASP 绕过 内存马见上McpService通用应用级内置 MCP HTTP/SSE 服务全局菜单入口支持 Claude / Codex 一键写配置NetCore 插件组.NET CoreRealCmd / PortScan / Zip / HttpProxy / EasySocks / EvalCode / ExecuteAssembly / ShellcodeLoader6. 现代化 UI 与审计FlatLaf 主题、壁纸管理器、透明度调节OperationAuditLog全量操作审计记录谁、何时、做了什么团队模式下可经oplog_query查询项目结构gsl/ ├── src/ │ ├── core/ # 核心框架 │ │ ├── ApplicationContext.java # 全局上下文含 godMode 等 │ │ ├── Db.java # SQLite 持久化层 │ │ ├── MigrateDb.java # SQLite → PostgreSQL 迁移 │ │ ├── OperationAuditLog.java # 操作审计 │ │ ├── shell/ # ShellEntity 等 │ │ ├── shellprocessor/ # ASP/PHP/JSP/C# 编码与变形处理器 │ │ ├── c2profile/ # C2 配置与内存马模板含 .jar/.javax │ │ └── ui/ # MainActivity、StartupModeDialog、 │ │ # ShellFileManager、DataView、WallpaperManager 等 │ ├── shells/ │ │ ├── payloads/ # 各平台动态载荷Java / C# / NetCore 模块 │ │ │ └── netcore/ # NetCoreShell payload_core.dll │ │ ├── cryptions/ # 流量加密JavaAes / JavaC2、csharpAes、phpXor、aspXor、NETCORE_AES_BASE64 │ │ │ └── netcore/ # Middleware 模板 AES Base64 加密器 │ │ └── plugins/ # 增强插件java / csharp / netcore / generic │ │ ├── generic/McpService.java # MCP HTTP/SSE 服务AI 操控入口应用级 │ │ └── netcore/ # NetCore 插件 UI assets/*.dll │ ├── util/ # HTTP、IP 库、工具函数 │ └── data/ # 内置资源av.json、META-INF ├── native/ # RASP 绕过 JNI 源码rasp_bypass_jni.c build_jni 脚本 ├── bin/gsl5.jar # 预编译主程序 ├── KeyGen.java # 授权文件生成器输出 license.lic ├── compile_rasp_bypass.bat/.sh # RASP 模块编译脚本 └── build_all_rasp_bypass.bat # 一键全量编译运行/构建还需外部依赖lib/ASM、PostgreSQL 驱动等bin/okhttp、kotlin-stdlib 等未纳入本仓库。快速开始0. 环境要求JavaJDK / JRE 8 或以上开发机已验证1.8.0_431授权文件license.lic必须存在于运行目录1. 生成授权编译并运行KeyGen.java生成license.lic放到运行目录可设置有效期、绑定目录javac KeyGen.java java KeyGen授权格式GSL1:AES-CBC 密文内含notBefore | notAfter | 绑定目录 SHA256并用 HMAC-SHA256 签名。2. 启动 GUIjava -jar bin/gsl5.jar启动后选择数据源单机 SQLite / 远程 SQLite / PostgreSQL进入主界面。3. 启动 MCP 无头模式AI 操控java -jar bin/gsl5.jar mcp # 默认 0.0.0.0:9123 java -jar bin/gsl5.jar mcp 9999 # 自定义端口仍绑 0.0.0.0 java -jar bin/gsl5.jar mcp 9999 127.0.0.1 # 端口 绑定地址 java -jar bin/gsl5.jar mcp 0.0.0.0:9123 # host:port 写法 java -jar bin/gsl5.jar mcp 192.168.1.10:9123然后在 Claude / Codex 的 MCP 配置中添加详见 MCP 服务。4. 下载预编译 Release3.1.2最新Release GSL 3.1.2 · Xaaaa-bip/GodzillaSuper · GitHubjarhttps://github.com/Xaaaa-bip/GodzillaSuper/releases/download/3.1.2/gsl5.jar3.1.1Release GSL 3.1.1 · Xaaaa-bip/GodzillaSuper · GitHub3.1.0Release GSL 3.1.0 · Xaaaa-bip/GodzillaSuper · GitHub3.0Release GSL 3.0 · Xaaaa-bip/GodzillaSuper · GitHub使用指南以下为GUI 模式的日常操作流程。AI / MCP 操控见下一节 MCP 服务。添加与连接 Shell主界面左侧为Shell 分组树右侧为操作区。菜单 / 右键分组 →添加 Shell填写配置字段对应data.db的shell表字段说明URLWebShell 地址密码 / 密钥secretKey通信密钥PayloadJavaDynamicPayload/CSharpPayload/PhpPayload/NetCoreDynamicPayload等需与目标服务端匹配加密cryptionJAVA_AES_BASE64/JAVA_C2/PHP_XOR/CSHARP_AES_BASE64/NETCORE_AES_BASE64等编码encoding目标控制台编码。MCP 连接时自动从 DB 带入为空/auto时用chcp/locale自动检测并写回Windows 多为 GBKLinux 多为 UTF-8也可shell_detect_encoding请求头 / 左右标志reqLeft / reqRight自定义请求体包裹方式代理 / 超时proxyType/Host/Port、connTimeout、readTimeout备注 / 笔记remark、note保存后双击或右键连接支持测试连接、批量测试、搜索、克隆、导入 / 导出gsl5://import?data...链接共享配置。主要操作标签选中已连接的 Shell 后右侧切换标签NewCmd—— 命令执行。Windows 走cmd /c、Linux 走bash。ShellFileManager—— 文件管理浏览、上传 / 下载、删除、复制、移动、改属性、大文件分片续传、从 URL 远程下载到目标。数据库—— 配置目标库MySQL / Oracle / SQL Server / PostgreSQL / SQLite→ 执行 SQL、管理连接配置。插件—— 右键 Shell → 插件 → 选择功能模块。RaspBypass 插件流程智能诊断opsEnvironment探测目标 OS、进程、已注入 RASP / Agent 指纹给出绕过建议。命令执行选绕过方法 ——Unsafe.allocateInstance forkAndExec绕构造函数监控JNI 原生执行脱离 JVM 监控层需先加载 native 库新线程 / GC finalize切割调用栈破坏上下文检测Tomcat-JNI /ProcessImpl直调 / 反射关闭后执行RASP Disable识别 OpenRASP / JRASP / Elkeid 等 → 禁用 Hook / 改配置 / 卸载 Agent。Memory Shell注入 TomcatFilter / Servlet / Listener/ SpringController/ Jetty / VM Anonymous Class 内存马。RaspBypassModule上传前自动经 ASM 多态混淆随机字段名 随机 NOP规避哈希 / 签名检测。提权与后渗透插件TH_TOOLS—— Potato 系列提权EfsPotato / BadPotato / GodPotato / SweetPotato、Shellcode 注入、自定义 PayloadMimikatz凭据抓取 Useradd添加账号 ShellAvscan探测目标安全软件OaTools—— 金蝶 / 致远 / 泛微 / 用友 / Weblogic / vCenter 等专项代理NetCore 载荷ASP.NET Core面向ASP.NET Core Middleware的完整动态载荷不是传统 aspx类型名称PayloadNetCoreDynamicPayloadCryptionNETCORE_AES_BASE64入口ASP.NET Core Middleware.cs能力payload_core.dll/ 类名LY会话test/close、基础信息、文件管理、命令执行、SQL目标进程需已加载对应 DbProviderFactory、插件include加载。插件src/shells/plugins/netcore/RealCmd / SuperTerminal / PortScan / Zip / HttpProxy / EasySocksProxy / InlineExecuteAssembly / EvalCode / ShellcodeLoaderWindows。未移植强依赖 System.Web / 域提权的 MemoryShell、Potato 等。使用步骤生成PayloadNetCoreDynamicPayload加密器NETCORE_AES_BASE64将生成的 Middleware 放入 ASP.NET Core 项目app.UseMiddlewareGslCoreShellMiddleware();添加 Shell密码密钥一致后连接打开 Shell 后插件页可见 NetCore 功能源码说明见src/shells/cryptions/netcore/README.md。团队协作PostgreSQL 模式启动选 团队-PostgreSQL → 多人共享同一 Shell 列表 → 所有操作自动写入审计日志MCP 可经oplog_query查询GUI 经操作审计面板查看。从单机迁到团队库可用MigrateDb一键迁移。MCP 服务AI 操控入口与绑定GUI菜单配置 → MCP 服务若无配置菜单则 fallback 到插件菜单。面板约 780×520支持绑定地址 / 端口 / 启动 / 停止。CLIjava -jar gsl5.jar mcp [port] [bindHost]也支持host:port写法。默认绑定0.0.0.0:9123全网卡可改为127.0.0.1或指定网卡 IP。启动后日志类似[MCP] 服务已启动 bind0.0.0.0:9123并提供可访问 URL 列表。一键写入 Claude / Codex 配置GUI 面板第二行按钮写入目标写入全部配置Claude Code Claude Desktop Codex写入 Claude~/.claude/mcp.json、项目mcp.json/.mcp.json、Claude Desktopclaude_desktop_config.json写入 Codex~/.codex/config.toml→[mcp_servers.gsl5]也可经 MCP 工具mcp_configclientclaude|codex|allwritetrue可选host/outputPath。Claude 配置示例{ mcpServers: { gsl5: { type: sse, url: http://127.0.0.1:9123/sse } } }Codex 配置示例[mcp_servers.gsl5] type sse url http://127.0.0.1:9123/sseEncoding 自检连接 / 执行时自动处理远程控制台编码显式encoding参数 → 强制使用auto或 DB 为空 → 探测chcp/locale并写回 DBDB 已有值 → 使用 DB 值并做冷连接校验缓存命中不重复探测auto/shell_detect_encoding可用工具shell_detect_encoding主动探测并写回。可用工具以源码McpService.java为准分类工具说明Shell 管理shell_list列出所有 Shell可按分组过滤shell_get获取单个 Shell 完整配置shell_add/shell_edit/shell_delete增 / 改 / 删 Shellshell_clone克隆 Shellshell_backup备份 Shell 列表查询 / 批量shell_count按分组统计shell_search关键词搜索shell_batch_test批量测试连接远程探测shell_info远程系统信息OS / 用户 / 目录shell_test测试单条连接shell_detect_encoding探测远程控制台编码并写回 DBprocess_list列出进程net_info网络连接信息命令执行shell_exec执行系统命令encoding支持 GBK/UTF-8/auto文件操作file_list列目录file_read读文件自动判断文本 / 二进制file_search/file_roots按名搜索 / 列文件系统根目录file_upload_local/file_download_local本机路径直传 / 直存不经 AI 中转file_delete/file_copy/file_move删 / 复制 / 移动file_mkdir/file_attr建目录 / 设属性权限 / 时间戳file_remote_down从 URL 远程下载到目标数据库db_exec执行 SQLdb_list_types/db_configs列支持的库类型 / 管理连接配置Payload / 生成payload_list列出所有载荷与加密器含 NetCoreshell_create生成 Shell 文件可指定cryption、genFile、c2Profile、obfuscationc2profile_list/c2profile_get列出 / 获取 C2 配置环境shell_env读取 / 设置 Shell 环境变量导入导出shell_export/shell_import导出 / 导入gsl5://链接设置settings_get/settings_set读 / 改应用设置配置config_read/config_write读 / 写config.yamlMCP 管理mcp_status服务状态绑定地址 / 可访问 URLmcp_config生成 / 写入 Claude 或 Codex 配置client/write/host审计oplog_query查询团队操作日志shell_create的obfuscation参数默认default不启用增强传其它值会写入godMode设置启用增强传输模式。C2 模板可通过c2profile_list查询指定c2Profile参数可避免弹 UI 选择框。典型工作流1. 启动 GSL5 MCP 服务GUI 面板或 mcp 无头 2. 写入 Claude / Codex 配置并连接 SSE 3. shell_list / shell_detect_encoding → 查看 Shell 并校正编码 4. shell_exec → 在目标执行命令 5. file_list/file_read → 浏览、读取文件 6. db_exec → 查询数据库 7. oplog_query → 回溯操作审计配置文件运行时读取/写入的文件位于运行目录非源码仓库内容文件说明license.lic授权文件格式GSL1:AES-CBC 密文由KeyGen.java生成可绑定目录 有效期data.dbSQLite 数据库存储 Shell 配置 / 插件 / 环境变量 / 设置 / 分组config.yaml运行配置MCP 端口、认证、团队 PG 连接等config.yaml结构示例请替换为你的真实连接信息server: port: 9123 # MCP HTTP 服务端口 auth: enable: false # 是否启用 MCP 认证 password: mcp: enable: true # 是否启动 MCP 服务 database: # 团队 PostgreSQL仅团队模式使用 host: 127.0.0.1 port: 5432 database: gsl5 username: gsl5 password: your-password编译与构建⚠️ 源码默认GBK编码McpService.java为 UTF-8。编辑 GBK 文件时避免用会重编码为 UTF-8 的工具纯 ASCII 改动建议用sed。# 1) 编译核心源码GBK javac -encoding GBK -cp lib/*;bin/* -d out/production/gsl5 \ src/core/**/*.java src/shells/**/*.java src/util/**/*.java # 2) 编译 MCP 服务UTF-8依赖已编译的核心 javac -encoding UTF-8 -cp lib/*;bin/*;out/production/gsl5 \ -d out/production/gsl5 src/shells/plugins/generic/McpService.java # 3) 编译 RASP 服务端模块 compile_rasp_bypass.bat # Windows ./compile_rasp_bypass.sh # Linux/macOS # 4)可选编译 JNI 库 —— 自定义原生绕过 cd native build_jni.bat win-x64 # 或 build_jni.sh linux-x64 # 5) 打包 cd out/production/gsl5 jar cf gsl5.jar *更新已有 jar 中的单个 class免重新打包jar uf out/artifacts/gsl5_jar/gsl5.jar shells/plugins/generic/McpService.class构建产物输出到out/production/gsl5/class与out/artifacts/gsl5_jar/gsl5.jarjar。lib/ASM、PostgreSQL 等与bin/okhttp、kotlin-stdlib 等依赖需自行准备。常见问题Q启动报License invalidA确保license.lic在运行目录且未过期用KeyGen.java重新生成。QMCP 连接失败A检查绑定地址与端口默认0.0.0.0:9123是否被占用、防火墙是否放行确认 Claude / Codex 配置的 URL 与实际可访问地址一致。本机客户端可用127.0.0.1跨机需写网卡 IP 并用mcp_config/写入配置生成对应 URL。QShell 连接超时A检查目标 URL 是否可达Payload / 加密方式是否与目标服务端匹配。Q中文乱码A目标输出默认 GBKWindows/ UTF-8Linux可在 Shell 配置中设置encoding或用 MCPshell_detect_encoding/encodingauto自动探测写回。QNetCore 载荷怎么用A生成时选NetCoreDynamicPayloadNETCORE_AES_BASE64把 Middleware.cs挂进 ASP.NET Core 管道UseMiddleware不是上传 aspx。纯文件上传默认不能当 aspx 用。Q团队模式连不上数据库APostgreSQL 需允许远程连接pg_hba.conf确认用户名密码正确先用StartupModeDialog的 Test Connection 验证。Q如何绕过目标上的 RASPA用RaspBypass插件先自动探测识别 RASP 类型再选对应绕过方法JNI 原生执行 / UnsafeforkAndExec 等模块上传自带 ASM 多态混淆。免责声明本工具仅供安全研究和授权测试使用严禁用于任何非法用途。使用本工具产生的任何后果由使用者自行承担。所有操作会被审计日志完整记录。