玄机平台应急响应—webshell查杀

1、前言

这篇文章说一下应急响应的内容,webshell查杀呢是应急响应的一部分。那么什么是应急响应呢,所谓的应急响应指的是,当网站突然出现异常情况或者漏洞时,能够马上根据实际问题进行分析,然后及时解决问题。

2、应急响应流程

应急响应流程分为六个阶段:准备检测遏制根除恢复跟踪,但在实际情况中很少会按照这个步骤来滴,都是根据实际问题实际分析,然后采取相对应的措施。

3、常规后门查杀

3.1、手动排查webshell

手动排查的话就需要你对常见的后门类型有一定的了解。

3.1.1、静态检测

我们可以查找一些特殊后缀结尾的文件。例如:.asp、.php、.jsp、.aspx。

然后再从这类文件中查找后门的特征码,特征值,危险函数来查找webshell,例如查找内容含有exec()、eval()、system()的文件。

优点:快速方便,对已知的webshell查找准确率高,部署方便,一个脚本就能搞定。

缺点:漏报率、误报率高,无法查找0day型webshell,而且容易被绕过。

3.1.2、动态检测

webshell执行时刻表现出来的特征,我们称为动态特征。只要我们把webshell特有的HTTP请求/响应做成特征库,加到IDS里面去检测所有的HTTP请求就好了。webshell如果执行系统命令的话,会有进程。Linux下就是起了bash,Win下就是启动cmd,这些都是动态特征。

3.1.3、日志检测

 使用Webshell一般不会在系统日志中留下记录,但是会在网站的web日志中留下Webshell页面的访问数据和数据提交记录。日志分析检测技术通过大量的日志文件建立请求模型从而检测出异常文件,例如:一个平时是GET的请求突然有了POST请求并且返回代码为200。

3.1.4、玄机靶场实战

这里我就用玄机平台的webshell查杀靶机来演示一下,启动靶机之后用xshell直接连接就可以了。

然后看看我们的flag要求,一共四个flag,应该是要求我们找到所有的后门。

我们直接使用find命令查找特殊后缀的文件,然后管道符拼接xargs去匹配特征函数,xargs函数就是把命令1的结果当作输入给到命令2。

//搜索目录下适配当前应用的网页文件,查看内容是否有Webshell特征
find ./ type f -name "*.jsp" | xargs grep "exec(" 
find ./ type f -name "*.php" | xargs grep "eval(" 
find ./ type f -name "*.asp" | xargs grep "execute(" 
find ./ type f -name "*.aspx" | xargs grep "eval(" //对于免杀Webshell,可以查看是否使用编码
find ./ type f -name "*.php" | xargs grep "base64_decode" 

OK啊,也是找到了三个后门文件,我们到其相对应的目录看看。

在/var/www/html目录下有一个shell.php,但里面没有flag。

然后在/var/www/html/include目录下找到我们gz.php,打开看看里面有

flag{027ccd04-5065-48b6-a32d-77c704a5e26d},我们就找到了第一个flag。

第二flag要求是:黑客使用的什么工具的shell github地址的md5 flag{md5}

那我们先判断一下这个是什么类型的webshell,看到开头有这三个语句,基本就可以判断是godzilla的webshell了。

然后我们搜一下godzilla的github地址再md5加密一下即是第二个flag了

flag{39392de3218c333f794befef07ac9257}

第三个flag要求我们找到隐藏的webshell的路径,上面我们还找到有一个webshell在/var/www/html/include/Db目录下。但我们输入ls查看的时候却没有发现,估计是隐藏了。

我们得输入ls -la显示所有文件才可以看到,其中.Mysqli.php就是我们的隐藏webshell,把他的路径进行md5加密即是我们的第三个flag。

flag{aebac0e58cd6c5fad1695ee4d1ac1919}

最后一个flag要求我们找到免杀马的路径,既然它经过了免杀处理,那么木马的特征值以及特征函数应该都是被去掉了。这时我们再通过静态检测是基本检测不到的,从上面我们就可以看出我们只找到了三个马。而且上面我们说了webshell执行会在网站日志留下记录,那我们就到网站日志里面看看有啥可疑的记录,这里也顺便说一下linux的日志存放在/var/log目录下。

我们到apache2目录下面查看一下apache日志,查看access.log。

我们可以看到有个名为top.php的文件执行了phpinfo();且返回值为200,有点可疑。去找到相对应的文件发现是一个正常的文件来滴。

