反弹shell行为的检测方法、系统、存储介质和终端技术方案

技术编号:36542062 阅读:30 留言:0更新日期:2023-02-01 16:43
本申请提供一种反弹shell行为的检测方法,包括:获取安全外壳协议SSH连接中反向传输层中的数据包;确定所述数据包包含的数据包类型;若各所述数据包的数据大小均满足其所属数据包类型对应的阈值区间,确定存在反弹shell行为。本申请无需依赖于终端进程信息,无需对终端命令行中的SSH反弹shell命令进行检测,完全通过流量侧的方式检测SSH反弹shell行为。其次,本申请不依赖于SSH协议特定字段,无需对SSH加密后流量进行解密,只依据通过SSH会话反向传输层的数据包特征,即可对SSH反弹shell行为进行检测。本申请还提供一种反弹shell行为的检测系统、存储介质和终端,具有上述有益效果。果。果。

【技术实现步骤摘要】
反弹shell行为的检测方法、系统、存储介质和终端


[0001]本申请涉及数据存储领域,特别涉及一种反弹shell行为的检测方法、系统、存储介质和终端。

技术介绍

[0002]在内网渗透中,为了绕过防火墙端口策略,黑客会使用反弹shell达到控制内网主机的目的。反弹shell就是控制端监听在某TCP/UDP端口,被控端发起请求到该端口,并将其命令行的输入输出转到控制端。反弹shell与telnet,ssh等标准shell对应,本质上是网络概念的客户端与服务端的角色反转。通常用于被控端因防火墙受限、权限不足、端口被占用等情形。SSH(Secure Shell,安全外壳协议)反弹shell则是基于SSH协议的搭建反弹shell方式,相比于其他协议的反弹shell,SSH会自动加密和解密所有SSH客户端与服务端之间的流量,从而有效避免被防火墙检测。而且基本所有Linux服务器会搭载SSH协议应用,为SSH反弹shell广泛使用提供基本条件。
[0003]当前主要采用基于终端进程信息的方式进行检测,需要对搭载SSH协议的主机或服务器进行监控,当其产生搭建SSH反弹shell命令行时,即判断此主机具有SSH反弹shell行为,但该方式主要只能对Linux系统的主机进行检测,对于Windows端自定义的SSH软件,无法捕获到其中执行的命令,容易存在内网Windows主机执行SSH反弹shell被漏报的情况。
[0004]因此,如何提高对SSH反弹shell的检测效率是本领域技术人员亟需解决的技术问题。

技术实现思路

