危险漫步博客
新鲜的“黑客思维”就是从全新的角度看待黑客技术,从更高的层面去思考;专注于黑客精神及技术交流分享的独立博客。
文章2311 浏览22165751

JBoos拿下shell

危险漫步在检测一个网站C段机器时发现有一台服务器用的是JBoss,以前没见过,就没怎么在意,简单记录了一下就去看其它机器了。C段的其它机器看了一遍没什么突破口,只能回过头来仔细看那台装了JBoss的机子,最后幸运的获得了shell。把拿shell的方法笔记下,没用JBoss拿过shell的权当看个过程,没任何技术含量,高手和大牛请直接飘过。

简单介绍下JBoss。JBoss是全世界开发者共同努力的成果,一个基于J2EE的开放源代码的应用服务器。因为JBoss代码遵循LGPL许可,可以在任何商业应用中免费使用它而不用支付费用。Jboss公司被Redhat公司收购。JBoss是一个管理EJB的容器和服务器,支持EJB 1.1、EJB 2.0和EJB3.O的规范。但JBoss核心服务不包括支持servlet/JSP的WEB容器,一般与Tomcat或Jetty绑定使用。

虽然JBoss的使用量比较少,但利用它的听说都是中型网站或比较大型点的网站。

用浏览器访问目标机器IP的8080端口。

全是英文,有点晕,不过在页面上看到了“Manage”、“Administration”等字眼,猜测是管理JBoss的地方。既然是管理,应该有登录的地方吧。点页面上的“Administration Console”链接,果然出来了一个登录页面。登录的地方出来了,但不知道用户名和密码啊。到网上搜索了下JBoss的默认管理用户名和密码,有人说是admin,admin,我还以为是root,root呢嘿嘿。用用户名admin,密码admin尝试登录,居然进去了!这人品,没得说了。

功能看来还挺多,但我关心的是怎样获得shell。到网上搜索了下JBoss拿shell的方法,说是要用void addURL()函数从网上下载WAR文件,需要把自己的WAR文件先放到网上,比较麻烦,而且我简单找了下目标服务器的JBoss的管理页面,根本没找到voidaddURL()函数,再看了下他的步骤截图,他介绍的JBoss明显和我遇到的这个界面不同,猜测可能是软件版本不同。只能自己找办法了,不过他方法中的上传WAR文件的方法也启发了我,找可以上传WAR文件的地方,和Tomcat后台获得shell的方法类似。

在目标JBoss管理页面的“JBoss AS 5 (default)”下的“Applications”下有个“Web Application(WAR)”,看到有“WAR”,点开看看。

看到一个按钮“Add a new resource”,字面理解为添加一个新资源,点它,出来了“Add New Web Application (WAR)”的上传WAR文件的地方。

需要一个包含了jsp shell的WAR文件。shell文件我用的是JspSpy。在安装了JDK的机子上输入命令“jarcvf x.war JspSpy.jsp”,把JspSpy.jsp打包进x.war。通过“浏览”按钮选择x.war,点“Continue”按钮进行上传,提示“Resource x.war created successfully!”, “Web Application (WAR)”列表中多了我刚上传的x.war,并且Status为UP,已经启动了。用shell执行命令whoami,显示是administrator权限。至此,利用JBoss拿shell的过程完成,剩下的就不是本文要说的内容了。你上传的war文件管理员可以在“WebApphcation (WAR)”列表中看到,所以用完sheLl后最好删除掉你上传的war文件。以上传的x.war为例,点击x.w ar,.选择“Control”选项卡,点“Stop”按钮来停止x.war,当下面的“Status”显示为Siccessful的时候就说明x.war停止成功了,可以来删除它了。点“Web Application (WAR)s”,然后点Web Application (WAR)列表中x.rar右面的“Delete”按钮,看到“Successfully deleted Web Application(WAR)"x.warf'.”的提示后就说明已经干净彻底的删除上传的x.war了。