Web攻防之应急响应(二)

news2024/9/22 11:29:09

目录

前提

🍔学习Java内存马前置知识

内存马

内存马的介绍

内存马的类型众多

内存马的存在形式

Java web的基础知识:

Java内存马的排查思路: 

🍔开始查杀之前的需要准备

1.登录主机启动服务器

2.生成jsp马并连接成功

3.生成tomcat内存马🐴并注入


前提

   本篇是对自己学过的应急响应的知识的一个回顾,主要包含对常见工具(哥斯拉和冰蝎)的网站应急排查并对服务器的JAVA内存马的查杀,在弱鸡师傅的基础上结合我个人的学习和总结并对弱鸡师傅的教学中省略的操作进行一步一步详细的总结和图文介绍.

        因为内容过多,所以就不都直接复制过来了,如果想看完整的总结笔记的师傅直接复制下面的文件连接可以直接进行查看

Java内存马查杀技术,手工&工具检测 icon-default.png?t=N7T8https://flowus.cn/share/a2fa79e2-1b63-47b9-897f-7f1038a33d75?code=BE2FT6

🍔学习Java内存马前置知识

需要对下面的知识进行一定的了解:

内存马

内存马的介绍

        常规的Webshell基于文件类形式存在,而内存马是一种无文件攻击手段,因此也被称为不落地马或者无文件马。因为常规的Webshell有文件落地,所以被发现的机率较大。而内存马存在于内存中,降低被发现的概率,给检测带来巨大难度,通常被作为后门进行使用,持久化地驻留在目标服务器中。
 

内存马的类型众多

   根据不同的脚本类型,存在各种触发机制不同的内存马,没有稳定的静态特征,易于混淆,常规的WAF安全产品难以检测。

内存马的存在形式

        内存马仅存在于进程的内存空间中,系统层面的安全检测工具无法检测出内存马。

Java web的基础知识:

基本记住常见工具的内存马🐴类型一般为Filter和Servlet类型的 

        Listener(基本功能是监听运行过程中出现的错误,进行日志记录)

        Listener也称之为监听器,可以监听Application、Session和Request对象的创建、销毁事件,以及监听对其中添加、修改、删除属性事件,并自动执行自定义的功能。

        Filter(对访问控制,以及在请求响应中需要加一些固定的请求或响应信息等)

        Filter也称之为过滤器,可以动态地修改HttpServletRequest,HttpServletResponse中的头和数据。

Servlet(对业务逻辑进行处理的部分)

        Servlet是运行在 Web 服务器或应用服务器上的程序,它是作为来自 HTTP 客户端的请求和 HTTP 服务器上的数据库或应用程序之间的中间层。它负责处理用户的请求,并根据请求生成相应的返回信息提供给用户。Servlet 可以理解为某一个路径后续的业务处理逻辑。

    Tomcat 的本质其实就是一个 WEB 服务器 + 一个 Servlet 容器,那么它必然需要处理网络的连接与 Servlet 的管理,因此,Tomcat 设计了两个核心组件来实现这两个功能,分别是连接器和容器,连接器用来处理外部网络连接,容器用来处理内部 Servlet,我用一张图来表示它们的关系:

当然针对不同的java中间件(tomcat),用到的东西也不一样,比如 tomcat jboss weblogic等等中间件

Java内存马的排查思路: 

        先判断是通过什么方法注入的内存马🐴,可以先查看web日志是否有可疑的web访问日志,如果是Filter或者Listener类型就会有大量URL请求路径相同参数不同的,或者页面不存在但是返回200的,查看是否有类似哥斯拉、冰蝎相同的url请求,哥斯拉和冰蝎的内存马注入流量特征与普通 Webshell的流量特征基本吻合。 

        通过查找返回200的URL路径对比Web目录下是否真实存在文件,如不存在大概率为内存马。如在Web日志中并未发现异常,可以排查是否为中间件漏洞导致代码执行注入内存马,排查中间件的error.log日志查看是否有可疑的报错,根据注入时间和方法根据业务使 用的组件排查是否可能存在Java代码执行漏洞以及是否存在过Webshell,排查框架漏洞,反序列化漏洞。

🍔开始查杀之前的需要准备

1.登录主机启动服务器

账号: root

密码: admin!@#45

找到用户的tomcat服务器下的bin目录,通过下面的命令启动tomcat服务器

