aspx、php、jsp内存马使用

一颗小胡椒2022-07-20 11:13:01

0x00 前言

前端时间看到asp的内存马分析,上周又看到jsp内存马技术文章,刚好团队在带新,就简单总结一下三种语言的内存马技术,不会有过多的代码分析、技术解读,以学习内存马基本原理、会实战利用为主。

0x01 jsp内存马

从jsp开始谈,我们要知道Servlet、Filter、Listener是什么?

Servlet(服务程序)是运行在Web请求和服务器上的应用程序之间的中间层,根据请求生成相应的返回信息提供给用户。

Filter(过滤器)是对Servlet技术的一个强补充,其主要功能是在HttpServletRequest(请求)到达Servlet(中间件)之前,拦截、检查、修改其内容;在HttpServletResponse(响应)到达客户端之前,拦截、检查、修改其内容。

Listener(监听器)就是Application、Session和Request三大对象创建、销毁或者往其中添加、修改、删除属性时自动执行代码的功能组件,通过监听器,可以自动触发一些动作,比如监听在线的用户数量,统计网站访问量、网站访问监控等。

举个例子来理解:Listener就是水表,我们的数据经过时会触发计数,Filter就是水管上的开关,通过他的开关可控制数据流向哪里,Servlet就是水龙头,打开厨房的水龙头就是要洗菜,打开浴室的水龙头就是要洗澡,这就是“根据请求生成相应的返回信息”。

因为某抓包工具原因,我们都知道jar运行时可以加“-javaagent”参数来控制jvm执行内容,不过java后来又出现了attach(附加)方式去动态修改运行中的程序,不了解java机制也没关系,这两种方式我们可以这样理解:

javaagent理解为exe程序运行时设置参数,实现修改运行逻辑

attach理解为exe程序运行中修改内存值,实现修改运行逻辑

因此jsp内存马就是attach+Servlet/Filter/Listener的方式,在Servlet/Filter/Listener三者的任意一个中动手脚即可实现

0x02 aspx、php内存马

aspx内存马有三种情况:Filter内存马、Route内存马、HttpListener内存马,对应概念与jsp相同。

asp.net的web应用启动后会自动运行全局的Filters和Routes组件,因此利用他们写内存马直接插入即可,与jsp不同的是,有时需要访问一次上传的文件去触发内存写入。

HttpListener区别较大,类似启动一个简单的Web Server,要System权限才行,可以端口复用,不会留下web日志记录,比起webshell更适合用于权限维持的后门。

php内存马我更愿意叫它不死马,第一种情况是访问文件,使用while一直写文件(运行不停止当然内存一直占用),来达到“不死”的目的;第二种是使用file_get_contents加载远程webshell代码执行,配合unlink(__FILE__)删除自身达到“shellcode不落地”的无文件落地运行目的。

0x03 关于内存马使用

先看php一个标准的不死马,内存驻留循环写文件

查杀效果,当然是一抓一个准,比起免杀一句话,实际上不死马更适合防护弱的目标搞权限维持

将字符串内容换为远程url,对php不死马进行变种,原先使用eval就是内存马,改为使用system就可直接上线cs(powershell command)

查杀效果,比起前面明显隐蔽性更高,更容易被网站管理员忽略

jsp内存马推荐哥斯拉内置的,测试最新版v4.0.1-godzilla(有时出现进入shell失败的情况,多试两次就行),指定内存马路径名称点击run,提示ok表示成功,可以去浏览器访问对应路径

使用servlet管理功能可以看到存在我们指定的内存路径

测试冰蝎Behinder_v3.0 Beta 9 fixed最新版,注入内存马后自动连接,后面图标与正常webshell有所不同,顺便可以看到这些工具都支持流量代理转发了

测试蚁剑内存马插件As-Exploits(可以去插件市场下载或者下载后手动安装

https://github.com/yzddmr6/As-Exploits),推荐去看看插件作者的几篇aspx内存马分析,这次使用Filter方式注入内存马

使用内存马管理功能,看看长什么样

但是访问报错,测试无法利用,看来还是servlet方式稳定一些

最后测试3款工具对aspx内存马的支持,冰蝎不支持aspx内存马

而哥斯拉可以,就是不知道内存马添到哪个路径去了

而它随带几个“土豆”漏洞提权挺实用的

蚁剑的插件也可以,并且能自定义路径,点击exploit后去浏览器访问对应路径无报错

在网站目录没有新文件出现

查看日志文件,和插件作者分析的一样,222.aspx访问记录只有一次,后续对其访问无日志记录

0x04 关于内存马查杀

重启服务均可使内存马失效,当然也有不需要重启的方式,就是去动态卸载。

本来想演示一下jsp和aspx的动态查杀,但是github找的两个网页访问方式查杀文件运行都有错,就算了。

对于php不死马,进程更多是异常发现,在不重启服务器的情况下,可以使用进程条件竞争的方式查杀,查杀循环时间小于木马循环时间即可。

0x05 总结

因为服务器上一些查杀手段,或者云主机的定时扫描,普通webshell免杀难以持久,在实际项目中又没有那么多时间去研究测试免杀,所以开始通过内存马方式隐藏攻击痕迹,不过一句话木马依旧很实用,而比起写内存马,现在更爱直接反弹shell或cs上线的操作,直接从协议层面避开防御措施。

phpjsp
本作品采用《CC 协议》,转载必须注明作者和本文链接
# 此时攻击机已经获取到了bash$ python -c 'import pty; pty.spawn'$ ctrl + z //快捷键。$ fg$ reset //这一步我实测有问题,输了会出问题,不输也没有影响,所以如果输了有问题可以不输。低权限提权首先是信息收集,看一下/proc/version和/etc/*-release,然后在google和Exploit Databas
本工具仅限授权安全测试使用,禁止非法攻击未授权站点??免杀测试腾讯电脑管家:开始时间:2022-5-27 23:40:48扫描用时:00:00:06扫描类型:指定位置杀毒扫描引擎:管家云查杀引擎 管家系统反病毒引擎 管家系统修复引擎 Bitdefender本地查杀引擎 扫描状态:扫描完成
0x00 前言常见webshell管理工具的分析记录,着重在流量侧。0x01 caidao1、配置使用菜刀是一款专业的网站管理软件,用途广泛,使用方便,小巧实用。支持动态脚本[如php/jsp/aspx/asp]的网站!新版antSword的ua也做了随机变换。在内置的rot13编码和解码器下,数据会通过随机变量传递给str_rot13函数,通过变换还原后再交给eval函数执行。
最近参加了一次攻防演练,因为准备不够充分导致结果差强人意,事实证明,没有一个清晰的思路在这个拼手速的时代是干不过人家的,事后重新梳理总结一下。
哥斯拉WebShell免杀生成器
JSON注入入门
2022-04-18 15:09:05
泛星安全团队泛星安全团队第8篇文章声明文章内容为学习记录,请勿利用文章内的相关技术从事非法测试,如因此产生的
今天就聊聊关于上传绕过WAF的姿势,WAF简单的来说就是执行一系列针对HTTP/HTTPS的安全策略来专门为Web应用提供保护的一款产品。上传绕过不算什么技术了,正所谓未知防,焉知攻,先来了解一下网站的防御措施吧!
当我们找到一个rce漏洞却无法反弹shell时,在web路径写webshell用连接工具进行管理会方便的多,本文总结从命令执行到webshell的流程化操作。 寻找web路径
一颗小胡椒
暂无描述