24

Apache Axis 1.4远程命令执行诡异探索之路

 4 years ago
source link: https://www.freebuf.com/vuls/220034.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

概述

axis 全称Apache EXtensible Interaction System 即Apache可扩展交互系统。axis 为创建服务器端、客户端和网关SOAP等操作提供基本框架。axis 目前版本主要面向Java,面向C++的版本正在开发中。axis 并不完全是一个SOAP引擎,还可以作为一个独立的SOAP服务器和一个嵌入Servlet引擎(例如Tomcat)的服务器。

本地漏洞复现

从apache axis官网下载1.4的 版本

在本地tomcat搭建,可以看到下载下来后的WBE-INF,其中并没有有些文档中写的server-config.wsdd文件

Jj6raa6.jpg!web

然后去查看web.xml中的文件,也未打开AdminService的注释。 

ym6ryub.jpg!web

此时我们直接本地利用poc来本地注册服务攻击,发现可以正常注册,并向服务对应的jsp文档里写入shell内容。

BRvyyua.jpg!web

注册完之后,此时是通过AdminService本地注册了一个RandomService服务,然后绑定了一个日志操作,日志操作将日志输入到一个jsp文件中,于是就可以构造操作去写日志,并执行jsp文件,造成远程命令攻击。

诡异的事情

阶段一:

根据漏洞利用的POC,先将本地之前利用的代码生成的webshell文件ha233.jsp删除,再在远程主机利用POC、此时将webshell的名称改为webshell.jsp,居然可以直接生成shell文档,且名称为ha233.jsp

删除本地利用时生成的webshell文件ha233.jsp

Zvi2y2e.jpg!web

再在虚拟机执行利用的exp,此时将webshell文件改名为webshell.jsp

fMjEb2i.jpg!web

发现此时本地仍然生成了一个ha233.jsp

eUjEJb7.jpg!web

查看tomcat服务器,日志中表明拒绝了远程IP访问的方式

UrUfIff.jpg!web

通过上述的一系列操作,可以得知本地注册服务,远程是可以调用,但是仅仅如此嘛?

阶段二

与阶段一上边基本一致,但是此时我们将虚拟机里边的exp再次修改一下,将写的文件内容修改,命名仍为webshell.jsp,只是将参数改为hacker,本地的exp为c

mUVfuqf.jpg!web

查看写入到本地的webshell文件,肯定命名是ha233.jsp,但是内容却改变了,此时参数就为hacker 

mQFfAjN.jpg!web

诡异的事情总结

在原生的状态下,可以从本地来注册服务,在注册的服务中绑定日志操作,且日志操作对应的日志文档为jsp文件时,可以从远程直接调用该服务,此时进行的操作都会记录到日志文件中,从而可以将jsp马写入其中。

利用前提

 1.本地注册服务的名称要知道
 2.本地注册服务有日志记录,且日志记录使用jsp文件格式

远程漏洞复现

过程

在本地漏洞复现中,我们发下axis下载下来后并没有server-config.wsdd文件,但是在本地注册一个服务后,该文件就会出现

qMbIzu7.jpg!web

将该文件中的enableRemoteAdmin配置为true

jEVzmyi.jpg!web

此时在虚拟机执行exp,可以看到正常注册一个服务,并写入shell.jsp文件

Z3MrIfu.jpg!web

总结

通过我们的测试,发现只需要将server-config.wsdd文件中enableRemoteAdmin配置为true,就可以远程注册服务,并不需要将web.xml中的AdminServlet注释掉

漏洞分析

可以先看看Axis使用,基本上就懂得漏洞利用的原理

https://blog.csdn.net/a5489888/article/details/9010939


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK