一种自定义漏洞检测和漏洞利用系统及方法技术方案

技术编号:39520944 阅读:15 留言:0更新日期:2023-11-25 19:00
本申请公开了一种自定义漏洞检测和漏洞利用系统及方法,其中系统包括交互模块

【技术实现步骤摘要】
一种自定义漏洞检测和漏洞利用系统及方法


[0001]本申请涉及一种涉及漏洞攻击系统,属信息安全领域,尤其涉及一种自定义漏洞检测和漏洞利用系统及方法


技术介绍

[0002]对于漏洞检测或攻击类产品,想要扩展其扫描或攻击能力,传统的方法是通过用户编写符合其平台编码规范及编程语言的脚本文件,并手动添加至对应脚本目录或通过界面上传对应脚本文件来实现

因此,需要提前了解平台编码规范

对应编程语言

平台脚本框架特性,研发人员通常需要花费较多时间进行学习或理解

此外,由于不同平台使用的脚本编码规范不一致

编程语言不统一,在编写时对使用者的编程能力要求较高

操作繁琐,致使扩展难度较大

[0003]而在工控领域中,存在大量非
HTTP
协议,也存在无法有效覆盖工控漏洞

需认证漏洞的问题

[0004]目前的漏洞检测和漏洞利用的系统主要存在以下缺陷:
[0005]1、
因编码规范不统一

编程语言不一致等原因导致的漏洞检测及利用脚本扩展的难度高;
[0006]2、
可自定义的协议覆盖面不足,导致对于最新发现的漏洞或私有工业协议的漏洞无法进行高效

快捷的扩展检测及脚本利用,也无法及时进行检测和利用;
[0007]3、
脚本执行结果判断方式过于单一,导致判断结果准确性降低;
[0008]4、
对于采用了会话认证的漏洞,无法扩展自定义检测脚本及漏洞利用脚本;
[0009]5、
无法针对采用了会话认证的漏洞进行检测及攻击脚本的快速扩充


技术实现思路

[0010]根据本申请的一个方面,提供了一种自定义漏洞检测和漏洞利用系统,该系统能够有效降低漏洞检测及漏洞利用脚本扩展难度,实现快速扩展脚本的功能,并且降低用户调试脚本难度

[0011]该系统包括交互模块

脚本管理模块

脚本运行模块;其中,
[0012]所述交互模块,用于实现与用户的界面交互;根据用户保存的自定义漏洞检测数据,调用脚本运行模块提供的单点扫描功能接口进行单点扫描验证;
[0013]所述脚本管理模块,用于根据所述交互模块传输的自定义漏洞检测或攻击数据,自动生成符合规范的漏洞检测或漏洞利用脚本,将脚本文件存储至脚本目录,脚本基本数据存储至脚本数据库;将新增漏洞
ID
返回给所述交互模块;
[0014]所述脚本运行模块,用于实现脚本文件的执行

扫描和攻击详情信息的回显

[0015]优选地,所述交互模块还用于,根据用户保存的自定义漏洞攻击数据,通过所述脚本管理模块查询所述新增漏洞
ID
对应的攻击脚本的攻击参数,在交互界面提示用户填写参数值;调用脚本运行模块提供的单点攻击功能接口

[0016]优选地,所述自定义漏洞检测或所述自定义漏洞攻击数据包括脚本参数

结果判断方式和测试项

[0017]优选地,所述脚本参数为脚本所需的用户从交互界面输入的参数,包括参数名

参数默认值

参数提示信息

[0018]优选地,所述结果判断方式为判断脚本成功或失败的方式

[0019]优选地,所述结果判断方式包括但不限于以下任意一种:拒绝服务

响应匹配

用户自行判断

[0020]优选地,所述测试项用于描述一次对目标的“建连

发包

收包

匹配”操作;一个完整的测试项至少包括请求定制数据

响应匹配条件数据,其中,所述请求定制数据用于描述漏洞检测或漏洞利用应该如何对目标进行发包;所述响应匹配条件用于描述漏洞检测或漏洞利用对响应数据进行匹配的方式

[0021]优选地,所述请求定制数据支持的协议包括但不限于:
HTTP、HTTPS、TCP、UDP
协议

[0022]优选地,所述测试项还包括自定义变量,所述自定义变量为:从响应数据中提取值作为变量供后置测试项使用

[0023]优选地,所述脚本运行模块包括:
[0024]遍历子模块,用于从交互模块获取用户输入的指定目标
、IP、
脚本参数

指定漏洞,加载对应脚本,解析自定义漏洞检测或漏洞利用数据,获得脚本描述的所有测试项,遍历各测试项,获取各测试项的数据,包括请求协议

请求负载

响应匹配条件

自定义脚本参数;
[0025]处理子模块,用于替换请求负载数据中的脚本参数,替换请求负载数据中的自定义变量值,获得实际负载数据;协议支持
HTTP、HTTPs、TCP、UDP
协议;其中
TCP

UDP
协议支持对请求报文进行自定义,负载数据格式支持十六进制字符串,支持多连接多请求报文及单连接单请求报文;
HTTP
协议及
HTTPs
协议支持请求头

请求体数据自定义,数据格式支持可见字符文本;
[0026]传输子模块,用于根据请求协议,向所述指定目标发送负载数据,等待接收响应数据,解析响应数据字段,作为响应数据待匹配域;
[0027]匹配子模块,用于根据响应匹配条件,指定匹配算法对响应数据
(
指定匹配域
)
进行匹配,返回布尔值匹配结果;
[0028]自定义变量子模块,用于根据自定义变量的定义条件,对响应数据进行变量提取并存储,用于后置测试项负载对应变量值替换;
[0029]执行结果判断子模块,用于根据结果判断方式的值,确定脚本执行结果:选中拒绝服务选项,则脚本运行模块会在脚本执行完成后,自动判断目标是否已拒绝服务;选中命中响应匹配条件,脚本运行模块会命中所有匹配条件后,判断目标扫描或攻击成功,否则扫描或攻击失败;选择用户自行判断,则在脚本执行完成后,无论响应匹配条件是否命中成功,状态都显示让目标自行判断

