Web攻防之应急响应(二)

目录

前提

🍔学习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.xdnf.cn/news/1524223.html

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

相关文章

【Linux】多线程:线程概念,线程与进程的区别与联系,多线程相较于多进程的优势

目录 一、进程基本属性回顾 二、线程概念 三、操作系统为什么要引入线程—多进程和多线程的区别 为什么多线程比多线程调度效率更快? 四、线程的优点 五、线程的缺点 六、线程异常 一、进程基本属性回顾 在学习线程之前,我们先来回顾一下进程的基…

注册安全分析报告:熊猫频道

前言 由于网站注册入口容易被黑客攻击,存在如下安全问题: 暴力破解密码,造成用户信息泄露短信盗刷的安全问题,影响业务及导致用户投诉带来经济损失,尤其是后付费客户,风险巨大,造成亏损无底洞…

【Rust】007-包管理与模块管理

【Rust】007-包管理与模块管理 文章目录 【Rust】007-包管理与模块管理一、包管理器:Cargo1、简介Cargo 官方文档仓库 2、项目初始化3、写一个小程序任务目标寻找合适的库添加库到我们的项目中代码实现cargo run运行 二、模块管理1、概述2、文件作为模块第一步&…

前端模拟面试:如何检查JavaScript对象属性是否存在?

你正在参加一场关键的前端开发面试,面试官提出了一个经典的JavaScript问题:“在JavaScript中,如何检查对象是否包含某个属性?请你详细介绍几种不同的方法,并解释它们的区别。” 这个问题不仅考验你对JavaScript的基础掌…

怎样在公司将手机屏幕(远程)投屏到家里的大电视上?

我不住家里,前几次回去都会替老爸老妈清理手机。这两个星期没空回去,老爸吐槽手机用几天就又卡了,其实就是清理一些手机缓存的问题。 我说我远程控制他的手机,给他清理一下。他一听“控制”就不喜欢,说我大了&#xf…

sM4040B科学级显微制冷相机特性

sM4040B科学级显微制冷相机特性 sM4040B搭载了 GSENSE4040BSI 3.2 英寸图像传感器,针对传感器固有的热噪声,专门设计了高效制冷模块,使得相机传感器的工作温度比环境温度低达 35-40 度。针对制冷相机常见的低温结雾现象设计了防结雾机制&…

【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 语法与参…

哪款宠物空气净化器能更好的清理浮毛?希喂、352、IAM测评分享

家里这三只可爱的小猫咪,已然成为了我们生活中不可或缺的家庭成员,陪伴我们度过了说长不长说短不短的五年时光。时常庆幸自己当年选择养它们,在我失落的时候总能给我安慰,治愈我多时。 但这个温馨的背后也有一点小烦恼&#xff0…

记一种常用的实时数据同步方案:Canal+Kafka+Flume

记一种常用的实时数据同步方案:CanalKafkaFlume 在当今数据驱动的业务环境中,数据同步是确保系统间数据一致性的关键环节。一种高效、稳定且可扩展的数据同步方案对于支撑企业的数据处理和分析需求至关重要。本文将介绍一种结合了Canal、Kafka和Flume的…

IOS 20 发现界面(UITableView)歌单列表(UICollectionView)实现

发现界面完整效果 本文实现歌单列表效果 文章基于 IOS 19 发现界面(UITableView)快捷按钮实现 继续实现发现界面歌单列表效果 歌单列表Cell实现 实现流程: 1.创建Cell,及在使用UITableView的Controller控制器上注册Cell&#x…

STM32F103C8----GPIO(跟着江科大学STM32)

一,GPIO简介 GPIO(General Purpose Input Output)通用输入输出口 可配置为8种输入输出模式 引脚电平:0V~3.3V(0V),部分引脚可容忍5V 输出模式下可控制端口输出高低电平,用以驱动…

AI-Talk开发板之LED

一、说明 AI-Talk开发板上有一颗用户LED,连接在CH32 PA2管脚,低电平亮,高电平灭。 相关电路图如下: 需要提前给CH32V003烧录特定的固件才能将CH32作为CSK6011A的exmcu,参考AI-Talk开发板更新CH32固件。​​​​​​​…

如何查看Mac的处理器架构‌‌是ARM还是x86

‌通过命令行查看Mac的处理器架构‌‌ 打开终端(Terminal)。输入命令 uname -m 并回车。如果输出结果是 arm64,则表示你的Mac使用的是ARM架构;如果输出结果是 x86_64,则表示你的Mac使用的是x86架构。 如图&#xff1…

2024/9/4黑马头条跟学笔记(二)

app端文章列表 学习内容 需求分析 上方分类频道切换 布局,无图,单图,三张图 文章数据库表 导入文章数据库 结构分析 配置-文章 一对一,拆表,冷热数据分离满足范式 表的拆分-垂直分表 优势 查文章信息不会连带查…

Day10_0.1基础学习MATLAB学习小技巧总结(10)——程序流程控制

利用空闲时间把碎片化的MATLAB知识重新系统的学习一遍,为了在这个过程中加深印象,也为了能够有所足迹,我会把自己的学习总结发在专栏中,以便学习交流。 素材来源“数学建模清风” 特此说明:本博客的内容只在于总结在…

页面小组件-搜索栏(一)

样例展示 效果示例-折叠状态 效果示例-展开状态 代码示例 <custom-search-wrapper><!--showFoldBtn 需要展示折叠按钮时传值--><template slotleft><el-form:model"searchFormData"inlinesize"small"><el-form-item><e…

前端入门了解

1. 网页 1.1 网页概述 1.2 超文本标记语言 1.3 网页的形成 2. 浏览器了解 网页需要通过浏览器来展示&#xff0c;下面是关于浏览器的两点; 国际上通用的浏览器有如下六个&#xff08;百度&#xff0c;360&#xff0c;uc等是主要在国内使用&#xff09;&#xff0c; 3. We…

828华为云征文:华为云 Flexus X 实例性能测评——SuperBench 一键窥见性能

今天我拿到了华为云 Flexus X 实例&#xff0c;这款云服务是华为云推出的有一款明星产品&#xff0c;面向零售、金融、游戏等行业大多数通用工作负载场景。这次&#xff0c;我们就来测评一下它的性能到底怎么样&#xff01; Flexus 云服务 X 实例 在测评之前&#xff0c;我们…

使用 JAXB 将内嵌的JAVA对象转换为 xml文件

使用 JAXB 将内嵌的JAVA对象转换为 xml文件 1. 需求2. 实现&#xff08;1&#xff09;FileDesc类&#xff08;2&#xff09;MetaFileXml类&#xff08;3&#xff09;生成对应的xml文件 1. 需求 获取一个目录下所有文件的元数据信息&#xff08;文件名、大小、后缀等&#xff0…

Day14_0.1基础学习MATLAB学习小技巧总结(14)——字符串的比较、查找和替换

利用空闲时间把碎片化的MATLAB知识重新系统的学习一遍&#xff0c;为了在这个过程中加深印象&#xff0c;也为了能够有所足迹&#xff0c;我会把自己的学习总结发在专栏中&#xff0c;以便学习交流。 素材来源“数学建模清风” 特此说明&#xff1a;本博客的内容只在于总结在…