cd /usr/local/tomcat8/bin

启动tomcat服务器: ./startup.sh

关闭tomcat服务器: ./shutdown.sh

通过访问8080端口进行访问,出现如下界面说明启动成功

http://ip:8080/

2.生成jsp马并连接成功

  通过哥斯拉生成jsp马🐴,将生成的jsp马🐴将其放到tomcat的 /usr/local/tomcat8/webapps/ROOT 目录下,进行链接成功后通过向web目录下的文件中注入java内存马🐴

cd /usr/local/tomcat8/webapps/ROOT

生成的jsp马子🐴如图所示:

通过哥斯拉进行哥斯拉马子🐴的连接

 可以先进行测试连接,出现成功后,点击添加即可

 进入后,可以看到被控制的服务器的一些配置信息

3.生成tomcat内存马🐴并注入

        通过哥斯拉进行连接  (注意不同中间件的内存马🐴是不同的,tomcat是Memoryshell或者FilterShell)   如图所示,第一行是添加内存马🐴生成的文件路径以及文件名称,然后填入密码以及加密秘钥,不想改默认即可,然后点击run

提示ok说明生成并注入内存马🐴成功

然后和之前连接jsp马子🐴一样,进行添加并连接注入的java内存马🐴

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2105991.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

vivado 创建时间约束1

步骤3:创建时间约束 在此步骤中,您打开合成的设计并使用AMD Vivado™定时约束 男巫定时约束向导分析门级网表并发现缺失 约束。使用“定时约束”向导为此设计生成约束。 1.在“流导航器”中,单击“打开综合设计”。 2.当综合设计打开时&#…

六、MySQL高级—架构介绍(1)

🌻🌻 目录 一、Mysql 简介1.1 概述1.2 Mysql 高手是怎样炼成的 二、Mysql Linux 版的安装2.1 mysql5.52.2 mysql5.7 三、Mysql 的用户与权限管理3.1 MySQL的用户管理3.2 权限管理3.3 通过工具远程访问 四、 Mysql的一些杂项配置(了解)五、 Mysql 逻辑架构…

[UVM]3.核心基类 uvm_object 域的自动化 copy() compare() print() pack unpack

1.核心基类:uvm_object (1)虚类只能声明,不能例化。 (2)uvm_object提供的方法 2.域的自动化(field automation) (1)简述 (2)示例 格…

JVM5-垃圾回收

自动垃圾回收 在C/C这类没有自动垃圾回收机制的语言中,一个对象如果不再使用,需要手动释放,否则就会出现内存泄漏,称这种释放对象的过程为垃圾回收,而需要程序员编写代码进行回收的方式为手动回收 内存泄漏指的是不再…

进一步了解CSS布局——WEB开发系列29

CSS 页面布局技术允许我们拾取网页中的元素,并且控制它们相对正常布局流、周边元素、父容器或者主视口/窗口的位置。 一、正常布局流(Normal Flow) CSS的布局基础是“正常流”,也就是页面元素在没有特别指定布局方式时的默认排列…

OPenCV结构分析与形状描述符(3)计算一个点集的最小外接矩形的函数boundingRect()的使用

操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 计算一个点集的最小右上边界矩形或灰度图像中的非零像素。 该函数计算并返回指定点集或灰度图像中非零像素的最小右上边界矩形。 在OpenCV中&am…

[项目][CMP][项目介绍及知识铺垫]详细讲解