[0030]根据本申请的又一个方面,提供了一种基于上述自定义漏洞检测和漏洞利用系统的方法,该方法包括:
[0031](1)
交互模块获取用户填写的漏洞基本信息

自定义漏洞检测或攻击数据,在用户点击保存漏洞时,将数据传输至脚本管理模块进行存储;
[0032](2)
脚本管理模块根据脚本预制模板,根据所述交互模块传输的自定义漏洞检测<本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种自定义漏洞检测和漏洞利用系统,其特征在于,该系统包括交互模块

脚本管理模块

脚本运行模块;其中,所述交互模块,用于实现与用户的界面交互;根据用户保存的自定义漏洞检测数据,调用脚本运行模块提供的单点扫描功能接口进行单点扫描验证;所述脚本管理模块,用于根据所述交互模块传输的自定义漏洞检测或攻击数据,自动生成符合规范的漏洞检测或漏洞利用脚本,将脚本文件存储至脚本目录,脚本基本数据存储至脚本数据库;将新增漏洞
ID
返回给所述交互模块;所述脚本运行模块,用于实现脚本文件的执行

扫描和攻击详情信息的回显
。2.
根据权利要求1所述的自定义漏洞检测和漏洞利用系统,其特征在于,所述交互模块还用于,根据用户保存的自定义漏洞攻击数据,通过所述脚本管理模块查询所述新增漏洞
ID
对应的攻击脚本的攻击参数,在交互界面提示用户填写参数值;调用脚本运行模块提供的单点攻击功能接口
。3.
根据权利要求1所述的自定义漏洞检测和漏洞利用系统,其特征在于,所述自定义漏洞检测或所述自定义漏洞攻击数据包括脚本参数

结果判断方式和测试项;优选地,所述结果判断方式为判断脚本成功或失败的方式;优选地,所述结果判断方式包括以下至少一种:拒绝服务

响应匹配

用户自行判断;优选地,所述测试项用于描述一次对目标的“建连

发包

收包

匹配”操作;一个完整的测试项至少包括请求定制数据

响应匹配条件数据,其中,所述请求定制数据用于描述漏洞检测或漏洞利用应该如何对目标进行发包;所述响应匹配条件用于描述漏洞检测或漏洞利用对响应数据进行匹配的方式;优选地,所述请求定制数据支持的协议包括:
HTTP、HTTPS、TCP、UDP
协议;优选地,所述测试项还包括自定义变量,所述自定义变量为:从响应数据中提取值作为变量供后置测试项使用
。4.
根据权利要求1所述的自定义漏洞检测和漏洞利用系统,其特征在于,所述脚本运行模块包括:遍历子模块,用于从交互模块获取用户输入的指定目标
、IP、
脚本参数

指定漏洞,加载对应脚本,解析自定义漏洞检测或漏洞利用数据,获得脚本描述的所有测试项,遍历各测试项,获取各测试项的数据,包括请求协议

请求负载

响应匹配条件

自定义脚本参数;处理子模块,用于替换请求负载数据中的脚本参数,替换请求负载数据中的自定义变量值,获得实际负载数据;协议支持
HTTP、HTTPs、TCP、UDP
协议;其中
TCP

UDP
协议支持对请求报文进行自定义,负载数据格式支持十六进制字符串,支持多连接多请求报文及单连接单请求报文;
HTTP
协议及
HTTPs
协议支持请求头

请求体数据自定义,数据格式支持可见字符文本;传输子模块,用于根据请求协议,向所述指定目标发送负载数据,等待接收响应数据,解析响应数据字段,作为响应数据待匹配域;匹配子模块,用于根据响应匹配条件,指定匹配算法对响应数据进行匹配,返回布尔值匹配结果;自定义变量子模块,用于根据自定义变量的定义条件,对响应数据进行变量提取并存储,用于后置测试项负载对应变量值替换;
执行结果判断子模块,用于根据结果判断方式的值,确定脚本执行结果:选中拒绝服务选项,则脚本运行模块会在脚本执行完成后,自动判断目标是否已拒绝服务;选中命中响应匹配条件,脚本运行模块会命中所有匹配条件后,判断目标扫描或攻击成功,否则扫描或攻击失败;选择用户自行判断,则在脚本执行完成后,无论响应匹配条件是否命中成功,状态都显示让目标自行判断
。5.
一种自定义漏洞检测和漏洞利用方法,其特征在于,该方法包括:
(1)
交互模块获取用户填写的漏洞基本信息

自定义漏洞检测或攻击数据,在用户点击保存漏洞时,将数据传输至脚本管理模块进行存储;
(2)
脚本管理模块根据脚本预制模板,根据所述交互模块传输的自定义漏洞检测或攻击数据,自动生成符合规范的漏洞检测或漏洞利用脚本,将脚本文件存储至脚本目录,脚本基本数据存储至脚本数据库;将新增漏洞
ID
返回给所述交互模块;
(3)
当交互模块收到用户保存的自定义漏洞检测数据时,调用脚本运行模块提供的单点扫描功能接口进行单点扫描验证;所述脚本运行模块执行对应的脚本,向所述交互模块输出匹配结果及匹配详情;交互模块回显单点扫描结果及扫描详情
。6.
根据权利要求5所述的自定义漏...

【专利技术属性】
技术研发人员:傅涛夏康丽
申请(专利权)人:博智安全科技股份有限公司
类型:发明
国别省市:

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

1