webshell连接工具冰蝎检测特征提取

2023-11-01 16:10

本文主要是介绍webshell连接工具冰蝎检测特征提取,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1⃣️、概述

        冰蝎作为新款的webshell连接工具,使用效果非常好。本文主要从冰蝎使用过程产生的流量里提取检测特征。部分提取思路从基于流量侧检测冰蝎webshell交互通讯获得了启发。后经过测试发现了关于冰蝎工具的通用检测特征(针对目前已公开的版本)。下面详细介绍本文内容。

2⃣️、各版本对比

        目前冰蝎共分为六个版本分别是:V1.0、V1.1、V1.2、V1.2.1、V2.0、V2.0.1。其中从V1.1开始(包含V1.1)新增随机UserAgent支持,每次会话会从17种常见UserAgent中随机选取。其中各版本详细区别看参考冰蝎各版本更新日志。

3⃣️、流量分析

        以下部分主要描述基于流量侧检测冰蝎webshell交互通讯?️没有介绍到的或者笔者经过测试后与其的不同点。以及提取关于冰蝎工具的通用特征
        测试环境:

win7 x64运行服务端分别包含phpStudy、java version "10.0.2、apache-tomcat-9.0.10、IIS。
win7 x32运行客户端java version “1.8.0_171”、各版本冰蝎工具。

        针对PHP类型,都需要开启扩展openssl冰蝎工具才能正常连接上。

V1.0

        针对V1.0版本的冰蝎工具,笔者经过模拟测试php-webshell如下所示:
V1.0
        如下图所示是首包的关键信息:

首包请求方法GET
User-Agent:Java/1.8.0_171
完整URL172.16.103.169/shell.php?pass=1
首包响应状态码200
Content-Length:16
响应内容b748de2f2e199344

        以下是首个POST包的关键信息:

请求方法POST
User-Agent:Java/1.8.0_171
响应状态码200
Transfer-Encoding:chunked

        从首包请求中可以了解到,首包完整的请求URL?️包含了webshell的密码(pass),此处需要考虑的是当密码”pass“变化的时候,请求URL是否也会变化呢?以及响应体长度为16Byte,并且User-Agent为Java/1.8.0_171,经过对比可发现此处的User-Agent的值与测试机JAVA环境有关,故不能作为检测特征。
        在首个POST包?️请求测User-Agent为Java/1.8.0_171,响应头?️出现Transfer-Encoding: chunked,通过检索可发现在动态网页?️都有可能出现此值,因此POST方法+“Transfer-Encoding: chunked“的检测误报率也会挺大的。
        到这里可以针对V1.0可以想到的检测特征就是针对请求首包的检测。关键点分别如下:

1、请求方法
2、请求URL
3、响应状态码
4、响应体长度
5、响应体内容

V1.1

        冰蝎工具从V1.1开始(包含V1.1)新增随机UserAgent支持,每次会话会从17种常见UserAgent中随机选取。
        如下图所示是针对V1.1冰蝎版本的php类webshell的测试:
V1.1        以下所示是V1.1首包的关键信息:

首包请求方法GET
完整URL172.16.103.169/shell.php?pass=1224142732
首包响应状态码200
Content-Length:16
响应内容821d6147c3f2d9bc

        以下所示是V1.1首个POST包的关键信息:

请求方法POST
响应状态码200
Transfer-Encoding:chunked

        在V1.1版本?️除了user-agent:其他信息和V1.0都很类似。

V2.0.1

        以下是V2.0.1的php测试记录,如下图所示:
V2.0.1
        以下所示是V2.0.1(php)首包的关键信息:

首包请求方法GET
完整URL172.16.103.169/shell.php?pass=230
首包响应状态码200
Content-Length:16
响应内容86aa2b3ba044f7af

        以下是V2.0.1的asp测试记录,如下图所示:
V2.0.1-asp
        以下所示是V2.0.1(asp)首包的关键信息:

首包请求方法GET
完整URL172.16.103.169/shell.php?pass=621
首包响应状态码200
Content-Length:16
响应内容7F4FFE3A66F63D50

        通过对V2.0.1的asp、php类型的测试发现首个请求包和V1.0也是及其类似。

更换密码“pass”

        以下所示为更换了密码“pass”后在V2.0.1?️php类型的测试结果,密码更换为了“chopper”。
Vchopper
        以下所示是V2.0.1(php)更换密码后首包的关键信息:

首包请求方法GET
完整URL172.16.103.169/shell.php?chopper=146
首包响应状态码200
Content-Length:16
响应内容c4854b8ab7e8fc39

4⃣️、通用特征提取

        通过以上旧版本与新版本冰蝎工具做对比发现从请求首包提取检测特征是较为准确的。其中关键元素如下:

1、请求方法
2、请求URL
3、响应状态码
4、响应体长度
5、响应体内容

请求方法

        此处默认为GET

请求方法

        在请求URL?️webshell密码会嵌套其中,如“pass”、“chopper”。因此请求URL?️需要用正则表达式进行匹配。如下所示:
在这里插入图片描述

响应状态码

        此处默认为200

响应体长度

        此处默认为16

响应体内容

        此处需要进行正则匹配如下所示:
在这里插入图片描述

5⃣️、规则验证

        此处直接利用yara规则匹配数据包进行规则验证即可。如下所示为规则内容:
在这里插入图片描述
        yara检测结果如下:
在这里插入图片描述

6⃣️、总结

        冰蝎作为一款新的webshell连接工具与中国菜刀等不同的是其使用的是特定webshell且通信?(加密),用户反应效果好。与此同时各大厂商也给出了自己的检测规则,笔者此处用的yara检测由于没?️进行区别请求/响应测误报率应该不小。

