As-Exploits v1.4更新

  • aspx新增 内存马 模块
  • aspx新增 内存马管理 模块
  • jsp新增filter内存马
  • jsp内存马管理模块增强,支持filter、servlet(thx: tomcat-memshell-killer项目)
  • 新增 执行自定义payload 模块
  • 解决html渲染中文乱码

新增filter类型内存马。内存马会把自己放到filter的第一位,在遇到shiro框架的时候就不用填写登录Cookie了。

默认支持Tomcat以及Spring。

image.png

image.png

内存马管理模块核心payload移植了tomcat-memshell-killer的代码,是不是看起来更直观了?

image.png

还可以贴心的判断有没有其他人的内存马

image.png

卸载内存马填入Filter name即可

image.png

aspx内存马的核心代码来源于ysoserial.net的GhostWebShell,三好学生的博客中也有提到:https://3gstudent.github.io/%E6%B8%97%E9%80%8F%E6%8A%80%E5%B7%A7-%E5%88%A9%E7%94%A8%E8%99%9A%E6%8B%9F%E6%96%87%E4%BB%B6%E9%9A%90%E8%97%8FASP.NET-Webshell

主要原理是利用了asp.net下虚拟文件的特性

通过ASP.NET的VirtualPathProvider类能够创建虚拟文件,实现以下效果:虚拟文件不存在于服务器的文件系统,但是能够对其动态编译并提供访问服务。ysoserial.netGhostWebShell.cs提供了一种可供学习的利用思路。

可以直接定义要注入的shell内容,默认为普通一句话,当然也可以改成冰蝎哥斯拉之类的

image.png

image.png

连接的时候可以把注入的路径后面加点随机字符串,当作一个文件

image.png

也可以把注入的路径当作一个目录,在目录下面填写随机文件名

要注意的是必须要用.aspx结尾,因为映射的是一个文件,所以要用指定的后缀才能解析。

暂时不支持通配符模式

image.png

内存马注入的payload大部分是抄的

内存马管理部分的payload主要是自己手搓的。研究一下发现VirtualPathProvider主要用到了类似单向链表的结构,不像Tomcat的内存马有一个Config去定义。获取所有组件需要遍历链表,卸载的时候需要修改当前指针指向来删除节点,梦回数据结构课堂。

image.png

卸载指定VPP

image.png

再次获取组件发现内存马已经被删除。

剩下的这个System.Web.Hosting.MapPathBasedVirtualPathProvider是IIS默认组件,删除之后网站会崩,请慎重操作。

image.png

这个功能主要是为了方便调试

在JSP下需要填写base64格式的编译后的class文件

image.png

格式按照https://github.com/AntSwordProject/AntSword-JSP-Template项目去编写即可,这里以baseinfo为例:

image.png

aspx下就直接写jscript代码即可

如果想要调用C#的payload看我博客这篇文章:https://yzddmr6.tk/posts/jscript-load-csharp-assembly/

image.png

直接写php代码

image.png

https://github.com/yzddmr6/As-Exploits