我继续找了一下,又发现一个较为可疑的文件,去到此目录下面查看该文件。

好嘛,原来是个马,把路径md5加密即是第四个flag。

flag{eeff2eabfd9b7a6d26fc1a53d3f7d1de}

3.2、工具排查webshell

手工排查的话比较麻烦,而且查杀起来可能有漏,这里说一下几款常用的查杀工具。

1。阿里伏魔
https://ti.aliyun.com/#/webshell
2、百度 WEBDIR+
https://scanner.baidu.com/#/pages/intro
3、河马
https://n.shellpub.com/
4、CloudWalker(牧云)
https://stack.chaitin.com/security-challenge/webshell
5、在线 webshell 查杀-灭绝师太版
http://tools.bugscaner.com/killwebshell/
6、WebShell Detector WebShell 扫描检测器
http://www.shelldetector.com/
7、D 盾
http://www.d99net.net
8、微步
https://threatbook.cn/next/product/sandbox

阿里的伏魔是这几款最牛逼的,基本百分之九十五以上的webshell都能查杀出来。但是遗憾的是它只有网页版的,没有客户端版的。网页版的话一次只能上传2M大小的文件,对于一些大型网站,文件动则10几个G就显的有点鸡肋。

河马的话是有客户端的,多大的文件目录都能检测到。但是美中不足的是查杀能力没有阿里的伏魔那么猛,这里其实应该有10个后门的,有一个jsp的没检测到。只能说世界上没有一款完美的工具吧。

3.2.1、玄机平台实战

直接把整个网站目录下载下来,然后丢到阿里伏魔上面去检测就行了。可以看到前面三个都检测出恶意文件,第四个做了免杀的只是显示可疑,此时就要我们人工去查看了,工具+手动基本就可以排查百分之九十八的webshell了。

4、总结

以上就是常见的webshell排查手段,至于内存马的排查,那个属于高端的东西没有那么简单滴。

最后,以上仅为个人的拙见,如何有不对的地方,欢迎各位师傅指正与补充,有兴趣的师傅可以一起交流学习。

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

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

相关文章

新增长100人研讨会:台州制造业企业共探数字驱动下的业绩增长策略

2024年5月17日,纷享销客联合鑫磊压缩机,在台州举办了一场主题为“数字化驱动下的业绩增长策略”的研讨会。本次会议汇聚台州多家制造行业的10余位数字化管理者,共同探讨在数字化转型浪潮中,制造业如何实现业绩的持续增长。 鑫磊压…

计算机二级Access操作题总结——基本操作

基础操作题 设置主键 例:将“线路”表中的“线路ID”字段设置为主键 ①右键单击“线路”表; ②单击【设计视图】; ③鼠标指到表的第一行→“线路ID”处,右键单击; ④单击【主键】 设置有效性规则 例:设…

【Linux】Linux基本指令1

1.软件,OS,驱动 我们看看计算机的结构层次 1.1.操作系统 操作系统是一款做 软硬件管理 的软件 操作系统(计算机管理控制程序)_百度百科 (baidu.com) 操作系统(英语:Operating System,缩写&a…

【全开源】景区手绘地图导览系统源码(ThinkPHP+FastAdmin)

一款基于ThinkPHPFastAdmin开发多地图手绘地图导览系统(仅支持H5),景区升4A5A必备系统,高级版支持全景。 ​打造个性化游览新体验 一、引言:景区导览系统的革新 在旅游业蓬勃发展的今天,景区导览系统成为了提升游客体验的关键。…

java方法负载问题

先介绍一下方法的重载 下面是例子 方法名都为sum而形参是不同的 记住! 是否为重载关系 1在同一个类里面 2形参不同(与返回值无关) 3方法名一样 第一个图为什么错? 答案:虽然在同一个类里面,并且方法名…

B2121 最长最短单词

最长最短单词 题目描述 输入 1 1 1 行句子(不多于 200 200 200 个单词,每个单词长度不超过 100 ) 100) 100),只包含字母、空格、逗号和句号。单词由至少一个连续的字母构成,空格、逗号和句号都是单词间的间隔。 输出第 1 1…

深度学习设计模式之组合模式

文章目录 前言一、介绍二、详细分析1.核心组成2.实现步骤3.代码示例4.优缺点优点缺点 5.使用场景 总结 前言 组合模式是将对象组合成树形结构来表现"整体/部分"层次结构,可以更好的实现管理操作。 一、介绍 组合设计模式又叫部分整体模式,将…