目录 1.这个项目做的是什么?2.此项目涉及知识面3.什么是内存池?1.池化技术2.内存池3.内存池主要解决的问题 4.理解malloc 1.这个项目做的是什么? 实现一个高并发内存池,参考原型为Google的一个开源项目tcmalloc(Thread-Caching M…

61、Python之函数高级:为函数添加方法,实现属性可变的装饰器

引言 今天文章的标题,初读起来可能有些拗口,什么叫“为函数添加方法”?但是,如果真正对“Python函数也是对象”这个理念有清晰的理解的话,其实,也是不难理解的,本质上就是给一个对象新增一个自…

通用代码生成器还可以这么用,将MariaDB数据库连数据迁徙到PostgreSQL

通用代码生成器是一种非常方便的软件开发工具,除了简单直接的生成代码,制作快速原型以外。通用代码生成器还可以应用在各种场景上。比如可以使用通用代码生成器,将MariaDB数据库连数据迁徙到PostgreSQL。操作并不复杂,却十分适用。…

【学习笔记】SSL证书之混合加密(Hybrid Encryption)与签名(Signatures)

1、非对称密钥对可以用来进行加密(Confidentiality保密性) 举个栗子,现在有2个人,Pam和Jim,两人之间需要通过非对称密钥对来给另一方发送数据。Pam通过某种途径将公钥分享给Jim,两人都各自保存着自己的私钥…

算法打卡 Day29(回溯算法)-复原 IP 地址 + 子集 + 子集 Ⅱ

文章目录 Leetcode 93-复原 IP 地址题目描述解题思路 Leetcode 78-子集题目描述解题思路 Leetcode 90-子集 Ⅱ题目描述解题思路 Leetcode 93-复原 IP 地址 题目描述 https://leetcode.cn/problems/restore-ip-addresses/description/ 解题思路 这是一道切割问题,…

【ShuQiHere】“初识人工智能:智能机器的基础入门”

1.1. 引言 (Introduction) 🧠🤖 人工智能(Artificial Intelligence, AI) 是计算机科学的一个分支,目标是让计算机或机器具备像人类一样的智能。自计算机发明以来,计算机执行各种任务的能力呈指数增长。随着…

思科IP访问控制列表2

#网络安全技术实现# #任务二标准访问控制列表的控制2# #1配置计算机的IP 地址、子网掩码和网关 #2配置Router-A的主机名称和接口IP地址 Router>enable Router#config t Router(config)#hostname Router-A Router-A(config)#int g0/0 Router-A(config-if)#ip add 192.1…

iKun主页 最新2.0版本 无需数据库 带页面音乐版本~

源码介绍 iKun主页 最新2.0版本 无需数据库 带页面音乐版本~ 无需数据库,没有后台 记事本修改里面的内容即可 效果预览 源码获取 iKun主页 最新2.0版本 无需数据库 带页面音乐版本~

Seataf分布式事务的使用

一、事务的四大特征(面试题) 原子性:一个事务是不可分割的,要不都做,要不都不做一致性:事务必须是使数据库从一个一致性变成另一个一致性状态隔离性:一个事务的执行不被其他事务干扰&#xff0…

比较.NET框架中的IEnumerable和IQueryable性能差异的核心原理

1. 前言&#xff1a; 思考下这两份代码在性能上有哪些差异&#xff0c;如果你能很清楚的区分&#xff0c;那么可以跳过本文的内容。如果你还比较模糊不清楚其中的原理&#xff0c;那么可以花个几分钟了解下。 示例一&#xff1a; IEnumerable<Order> orders GetOrder…

C语言 | Leetcode C语言题解之第386题字典序排数

题目&#xff1a; 题解&#xff1a; int* lexicalOrder(int n, int* returnSize){int *ret (int *)malloc(sizeof(int) * n);int number 1;for (int i 0; i < n; i) {ret[i] number;if (number * 10 < n) {number * 10;} else {while (number % 10 9 || number 1 …

日志系统前置知识

日志&#xff1a;程序运行过程中所记录的程序运行状态信息。通过这些信息&#xff0c;以便于程序员能够随时根据状态信息&#xff0c;对系统的运行状态进行分析。功能&#xff1a;能够让用户非常简便的进行日志的输出以及控制。 同步写日志 同步日志是指当输出日志时&#xff…

【Python百日进阶-Web开发-音频】Day707 - 时域处理 librosa.autocorrelate

文章目录 一、时域处理1.1 librosa.autocorrelate1.1.1 语法与参数1.1.2 例子1.1.2.1 计算完全自相关y1.1.2.2 计算长达 4 秒的起始强度自相关 一、时域处理 1.1 librosa.autocorrelate https://librosa.org/doc/latest/generated/librosa.autocorrelate.html 1.1.1 语法与参…

3. GIS后端工程师岗位职责、技术要求和常见面试题

本系列文章目录&#xff1a; 1. GIS开发工程师岗位职责、技术要求和常见面试题 2. GIS数据工程师岗位职责、技术要求和常见面试题 3. GIS后端工程师岗位职责、技术要求和常见面试题 4. GIS前端工程师岗位职责、技术要求和常见面试题 5. GIS工程师岗位职责、技术要求和常见面试…