文章首发于t00s
前言
在一次红队打点过程中,遇到一稍微曲折的任意文件上传漏洞。在这做个详细记录。
信息收集
收集目标资产UAT环境下的域名,可更快寻找到脆弱点。
image.png全端口扫描该域名对应的IP地址。
image.png依次访问以上端口并dirsearch扫描目录。
任意文件上传
在开放的8066端口上扫描到config.js
image.png根据config.js提示上传的服务端为http://xxx-uat.xxx.com/up6
访问该目录存在目录遍历漏洞。
依次访问发现文件上传管理器。
image.png抓取上传的数据包。
image.png竟然是一个GET请求。
PS:这里矛盾了好久,一直在找上传数据包内容的POST数据包,以至于忽略了这个数据包。
解码一下返回包。
系统的绝对路径赫然显示。
那该文件存放的路径怎么才能访问到呢?
寻找路径
在前期收集up6路径时,发现该文件上传是第三方公司开发的,查找官方文档也未找到对应的路径。
image.png忽然想起最开始的config.js里的fileserver所对应的8077端口,猜想会不会文件存放后是在8077端口访问的。
dirsearch扫描8077端口。
看到attachments目录想起了刚才解码的数据包里存在的绝对路径也有attachments目录。
将解码路径和8077端口访问的attachments目录拼接,就可正常访问。
重新上传冰蝎木马,shell就到手了。
image.png提权
查看当前权限为IIS权限。
image.png查看服务器为server 2012 ,存在java环境变量。
想到将木马上传到运行java的服务上就可以提权为administrator。
搭建代理访问本地的8168端口。
image.png上传jsp木马,成功提权为administrator。
image.png总结
该shell拿下来也并不复杂,只需要细心注意到上传和存放的接口不为同一个。
网友评论