Kali : 安装Google Chrome 浏览器和ChromeDriver

目录 一、安装Google Chrome 浏览器 1、下载Google Chrome 2、安装Chrome 3、安装依赖包 二、安装ChromeDriver 1、查看Chrome版本 ​2、下载ChromeDriver 3、解压下载包 4、设置全局访问 5、赋予可执行权限 6、验证chromedriver 7、程序测试 一、安装Google Chrom…

Qt | QTabWidget 类(选项卡部件)

01、上节回顾 Qt | QTabBar 类(选项卡栏)02、简介 1、QTabWidget 类直接继承自 QWidget。该类提供了一个选项卡栏(QTabBar)和一个相应的页面区域,用于显示与每个选项卡相对应的页面。与 QStackedLayout 布局原理相同,只有当前页面(即可见页面)是可见的,所有其他页面都不可见…

【全开源】场馆预定系统源码(ThinkPHP+FastAdmin+UniApp)

一款基于ThinkPHPFastAdminUniApp开发的多场馆场地预定小程序,提供运动场馆运营解决方案,适用于体育馆、羽毛球馆、兵乒球馆、篮球馆、网球馆等场馆。 场馆预定系统源码:打造高效便捷的预定体验 一、引言:数字化预定时代的来临 …

【多态】(超级详细!)

【多态】(超级详细!) 前言一、 多态的概念二、重写1. 方法重写的规则2. 重写和重载的区别 三、多态实现的条件四、 向上转型五、动态绑定 前言 面向对象的三大特征:封装性、继承性、多态性。 extends继承或者implements实现&…

【优选算法】(1)移动零

题目: . - 力扣(LeetCode) 给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。 请注意 ,必须在不复制数组的情况下原地对数组进行操作。 示例 1: 输入: nums [0…

【sass数字运算简介以及使用方法】

Sass(Syntactically Awesome Stylesheets)是一种CSS预处理器,它允许你使用变量、嵌套规则、混合(mixin)、函数等特性来编写CSS,然后将其编译成普通的CSS代码。Sass中的数字运算是一个强大的功能&#xff0c…

Lambada表示式

Lambada Lambda表达式是Java中的一个重要特性,用于简化函数式编程。它提供了一种更简洁的方式来编写匿名函数,可以被赋值给一个变量,或者作为参数传递给其他方法。 Lambda表达式的基本语法如下: (parameter1, parameter2, .…

基于物联网技术的智能家居实训教学解决方案

引言 随着信息技术的飞速发展,,物联网(IoT)已深入至我们生活的每一个角落,从智能家居、智能健康、智能交通到智慧城市,无所不在。物联网技术已成为推动社会进步和产业升级的重要力量。智能家居作为物联网技…

生成式对抗算法

生成式对抗算法,通常被称为GAN(Generative Adversarial Networks,生成式对抗网络),是深度学习在图像生成方面的重要应用。生成式对抗算法是一种强大的深度学习技术,它能够在无监督学习的环境下生成高质量的数据,为多个领域的应用提供了可能性。然而,由于其训练过程相对…

5位机械工程师如何共享一台服务器算力

在数字化浪潮的推动下,算力共享技术正逐渐成为机械工程师们提升工作效率、优化资源配置的重要工具。那么五位机械工程师如何共享一台服务器算力呢? 首先,我们需要了解算力共享的基本概念。算力共享是指通过特定的技术手段,将分散…

探索Web前端三大主流框架:Angular、React和Vue.js

在现代Web开发中,前端框架的选择对于项目的成功至关重要。Angular、React和Vue.js作为三大主流前端框架,各自拥有独特的特点和优势,本文将对它们进行详细的探索和比较。 1. Angular Angular是由Google开发和维护的一款开源前端框架&#xf…

etcd学习笔记-未完成整理

博客参考:K8s组件:etcd安装、使用及原理(Linux) 原理:分布式系统架构中对一致性要求很高,etcd就满足了分布式系统中的一致性要求。实现了分布式一致性键值对存储的中间件。设计用来可靠而快速的保存关键数…

机器学习之支持向量机SVM

支持向量机 概念 是supported vector machine(支持向量机),即寻找一个超平面使样本分成两类,且间隔最大分类 分类 硬间隔 若样本线性可分,且所有样本分类正确情况下,寻找最大间隔,即硬间隔 若…