System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及网络安全,特别是涉及一种poc批量验证方法、装置、设备和计算机可读存储介质。
技术介绍
1、poc(proof of concept,概念证明)是一段程序代码,用于证明漏洞的存在并展示其在实际环境中的影响。当研究人员或安全专家发现某款程序、软件或系统存在漏洞时,他们会通过撰写poc证明该漏洞的存在。然而,证明poc的有效性并不是一件简单的事。不同的操作系统版本、软件版本、安装依赖等不同配置,都可能对poc的执行产生影响,使得poc不能准确反映漏洞的影响。因此为了证明poc的有效性,需要在不同的环境中验证它的执行效果,这就需要建立多个独立的漏洞验证环境虚拟机。
2、假设一个office2012程序存在任意命令执行漏洞,并已编写了poc。为了验证该poc在不同操作系统、不同程序版本、不同防护软件上的执行效果,我们需要配置不同的虚拟机环境。不同操作系统可以包含windows xp、windows 7、windows 10,不同程序版本可以包含office2012、office2016、office2021,不同防护软件可以包含360杀毒、金山毒霸、qq电脑管家。配置第一个虚拟机环境为windows7、office2012、360杀毒,配置第二个虚拟机环境为windows 7、office2016、360杀毒,依次类推,根据不同操作系统、不同程序版本、不同防护软件的组合搭配,合计需要配置27个虚拟机。然而,手动完成这些测试任务,会增加巨大的工作量,导致准确性不能得到保证,浪费大量时间。
3、可见,如何提
技术实现思路
1、本申请实施例的目的是提供一种poc批量验证方法、装置、设备和计算机可读存储介质,可以提升poc验证的效率。
2、为解决上述技术问题,本申请实施例提供一种poc批量验证方法,包括:
3、从模板库中选取与验证需求匹配的目标操作系统模板和目标软件模板;其中,所述模板库包括多个操作系统模板和多个软件模板;
4、依据所述目标操作系统模板和所述目标软件模板,构建漏洞验证环境虚拟机;
5、将接收的poc文件传输至各所述漏洞验证环境虚拟机;
6、所述poc文件在各所述漏洞验证环境虚拟机中执行完毕后,运行验证脚本对所述poc文件的运行结果进行校验,以确定出所述poc文件指示的漏洞是否存在。
7、可选地,所述将接收的poc文件传输至各所述漏洞验证环境虚拟机包括:
8、在获取到用户上传至对象存储服务的poc文件后,从所述对象存储服务中读取所述poc文件,并将所述poc文件保存至系统本地临时文件夹;
9、调用连接函数连接虚拟机管理平台的系统接口;
10、基于所述系统接口获取各所述漏洞验证环境虚拟机的ip地址;
11、依据各所述ip地址将所述系统本地临时文件夹保存的所述poc文件上传至相应的所述漏洞验证环境虚拟机。
12、可选地,所述依据各所述ip地址将所述系统本地临时文件夹保存的所述poc文件上传至各所述漏洞验证环境虚拟机包括:
13、从预先构建的线程池中选取用于执行文件传输任务的多个线程;其中,选取的线程总数小于或等于所述漏洞验证环境虚拟机总数;
14、利用多个线程将所述poc文件并行上传至各所述ip地址对应的漏洞验证环境虚拟机。
15、可选地,所述运行验证脚本对所述poc文件的运行结果进行校验,以确定出所述poc文件指示的漏洞是否存在包括:
16、基于所述poc文件的poc效果,从验证脚本库中选取匹配的验证脚本;
17、运行所述验证脚本以获取所述poc文件的运行结果,在所述运行结果与所述验证脚本中包含的预期结果匹配的情况下,判定所述poc文件指示的漏洞存在。
18、可选地,所述运行所述验证脚本以获取所述poc文件的运行结果,在所述运行结果与所述验证脚本中包含的预期结果匹配的情况下,判定所述poc文件指示的漏洞存在包括:
19、在所述poc文件包含响应漏洞的情况下,将具有响应输出的命令作为验证数据包,并将所述验证数据包发送至具有所述响应漏洞的第一目标软件;在所述第一目标软件的返回结果符合预期结果的情况下,判定所述第一目标软件存在命令执行漏洞;
20、在所述poc文件包含非响应漏洞的情况下,判断具有非响应漏洞的第二目标软件是否正常联网;
21、在具有非响应漏洞的第二目标软件正常联网的情况下,将所述poc文件的dnslog服务的地址替换为设定的有效指令;运行包含所述有效指令的poc文件;在所述dnslog服务的日志中记录的dns请求信息与所述第二目标软件匹配的情况下,判定所述第二目标软件存在命令执行漏洞;
22、在具有非响应漏洞的第二目标软件无法正常联网的情况下,开启本机的一个随机端口,将依据本机ip和所述随机端口的端口号构造的验证数据包发送至所述第二目标软件;在本机网络流量日志中记录有来自于所述本机ip的请求并且请求端口为所述随机端口的情况下,判定所述第二目标软件存在命令执行漏洞。
23、可选地,在所述依据所述目标操作系统模板和所述目标软件模板,构建漏洞验证环境虚拟机之后,还包括:
24、将各所述漏洞验证环境虚拟机的ip地址映射到指定的url地址上。
25、可选地,所述依据所述目标操作系统模板和所述目标软件模板,构建漏洞验证环境虚拟机包括:
26、依据所述目标操作系统模板对创建的空虚拟机进行克隆,以得到所需数量的虚拟机;
27、根据所述目标操作系统模板和所述目标软件模板的组合方式,将各所述目标软件模板部署在匹配的虚拟机上,以得到漏洞验证环境虚拟机。
28、本申请实施例还提供了一种poc批量验证装置,包括选取单元、构建单元、传输单元和校验单元;
29、所述选取单元,用于从模板库中选取与验证需求匹配的目标操作系统模板和目标软件模板;其中,所述模板库包括多个操作系统模板和多个软件模板;
30、所述构建单元,用于依据所述目标操作系统模板和所述目标软件模板,构建漏洞验证环境虚拟机;
31、所述传输单元,用于将接收的poc文件传输至各所述漏洞验证环境虚拟机;
32、所述校验单元,用于所述poc文件在各所述漏洞验证环境虚拟机中执行完毕后,运行验证脚本对所述poc文件的运行结果进行校验,以确定出所述poc文件指示的漏洞是否存在。
33、可选地,所述传输单元包括读取子单元、保存子单元、调用子单元、获取子单元和上传子单元;
34、所述读取子单元,用于在获取到用户上传至对象存储服务的poc文件后,从所述对象存储服务中读取所述poc文件;
35、所述保存子单元,用于将所述poc文件保存至系统本地临时文件夹;
36、所述调用子单元,用于调用连接函数连接本文档来自技高网...
【技术保护点】
1.一种POC批量验证方法,其特征在于,包括:
2.根据权利要求1所述的POC批量验证方法,其特征在于,所述将接收的POC文件传输至各所述漏洞验证环境虚拟机包括:
3.根据权利要求2所述的POC批量验证方法,其特征在于,所述依据各所述IP地址将所述系统本地临时文件夹保存的所述POC文件上传至各所述漏洞验证环境虚拟机包括:
4.根据权利要求1所述的POC批量验证方法,其特征在于,所述运行验证脚本对所述POC文件的运行结果进行校验,以确定出所述POC文件指示的漏洞是否存在包括:
5.根据权利要求4所述的POC批量验证方法,其特征在于,所述运行所述验证脚本以获取所述POC文件的运行结果,在所述运行结果与所述验证脚本中包含的预期结果匹配的情况下,判定所述POC文件指示的漏洞存在包括:
6.根据权利要求1所述的POC批量验证方法,其特征在于,在所述依据所述目标操作系统模板和所述目标软件模板,构建漏洞验证环境虚拟机之后,还包括:
7.根据权利要求1至6任意一项所述的POC批量验证方法,其特征在于,所述依据所述目标操作系统
8.一种POC批量验证装置,其特征在于,包括选取单元、构建单元、传输单元和校验单元;
9.一种电子设备,其特征在于,包括:
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7任意一项所述POC批量验证方法的步骤。
...【技术特征摘要】
1.一种poc批量验证方法,其特征在于,包括:
2.根据权利要求1所述的poc批量验证方法,其特征在于,所述将接收的poc文件传输至各所述漏洞验证环境虚拟机包括:
3.根据权利要求2所述的poc批量验证方法,其特征在于,所述依据各所述ip地址将所述系统本地临时文件夹保存的所述poc文件上传至各所述漏洞验证环境虚拟机包括:
4.根据权利要求1所述的poc批量验证方法,其特征在于,所述运行验证脚本对所述poc文件的运行结果进行校验,以确定出所述poc文件指示的漏洞是否存在包括:
5.根据权利要求4所述的poc批量验证方法,其特征在于,所述运行所述验证脚本以获取所述poc文件的运行结果,在所述运行结果与所述验证脚本中包含的预期结果匹配的情况...
【专利技术属性】
技术研发人员:王剑,陈炯峄,苏云飞,王勉坤,刘承武,李瑞林,冯超,
申请(专利权)人:中国人民解放军国防科技大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。