利用Vulnhub复现漏洞 - Apache Log4j Server 反序列化命令执行漏洞(CVE-2017-5645)

这篇博客详细介绍了Apache Log4j Server的一个命令执行漏洞(CVE-2017-5645),通过Vulnhub平台进行复现。首先解释了漏洞原理,Apache Log4j 2.8.2之前版本存在的安全问题允许攻击者执行任意代码。然后,博主分享了复现环境的启动步骤,包括如何搭建和运行漏洞环境,以及如何使用ysoserial生成payload并发送到服务器。最后,博主验证了漏洞成功利用,通过检查/tmp/success文件和反弹shell的命令来确认。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Apache Log4j Server 反序列化命令执行漏洞(CVE-2017-5645)

Vulnhub官方复现教程

https://vulhub.org/#/environments/log4j/CVE-2017-5645/

漏洞原理

Apache Log4j是一个用于Java的日志记录库,其支持启动远程日志服务器。Apache Log4j 2.8.2之前的2.x版本中存在安全漏洞。攻击者可利用该漏洞执行任意代码。

复现过程

启动环境

https://blog.youkuaiyun.com/JiangBuLiu/article/details/93853056
进入路径为

cd /root/vulhub/log4j/CVE-2017-5645

搭建及运行漏洞环境:

docker-compose build && docker-compose up -d

用时:2分钟
环境启动后,将在4712端口开启一个TCPServer。
除了使用vulhub的docker镜像搭建环境外,还下载了log4j的jar文件后可以直接在命令行启动这个TCPServer:java -cp "log4j-api-2.8.1.jar:log4j-core-2.8.1.jar:jcommander-1.72.jar" org.apache.logging.log4j.core.net.server.TcpSocketServer,无需使用vulhub和编写代码。

### 复现log4j CVE-2017-5645漏洞 #### 靶机环境准备 为了复现漏洞,需先准备好实验环境。这涉及到Docker及其组件的安装以及获取必要的资源文件。 在Linux环境中,通过一系列命令来完成docker及相关工具链的部署: ```bash apt-get update && \ apt-get install -y apt-transport-https ca-certificates && \ apt install docker.io && \ apt-get install python3-pip && \ pip3 install docker-compose && \ docker-compose -v ``` 接着克隆`vulhub`项目仓库到本地用于后续操作: ```bash git clone https://gitee.com/puier/vulhub.git ``` 上述过程确保了拥有一个能够运行容器化应用的基础平台,并获得了包含易受攻击应用程序镜像在内的资料库[^3]。 #### 进入特定漏洞场景路径 切换至已下载下来的`vulhub`项目的指定位置,即针对CVE-2017-5645设置好的测试案例所在之处: ```bash cd /home/hbesljx/vulhub/log4j/CVE-2017-5645 ``` 此步骤定位到了预设好存在安全缺陷的日志服务实例上,以便进一步开展验证工作[^1]。 #### 启动含有漏洞的服务 启动带有Log4j反序列化漏洞的服务端程序,通常借助于`docker-compose up`指令实现自动化部署流程。由于具体细节依赖于实际配置情况,在这里假设一切正常情况下只需简单执行如下命令即可开启目标服务: ```bash docker-compose up ``` 此时应该有一个正在监听网络连接并接受外部输入作为日志记录处理的对象等待着被利用[^2]。 #### 构造恶意负载触发漏洞 对于想要成功重现这一问题的研究人员来说,构建合适的载荷至关重要。考虑到CVE-2017-5645的特点——允许未经身份验证的数据包内嵌Java对象流的形式传送到服务器端解析,则可尝试发送特制的消息给定地址上的开放接口以期达到预期效果。然而具体的实施方法会依据个人研究方向有所不同,建议查阅更多关于JNDI注入技巧方面的参考资料深入理解整个攻击面。 ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值