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.mzph.cn/diannao/53203.shtml

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

相关文章

MATLAB 仿真跳频扩频通信系统

1. 简介 跳频扩频(FHSS)是一种通过在不同的频率之间快速切换来对抗窄带干扰的技术。在这篇博客中,我们将使用 MATLAB 进行 FHSS 通信系统的仿真,模拟跳频过程、调制、解调以及信号在不同步骤中的变化。通过对仿真结果进行可视化&…

python-简单的dos攻击

前言 这个是DOS攻击学习(注意:千万别去攻击有商业价值的服务器或应用,不然会死的很惨(只有一个IP通过公网访问容易被抓),前提是网站没有攻击防御) 创建一个以python编写的后端web服务(好观察) 安装flask pip install flask from flask import Flaskapp …

打卡第60天------图论

加油!尽管前面的道路很困难,但是依然要坚持下去✊。 在算法训练营我学到了很多东西,对于算法的方法来说真的是涨知识了,对于我一个非科班出身,半路转行的干IT的人来说真的给予了我很大的帮助。我会继续回头看代码随想录…

前端入门了解

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

Apple 重發iOS 17.6.1 修正版

蘋果又再次替 iPhone 和 iPad 用戶釋出 iOS 17.6.1更新(21G101),這次更新與8日所推出的 iOS 17.6.1 正式版相同,官方在更新說明內也沒有提到任何修改,依舊是維持修正進階資料保護的問題 iOS 17.6.1 更新修正版內容重點…

面向切面编程

1. 增删改查 三层干啥 2. 文件上传 第三方api(接口) 调用准备 -- 官方代码 -- 工具类 3. 登录鉴权 登录(查询 密码) 鉴权(拦截器)登录完成后--后台生成token返回给浏览器--每次浏览器发请求时候携带token--服务器需要使用拦截器拦截请求,获取token--校验token生成 token校…

借老系统重构机会我写了个groovy规则引擎

公司老系统的重构计划早就有了,为了对Java硬编码的各种校验规则进行重构,特地参考了相关技术,最终选择了groovy进行了系统的学习,并编写了一个即插即用的轻量级规则引擎。 文章目录 项目背景技术选型groovy的性能groovy脚本执行线…

【拉取Git项目到本地,知识小记,后续再改】

前提:Git已经安装好 https://blog.csdn.net/mukes/article/details/115693833 安装至步骤2.2.4即可 第一步创建本地项目目录 第二步获取他人提供的项目git地址或者自己在网上找的他人项目的git地址 Git 全局设置: git init git config --global user.name “ASxx”…

1998-2023年上市公司金融/信贷/资本资源错配程度数据(含原始数据+计算代码+结果)

1998-2023年上市公司金融/信贷/资本资源错配程度数据(含原始数据计算代码结果) 1、时间:1998-2023年 2、来源:上市公司年报 3、指标:证券代码、year、应付账款、负债合计、利息支出、行业代码、是否ST或PT、上市日期…

Webpack详解与配置环境

webpack:webpack网址 1、工作原理: Webpack是一个非常强大的静态模块的打包工具。从文件入口开始,递归解析以来关系,然后将所有模块打包成一个或多个budle文件。 2、webpack核心概念: Entry:入口起点(en…

Android的Launch

看了一下资料,其实差别并不像一般的bootloader之类那么大。基本上还是和普通的APK程序差不多,基本上是AMS启动的第一个带界面的程序,这个界面也是常规的开发模式。可以设置各种view,可以设置背景。 然后在这个程序中,…

JVM:垃圾回收器 垃圾收集器分类 评估GC的性能指标

GC:垃圾回收或者垃圾收集器 一、垃圾收集器分类: 1.1按用于垃圾回收的线程数分类 分为串行垃圾回收器和并行垃圾回收器 指的是在同一时间段内只允许有一个CPU用于执行垃圾回收操作,此时工作线程被暂停,直至垃圾收集工作结束  …

如何使用 yum 在 CentOS 6 上安装 nginx

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。 状态 状态: 已弃用 本文涵盖的 CentOS 版本已不再受支持。如果您目前正在运行 CentOS 6 服务器,我们强烈建议升…

模板:系统建设方案

系统建设方案是一个综合性的文档,旨在详细规划、设计和实施一个特定的系统。以下是一个通用的系统建设方案框架,涵盖了从需求分析到系统上线及后期维护的各个阶段: 一、项目简介 1.1 项目名称 明确项目的具体名称,以便后续文档…

Linux——redis理论、安全模型

一、redis 主要的data type redis 的原生客户端redis 支持通过python php golang 等语言连接redis 主要适用场景 二、redis如何进行数据存储 非关系数据库 不使用二维表 redis 使用键值对完成数据的存储redis一共有16个库 ,不同的库使用编号 0-15redis 在…

设计模式-装饰器代理观察者

3.7 装饰器模式(代码见vs) 装饰器又叫做包装模式,允许向一个现有的对象添加新的功能,同时又不改变其结构。这种模式创建了一个装饰类,用来包装原有的类,并在保持类方法完整性的前提下,提供了额…

经验笔记:负载均衡

负载均衡经验笔记 负载均衡是现代分布式系统中不可或缺的一部分,旨在通过优化资源利用率、最大化吞吐量、最小化响应时间、避免过载等方式来改善服务质量和用户体验。以下是关于负载均衡的一些经验和指导原则,包括多种实现方式。 1. 理解负载均衡的基本…

力扣1.两数之和(哈希表)

class Solution {// 定义一个名为twoSum的方法&#xff0c;接收一个整数数组nums和一个整数target作为参数public int[] twoSum(int[] nums, int target) {// 创建一个HashMap&#xff0c;用于存储数组中的元素及其对应的索引Map<Integer, Integer> map new HashMap<…

前端报文加密

前端加密功能 前端提供简单的AES对称加密算法&#xff0c;注意key 和后端网关配置相同&#xff0c;这里打包混淆后&#xff0c;相对安全。 &#xff08;lun-ui\src\store\modules\user.js、base-gateway-dev.yml&#xff09; 后端解密功能 使用hutool提供的工具类进行解密pub…

Linux之grafana+onealert报警

grafana介绍 Grafana是一个开源的度量分析和可视化工具&#xff0c;可以通过将采集的数据分析&#xff0c;查询&#xff0c;然后进行可视化的展示,并能实现报警。 grafana安装与登录 在grafana服务器上安装grafana 下载地址&#xff1a;https://grafana.com/grafana/downloa…