新增支持jspjs/aspxcsharp类型
除内存马/内存马管理模块以外,均支持Tomcat10
内存马注入模块更新:
Filter类型:新增PystingerFilter,SorFilter
新增WebSocket类型:CmdWs,CmdBase64Ws,JSPJSWs,JSPJSBase64Ws
不再支持Servlet内存马
内存马管理模块新增Listener、Tomcat-Value、Timer、Websocket 、Upgrade 、ExecutorShell内存马的查杀检测(thx https://github.com/ruyueattention/java-memshell-scanner)
Jar加载器模块内存加载功能BUG修复
ShellCode加载-JNA模块更新,提高兼容性跟稳定性
execPayload模块支持新增额外参数
新增Js引擎执行模块,可用Payload见:https://github.com/yzddmr6/Java-Js-Engine-Payloads
aspxcsharp类型支持回显自定义分隔符
aspxcsharp新增SharpLoader模块,支持内存加载、远程加载Assembly;支持获取已加载过的Assembly,无需重复上传;支持传递命令行参数,自动获取输入输出。
不用多解释
新增4中WebSocket类型内存马:CmdWs,CmdBase64Ws,JSPJSWs,JSPJSBase64Ws 注意Websocket的路径不能填/*内存马管理模块中可以看到已经注入成功通过ws协议直接连接卸载内存马也可以打入cmd类型,通过Chrome插件手动发送命令
增加Listener、Tomcat-Value、Timer、Websocket 、Upgrade 、ExecutorShell内存马的查杀检测 核心代码来自:https://github.com/ruyueattention/java-memshell-scanner
通过Jar加载器-内存加载,上传ext目录下的loader.jar可以通过Js引擎执行功能先试一下看类在不在,发现确实可以查找到ShellCode加载器模块-加载方式JNA,exploit,弹出计算器,也就实现了内存加载ShellCode的功能
具体实现可以看之前写的文章:https://yzddmr6.com/posts/as-exploits-sharploader/ 以Efspotato为例
选择我们要加载的本地文件即可
把exp托管到一个web上,然后填写远程URl地址需要注意的是,这里有一个坑。本来想着可以直接去加载github上面各种编译好的payload,但是发现.net 4好像不支持tls1.2https://stackoverflow.com/questions/47269609/system-net-securityprotocoltype-tls12-definition-not-found那还是自己搭个http的服务吧
在前面通过内存或者URL加载过的程序集,后续都可以通过项目名来反射加载。可以先通过 获取已加载的Assembly 功能来获取之前所有打进去过的项目名,多个结果以|分割填入你想要反射的Assembly的名称,加上要执行的参数,exploit!成功调用 参数内空格分割符:{} 例如需要执行 cmd /c 'net user' 则填写 cmd /c net{}user即可
As-Exploits设计理念之一就是要提供良好的扩展性,这里以 执行自定义Payload 功能举例。虽然插件中内置了一些常见的内存马,但是在实际中我们可能想打入一些别的内存马。这里可以借助pen4uin师傅的JMG项目生成一个蚁剑-Listener内存马 打开JMG,选择内存马类型,中间件类型,设置密码,输出格式选择Base64生成之后把Payload贴进去,执行通过内存马管理模块可以看到已经打进去了一个Listener配置连接的时候别忘了配置敲门的header参数,成功连接