As-Exploits v1.5更新

  1. 新增支持jspjs/aspxcsharp类型
  2. 除内存马/内存马管理模块以外,均支持Tomcat10
  3. 内存马注入模块更新:
    1. Filter类型:新增PystingerFilter,SorFilter
    2. 新增WebSocket类型:CmdWs,CmdBase64Ws,JSPJSWs,JSPJSBase64Ws
    3. 不再支持Servlet内存马
  4. 内存马管理模块新增Listener、Tomcat-Value、Timer、Websocket 、Upgrade 、ExecutorShell内存马的查杀检测(thx https://github.com/ruyueattention/java-memshell-scanner
  5. Jar加载器模块内存加载功能BUG修复
  6. ShellCode加载-JNA模块更新,提高兼容性跟稳定性
  7. execPayload模块支持新增额外参数
  8. 新增Js引擎执行模块,可用Payload见:https://github.com/yzddmr6/Java-Js-Engine-Payloads
  9. aspxcsharp类型支持回显自定义分隔符
  10. aspxcsharp新增SharpLoader模块,支持内存加载、远程加载Assembly;支持获取已加载过的Assembly,无需重复上传;支持传递命令行参数,自动获取输入输出。

不用多解释

image.png

新增4中WebSocket类型内存马:CmdWs,CmdBase64Ws,JSPJSWs,JSPJSBase64Ws 注意Websocket的路径不能填/*

image.png
内存马管理模块中可以看到已经注入成功
image.png
通过ws协议直接连接
image.png
卸载内存马
image.png
也可以打入cmd类型,通过Chrome插件手动发送命令
image.png

增加Listener、Tomcat-Value、Timer、Websocket 、Upgrade 、ExecutorShell内存马的查杀检测 核心代码来自:https://github.com/ruyueattention/java-memshell-scanner

image.png

通过Jar加载器-内存加载,上传ext目录下的loader.jar

image.png
可以通过Js引擎执行功能先试一下看类在不在,发现确实可以查找到
image.png
ShellCode加载器模块-加载方式JNA,exploit,弹出计算器,也就实现了内存加载ShellCode的功能
image.png

具体实现可以看之前写的文章:https://yzddmr6.com/posts/as-exploits-sharploader/ 以Efspotato为例

选择我们要加载的本地文件即可

image.png

把exp托管到一个web上,然后填写远程URl地址

image.png
需要注意的是,这里有一个坑。 本来想着可以直接去加载github上面各种编译好的payload,但是发现.net 4好像不支持tls1.2 https://stackoverflow.com/questions/47269609/system-net-securityprotocoltype-tls12-definition-not-found
image.png
那还是自己搭个http的服务吧

在前面通过内存或者URL加载过的程序集,后续都可以通过项目名来反射加载。 可以先通过 获取已加载的Assembly 功能来获取之前所有打进去过的项目名,多个结果以|分割

image.png
填入你想要反射的Assembly的名称,加上要执行的参数,exploit!
image.png
成功调用 参数内空格分割符:{} 例如需要执行 cmd /c ’net user’ 则填写 cmd /c net{}user即可

As-Exploits设计理念之一就是要提供良好的扩展性,这里以 执行自定义Payload 功能举例。 虽然插件中内置了一些常见的内存马,但是在实际中我们可能想打入一些别的内存马。这里可以借助pen4uin师傅的JMG项目生成一个蚁剑-Listener内存马 打开JMG,选择内存马类型,中间件类型,设置密码,输出格式选择Base64

image.png
生成之后把Payload贴进去,执行
image.png
通过内存马管理模块可以看到已经打进去了一个Listener
image.png
配置连接的时候别忘了配置敲门的header参数,成功连接
image.png