7⃣️、奉上资源

        所有信息如有侵权,请及时与我联系!!!
        1、yara3.4.0
        2、冰蝎下载地址
        3、参考文章(@12306小哥)
        4、关于blog?️什么不对的地方或者疑问烦请评论区留言或者私信哈。
        5、关于blog用到的数据包等,如有需要请在评论区留下Email。

这篇关于webshell连接工具冰蝎检测特征提取的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/324179

相关文章

W外链微信推广短连接怎么做?

制作微信推广链接的难点分析 一、内容创作难度 制作微信推广链接时,首先需要创作有吸引力的内容。这不仅要求内容本身有趣、有价值,还要能够激起人们的分享欲望。对于许多企业和个人来说,尤其是那些缺乏创意和写作能力的人来说,这是制作微信推广链接的一大难点。 二、精准定位难度 微信用户群体庞大,不同用户的需求和兴趣各异。因此,制作推广链接时需要精准定位目标受众,以便更有效地吸引他们点击并分享链接

综合安防管理平台LntonAIServer视频监控汇聚抖动检测算法优势

LntonAIServer视频质量诊断功能中的抖动检测是一个专门针对视频稳定性进行分析的功能。抖动通常是指视频帧之间的不必要运动,这种运动可能是由于摄像机的移动、传输中的错误或编解码问题导致的。抖动检测对于确保视频内容的平滑性和观看体验至关重要。 优势 1. 提高图像质量 - 清晰度提升:减少抖动,提高图像的清晰度和细节表现力,使得监控画面更加真实可信。 - 细节增强:在低光条件下,抖

高效录音转文字:2024年四大工具精选!

在快节奏的工作生活中,能够快速将录音转换成文字是一项非常实用的能力。特别是在需要记录会议纪要、讲座内容或者是采访素材的时候,一款优秀的在线录音转文字工具能派上大用场。以下推荐几个好用的录音转文字工具! 365在线转文字 直达链接:https://www.pdf365.cn/ 365在线转文字是一款提供在线录音转文字服务的工具,它以其高效、便捷的特点受到用户的青睐。用户无需下载安装任何软件,只

烟火目标检测数据集 7800张 烟火检测 带标注 voc yolo

一个包含7800张带标注图像的数据集,专门用于烟火目标检测,是一个非常有价值的资源,尤其对于那些致力于公共安全、事件管理和烟花表演监控等领域的人士而言。下面是对此数据集的一个详细介绍: 数据集名称:烟火目标检测数据集 数据集规模: 图片数量:7800张类别:主要包含烟火类目标,可能还包括其他相关类别,如烟火发射装置、背景等。格式:图像文件通常为JPEG或PNG格式;标注文件可能为X

【Linux 从基础到进阶】Ansible自动化运维工具使用

Ansible自动化运维工具使用 Ansible 是一款开源的自动化运维工具,采用无代理架构(agentless),基于 SSH 连接进行管理,具有简单易用、灵活强大、可扩展性高等特点。它广泛用于服务器管理、应用部署、配置管理等任务。本文将介绍 Ansible 的安装、基本使用方法及一些实际运维场景中的应用,旨在帮助运维人员快速上手并熟练运用 Ansible。 1. Ansible的核心概念

基于 YOLOv5 的积水检测系统:打造高效智能的智慧城市应用

在城市发展中,积水问题日益严重,特别是在大雨过后,积水往往会影响交通甚至威胁人们的安全。通过现代计算机视觉技术,我们能够智能化地检测和识别积水区域,减少潜在危险。本文将介绍如何使用 YOLOv5 和 PyQt5 搭建一个积水检测系统,结合深度学习和直观的图形界面,为用户提供高效的解决方案。 源码地址: PyQt5+YoloV5 实现积水检测系统 预览: 项目背景

Java 连接Sql sever 2008

Java 连接Sql sever 2008 /Sql sever 2008 R2 import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.Statement; public class TestJDBC

JavaFX应用更新检测功能(在线自动更新方案)

JavaFX开发的桌面应用属于C端,一般来说需要版本检测和自动更新功能,这里记录一下一种版本检测和自动更新的方法。 1. 整体方案 JavaFX.应用版本检测、自动更新主要涉及一下步骤: 读取本地应用版本拉取远程版本并比较两个版本如果需要升级,那么拉取更新历史弹出升级控制窗口用户选择升级时,拉取升级包解压,重启应用用户选择忽略时,本地版本标志为忽略版本用户选择取消时,隐藏升级控制窗口 2.

实例:如何统计当前主机的连接状态和连接数

统计当前主机的连接状态和连接数 在 Linux 中,可使用 ss 命令来查看主机的网络连接状态。以下是统计当前主机连接状态和连接主机数量的具体操作。 1. 统计当前主机的连接状态 使用 ss 命令结合 grep、cut、sort 和 uniq 命令来统计当前主机的 TCP 连接状态。 ss -nta | grep -v '^State' | cut -d " " -f 1 | sort |

超强的截图工具:PixPin

你是否还在为寻找一款功能强大、操作简便的截图工具而烦恼?市面上那么多工具,常常让人无从选择。今天,想给大家安利一款神器——PixPin,一款真正解放双手的截图工具。 想象一下,你只需要按下快捷键就能轻松完成多种截图任务,还能快速编辑、标注甚至保存多种格式的图片。这款工具能满足这些需求吗? PixPin不仅支持全屏、窗口、区域截图等基础功能,它还可以进行延时截图,让你捕捉到每个关键画面。不仅如此