Apache Log4j2远程命令执行漏洞检测防护技术研究

picture.image

漏洞介绍

picture.image

Apache Log4j2 是 Apache 的一个基于Java的日志记录工具,该工具可以控制日志信息输送的目的地为控制台、文件、GUI组件等,并通过定义每一条日志信息的级别,使其能更加细致地控制日志的生成过程。

由于Apache Log4j2中存在JNDI注入漏洞,攻击者可设计一个数据请求发送给使用 Apache Log4j2工具的服务器,当该请求被打印成日志时就会触发远程代码执行。

picture.image

漏洞原理

picture.image

Log4j2支持${prefix:name}语法的查询方法,即通过prefix的处理器去处理name。

Log4j2对日志消息进行格式化时会判断是否存在“{”,并通过{prefix:name}语法解析${}内的变量获取prefix和name。在支持的prefix中只有jndi能够进行注入,所以当日志消息中存在picture.image 时,会调用JndiLookup的lookup方法处理ldap://x.x.x.x/exp,从而使用ldap加载远程服务器上的恶意class,造成jndi注入。

picture.image

绕过手法总结

picture.image

1·利用lower和upper两个lookup方法分割原始payload

Log4j2支持的prefix中有lower和upper。lower转换成小写,upper转换成大写,lower:jndi的结果就是jndi。所以这两个prefix配合{lower:jndi}的结果就是jndi。所以这两个prefix配合{}支持嵌套的特性可以构造出 picture.image,所以循环解析后变为 picture.image,从而绕过安全设备对原始payload的检测。

2·利用substitute解析方法分割原始payload

substitute方法在解析里的变量时会截取第一个“:”后面所有的字符串,如果lookup函数返回空,则“{}里的变量时会截取第一个“:-”后面所有的字符串,如果lookup函数返回空,则“{}”以及里面的变量会替换为截取之后的字符串。处理{{::-j}}时,取出的prefix无法命中strLookupMap中的strLookup对象,所以lookup返回了null,最后处理{{::-j}}的结果为j。

然后利用该特性进行拼接可构造出 picture.image ,循环解析后得到 picture.image

picture.image

图 lookup返回null

picture.image

图 字符串替换结果

同理可在${}内填充任意字符也可达到上述效果。即可构造出

picture.image

解析后为 picture.image ,从而绕过原始payload的检测。

3·编码绕过

在java中,unicode和字符串效果是一样的,所以还可以用unicode编码的方式绕过字符串形式的payload的检测。

如果使用了json库,例如fastjson,还可以使用十六进制的形式进行绕过检测。

picture.image

绕过手法检测

picture.image

整理清楚漏洞原理后,检测思路自然就出来了。因为只有jndi可注入,所以如果要利用该漏洞RCE的话,必然要使用jndi,不管什么绕过手法,最终解析后的prefix都是jndi。

原始payload: 可检测jndi处理rmi、ldap加载远程class的行为

lower/upper绕过: 可检测${prefix:name}语法中使用lower、upper的方式

substitute解析方法绕过 :可检测${prefix:name}语法中使用非Log4j2中封装的strLookup对象且包含“-:”分割jndi的方式。

睿眼攻击溯源系统已支持该漏洞目前所有绕过手法的检测

使用睿眼攻击溯源系统的用户可登录更新平台http://update.zorelworld.com:8888/输入机器码获取最新规则升级包进行检测。

picture.image

图 睿眼攻击溯源系统检测Apache Log4j2各种绕过手法


        
            

          来源:蓝鸟安全
        
      

历史文章推荐:

XSS 实战思路总结

内网信息收集总结

xss攻击、绕过最全总结

一些webshell免杀的技巧

命令执行写webshell总结

SQL手工注入总结 必须收藏

后台getshell常用技巧总结

web渗透之发现内网有大鱼

蚁剑特征性信息修改简单过WAF

内网渗透之域渗透命令执行总结

[WEB安全]Weblogic漏洞总结

查看更多精彩内容,还请关注 橘猫学安全

每日坚持学习与分享,麻烦各位师傅文章底部给点个“ 再看 ”,感激不尽 picture.image

0
0
0
0
评论
未登录
暂无评论