[0005]本申请的目的是提供一种反弹shell行为的检测方法、系统、存储介质和终端,能够提高对SSH反弹shell的检测效率。
[0006]为解决上述技术问题,本申请提供一种反弹shell行为的检测方法,具体技术方案如下:
[0007]获取安全外壳协议SSH连接中反向传输层中的数据包;
[0008]确定所述数据包包含的数据包类型;
[0009]若各所述数据包的数据大小均满足其所属数据包类型对应的阈值区间,确定存在反弹shell行为。
[0010]可选的,获取安全外壳协议SSH连接中反向传输层中的数据包之前,还包括:
[0011]确认搭建成功的安全外壳协议SSH连接;
[0012]检测所述安全外壳协议SSH连接包含的反向安全外壳协议SSH连接,并将所述反向安全外壳协议SSH连接作为所述反向传输层。
[0013]可选的,获取安全外壳协议SSH连接中反向传输层中的数据包包括:
[0014]获取安全外壳协议SSH连接中反向传输层中的标识子串、算法协商数据包、密钥交换数据包和密钥确认数据包中的任一种或任意几种的组合。
[0015]可选的,若各所述数据包的数据大小均满足其所属数据包类型对应的阈值区间,确定存在反弹shell行为之前,还包括:
[0016]确定所述标识子串、所述算法协商数据包、所述密钥交换数据包和所述密钥确认数据包各自对应的阈值区间。
[0017]可选的,获取安全外壳协议SSH连接中反向传输层中的数据包包括:
[0018]在安全外壳协议SSH连接双方执行协议版本交换阶段,获取所述反向传输层中的所述标识子串;
[0019]在安全外壳协议SSH连接双方执行算法协商阶段,获取所述反向传输层中的所述算法协商数据包;
[0020]在安全外壳协议SSH连接双方执行密钥交换阶段,获取所述反向传输层中的所述密钥交换数据包和所述密钥确认数据包。
[0021]可选的,若各所述数据包的数据大小均满足其所属数据包类型对应的阈值区间,确定存在反弹shell行为包括:
[0022]若所述标识子串的数据包大小满足第一阈值区间,对所述算法协商数据包进行数据包大小检测;
[0023]若所述算法协商数据包的数据包大小满足第二阈值区间,对所述密钥交换数据包进行数据包大小检测;
[0024]若所述密钥交换数据包的数据包大小满足第三阈值区间,对所述密钥确认数据包进行数据包大小检测;
[0025]若所述密钥交换数据包的数据包大小满足第四阈值区间,确认所述存在反弹shell行为。
[0026]可选的,获取安全外壳协议SSH连接中反向传输层中的数据包包括:
[0027]获取安全外壳协议SSH连接中的所有数据包;
[0028]检测各所述数据包的数据包传输方向;
[0029]根据所述数据包传输方向确定反向传输层中的数据包。
[0030]本申请还提供一种反弹shell行为的检测系统,包括:
[0031]数据包获取模块,用于获取安全外壳协议SSH连接中反向传输层中的数据包;
[0032]数据包类型检测模块,用于确定所述数据包包含的数据包类型;
[0033]数据包大小检测模块,用于若各所述数据包的数据大小均满足其所属数据包类型对应的阈值区间,确定存在反弹shell行为。
[0034]可选的,还包括:
[0035]反向传输层确定模块,用于确认搭建成功的安全外壳协议SSH连接;检测所述安全外壳协议SSH连接包含的反向安全外壳协议SSH连接,并将所述反向安全外壳协议SSH连接作为所述反向传输层。
[0036]本申请还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的方法的步骤。
[0037]本申请还提供一种终端,包括存储器和处理器,所述存储器中存有计算机程序,所述处理器调用所述存储器中的计算机程序时实现如上所述的方法的步骤。
[0038]本申请提供一种反弹shell行为的检测方法,包括:获取安全外壳协议SSH连接中
反向传输层中的数据包;确定所述数据包包含的数据包类型;若各所述数据包的数据大小均满足其所属数据包类型对应的阈值区间,确定存在反弹shell行为。
[0039]本申请通过抓取一系列SSH数据包特征,匹配SSH反弹shell搭建过程中的特定行为,达到检测加密SSH流量中的反弹shell的目的。无需依赖于终端进程信息,无需对终端命令行中的SSH反弹shell命令进行检测,完全通过流量侧的方式检测SSH反弹shell行为。其次,本申请不依赖于SSH协议特定字段,无需对SSH加密后流量进行解密,只依据通过SSH会话反向传输层的数据包特征,即可对SSH反弹shell行为进行检测。由此可见,本申请提供了一种新型SSH反弹shell行为的检测方式,具有较强的普适性,便于广泛应用在各类设备。
[0040]本申请还提供一种反弹shell行为的检测系统、存储介质和终端,具有上述有益效果,此处不再赘述。
附图说明
[0041]为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种反弹shell行为的检测方法,其特征在于,包括:获取安全外壳协议SSH连接中反向传输层中的数据包;确定所述数据包包含的数据包类型;若各所述数据包的数据大小均满足其所属数据包类型对应的阈值区间,确定存在反弹shell行为。2.根据权利要求1所述的反弹shell行为的检测方法,其特征在于,获取安全外壳协议SSH连接中反向传输层中的数据包之前,还包括:确认搭建成功的安全外壳协议SSH连接;所述获取安全外壳协议SSH连接中反向传输层中的数据包,包括:检测所述安全外壳协议SSH连接包含的反向安全外壳协议SSH连接,所述反向安全外壳协议SSH连接即为所述反向传输层。3.根据权利要求1所述的反弹shell行为的检测方法,其特征在于,获取安全外壳协议SSH连接中反向传输层中的数据包包括:获取安全外壳协议SSH连接中反向传输层中的标识子串、算法协商数据包、密钥交换数据包和密钥确认数据包中的任一种或任意几种的组合。4.根据权利要求3所述的反弹shell行为的检测方法,其特征在于,若各所述数据包的数据大小均满足其所属数据包类型对应的阈值区间,确定存在反弹shell行为之前,还包括:确定所述标识子串、所述算法协商数据包、所述密钥交换数据包和所述密钥确认数据包各自对应的阈值区间。5.根据权利要求3或4所述的反弹shell行为的检测方法,其特征在于,获取安全外壳协议SSH连接中反向传输层中的数据包包括:在安全外壳协议SSH连接双方执行协议版本交换阶段,获取所述反向传输层中的所述标识子串;在安全外壳协议SSH连接双方执行算法协商阶段,获取所述反向传输层中的所述算法协商数据包;在安全外壳协议SSH连接双方执行密钥交换阶段,获取所述反向传输层中的所述密钥交换数据包和所述密钥确认数...

【专利技术属性】
技术研发人员:陶磊闫凡刘书文
申请(专利权)人:深信服科技股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1