文章内容主要摘自某红队系列丛书,将市面上现在流传的 redteam 系列书籍进行一个学习记录。
0x01 什么是jboss
Jboss是一个基于J2EE的开放源代码的应用服务器。JBoss代码遵循LGPL许可,可以在任何商业应用中免费使用。JBoss是一个管理EJB的容器和服务器,支持EJB 1.1、EJB 2.0和EJB3的规范。但JBoss核心服务不包括支持servlet/JSP的WEB容器,一般与Tomcat或Jetty绑定使用。
0x02 什么是jboss未授权访问
未授权访问管理控制台,通过该漏洞,可以后台管理服务,可以通过脚本命令执行系统命令,如反弹shell,wget写webshell文件。
0x03 漏洞复现(使用CVE-2017-7504的漏洞环境)
使用vulhub漏洞平台,启用环境位置:vulhub–jboss–cve-2017-7504
docker-compose up -d
启用成功使用浏览器访问 IP:8080
弱口令admin/admin进入后台
找到入口
找到 addURL() 接口
填写含木马的地址,具体可以参考https://www.cnblogs.com/-an-/p/13566483.html
下载脚本利用 https://github.com/joaomatosf/jexboss
┌──(kali㉿kali)-[~/tools/jexboss]
└─$ python3 jexboss.py -h
usage: JexBoss [-h] [--version] [--auto-exploit] [--disable-check-updates] [-mode {standalone,auto-scan,file-scan}] [--app-unserialize]
[--servlet-unserialize] [--jboss] [--jenkins] [--struts2] [--jmxtomcat] [--proxy PROXY] [--proxy-cred LOGIN:PASS]
[--jboss-login LOGIN:PASS] [--timeout TIMEOUT] [--cookies NAME=VALUE] [--reverse-host RHOST:RPORT] [--cmd CMD] [--dns URL] [--windows]
[--post-parameter PARAMETER] [--show-payload] [--gadget {commons-collections3.1,commons-collections4.0,jdk7u21,jdk8u20,groovy1,dns}]
[--load-gadget FILENAME] [--force] [-host HOST] [-network NETWORK] [-ports PORTS] [-results FILENAME] [-file FILENAME_HOSTS]
[-out FILENAME_RESULTS]
执行脚本指定ip和端口
python3 jexboss.py -u ip:port
执行,工具会一次检测一下项目,有漏洞就会显示红色的:VULNERABLE(易受攻击的),工具就会根据找到容易受到攻击的点,进行利用,然后选择yes,开始创建连接
连接后执行命令