CN115987673B - 基于事件驱动的漏洞渗透测试系统、方法、装置、介质及设备 - Google Patents
基于事件驱动的漏洞渗透测试系统、方法、装置、介质及设备 Download PDFInfo
- Publication number
- CN115987673B CN115987673B CN202211730434.8A CN202211730434A CN115987673B CN 115987673 B CN115987673 B CN 115987673B CN 202211730434 A CN202211730434 A CN 202211730434A CN 115987673 B CN115987673 B CN 115987673B
- Authority
- CN
- China
- Prior art keywords
- working node
- event
- data
- vulnerability
- node
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 230000035515 penetration Effects 0.000 title claims abstract description 95
- 238000012360 testing method Methods 0.000 title claims abstract description 71
- 238000000034 method Methods 0.000 title claims description 24
- 238000004519 manufacturing process Methods 0.000 claims abstract description 51
- 238000012544 monitoring process Methods 0.000 claims abstract description 20
- 238000001514 detection method Methods 0.000 claims description 28
- 230000009193 crawling Effects 0.000 claims description 20
- 238000012795 verification Methods 0.000 claims description 17
- 230000004083 survival effect Effects 0.000 claims description 15
- 238000012432 intermediate storage Methods 0.000 claims description 10
- 238000003860 storage Methods 0.000 claims description 8
- 239000000523 sample Substances 0.000 claims description 7
- 238000004590 computer program Methods 0.000 claims description 5
- 230000003993 interaction Effects 0.000 claims description 3
- 238000010998 test method Methods 0.000 claims description 3
- 230000004913 activation Effects 0.000 claims description 2
- 230000009471 action Effects 0.000 description 12
- 238000010586 diagram Methods 0.000 description 11
- 230000008569 process Effects 0.000 description 8
- 230000006870 function Effects 0.000 description 3
- 238000011161 development Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000008595 infiltration Effects 0.000 description 2
- 238000001764 infiltration Methods 0.000 description 2
- 102100030343 Antigen peptide transporter 2 Human genes 0.000 description 1
- 108050001544 Antigen peptide transporter 2 Proteins 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本公开提供了一种基于事件驱动的漏洞渗透测试系统、方法、装置及设备,所述系统至少包括第一工作节点和第二工作节点,第一工作节点和第二工作节点分别配置有漏洞渗透任务,第一工作节点用于在获取到符合第一工作节点对应的预设事件生产条件的数据时,基于获取到的数据生产事件,并针对生产的事件进行广播,第二工作节点用于对广播的事件进行监听,并在监听到符合第二工作节点对应的预设事件消费条件的事件时,驱动第二工作节点所配置的漏洞渗透任务执行,并输出任务执行数据,任务执行数据用于作为第一工作节点生产事件的基础数据。本公开实施例基于事件驱动执行漏洞渗透测试,实现了渗透测试的自动化与迭代化,从而提高了漏洞渗透测试的效率。
Description
技术领域
本公开涉及网络安全技术领域,尤其涉及一种基于事件驱动的漏洞渗透测试系统、方法、装置及设备。
背景技术
随着互联网技术的发展,网络的应用越来越广泛,网络安全越来越重要。目前,保障网络安全较好的方法是漏洞渗透测试,即让专业的网络安全人员做安全测试评估。早期依赖测试人员进行安全渗透测试,人工渗透方法一方面消耗人力资源较大,另一方面测试效率较低,渐渐无法满足客户的测试需求。
目前相关技术中,通常基于自动化渗透测试工具进行安全渗透测试,例如,自动化渗透测试工具包括APT2渗透测试套件、Autosploit渗透测试工具和Awesome-Hacking工具等。基于当前相关技术,仅仅为基于已有的网络攻击工具进行渗透测试,智能性不足,从而影响漏洞渗透测试的效率。
发明内容
为了解决上述技术问题,本公开实施例提供了一种基于事件驱动的漏洞渗透测试系统、方法、装置及设备。
第一方面,本公开提供了一种基于事件驱动的漏洞渗透测试系统,所述系统至少包括第一工作节点和第二工作节点,所述第一工作节点和所述第二工作节点分别配置有漏洞渗透任务;
所述第一工作节点,用于在获取到符合所述第一工作节点对应的预设事件生产条件的数据时,基于获取到的数据生产事件,并针对生产的事件进行广播;
所述第二工作节点,用于对广播的事件进行监听,并在监听到符合所述第二工作节点对应的预设事件消费条件的事件时,驱动所述第二工作节点所配置的漏洞渗透任务执行,并输出任务执行数据;其中,所述任务执行数据用于作为所述第一工作节点生产事件的基础数据。
一种可选的实施方式中,所述第一工作节点包括IP/端口探活工作节点;
所述IP/端口探活工作节点,具体用于在确定获取到的数据中存在IP数据和端口数据时,基于所述IP数据和所述端口数据生产IP/端口存活事件,并针对所述IP/端口存活事件进行广播。
一种可选的实施方式中,所述第二工作节点包括网络系统信息爬取工作节点;
所述网络系统信息爬取工作节点,具体用于在监听到所述IP/端口存活事件时,驱动所述网络系统信息爬取工作节点所配置的漏洞渗透任务执行,并输出任务执行数据。
一种可选的实施方式中,所述第一工作节点包括网络系统信息爬取工作节点;
所述网络系统信息爬取工作节点,具体用于在确定获取到的数据中存在预设攻击点数据和预设漏洞数据时,生产目标探测成功事件,并针对所述目标探测成功事件进行广播;其中,所述预设攻击点数据包括攻击点的IP数据、端口数据、类型数据、版本数据和框架/组件数据,所述预设漏洞数据包括漏洞号和漏洞类型。
一种可选的实施方式中,所述第二工作节点包括主机识别工作节点;
所述主机识别工作节点,具体用于在监听到所述目标探测成功事件时,驱动所述主机识别工作节点所配置的漏洞渗透任务执行,并输出任务执行数据。
一种可选的实施方式中,所述第二工作节点包括漏洞利用工作节点;
所述漏洞利用工作节点,具体用于在监听到所述目标探测成功事件时,驱动所述漏洞利用工作节点所配置的漏洞渗透任务执行,并输出任务执行数据。
一种可选的实施方式中,所述第一工作节点包括主机识别工作节点;
所述主机识别工作节点,具体用于在确定获取到的数据中存在IP数据、端口数据、漏洞号和POCID数据时,生产漏洞验证成功事件,并针对所述漏洞验证成功事件进行广播。
一种可选的实施方式中,所述第二工作节点包括漏洞利用工作节点;
所述漏洞利用工作节点,具体用于在监听到所述漏洞验证成功事件时,驱动所述漏洞利用工作节点所配置的漏洞渗透任务执行,并输出任务执行数据。
一种可选的实施方式中,所述第一工作节点包括漏洞利用工作节点;
所述漏洞利用工作节点,具体用于在确定获取到的数据中存在IP数据、端口数据、漏洞号和攻击路径时,生产漏洞渗透成功事件,并针对所述漏洞渗透成功事件进行广播。
一种可选的实施方式中,所述第二工作节点,还用于将执行所述第二工作节点所配置的漏洞渗透任务的过程中产生的数据存储于中间存储模块中;其中,所述中间存储模块用于支持不同的工作节点之间的数据交互。
第二方面,本公开提供了一种基于事件驱动的漏洞渗透测试方法,所述方法包括:
通过第一工作节点在确定获取到符合所述第一工作节点对应的预设事件生产条件的数据时,基于获取到的数据生产事件,并针对生产的事件进行广播;
通过第二工作节点对广播的事件进行监听,并在监听到符合所述第二工作节点对应的预设事件消费条件的事件时,驱动所述第二工作节点所配置的漏洞渗透任务执行,并输出任务执行数据;其中,所述任务执行数据用于作为所述第一工作节点生产事件的基础数据。
第三方面,本公开提供了一种基于事件驱动的漏洞渗透测试装置,所述装置包括:
事件生产模块,用于通过第一工作节点在确定获取到符合所述第一工作节点对应的预设事件生产条件的数据时,基于获取到的数据生产事件,并针对生产的事件进行广播;
事件消费模块,用于通过第二工作节点对广播的事件进行监听,并在监听到符合所述第二工作节点对应的预设事件消费条件的事件时,驱动所述第二工作节点所配置的漏洞渗透任务执行,并输出任务执行数据;其中,所述任务执行数据用于作为所述第一工作节点生产事件的基础数据。
第四方面,本公开提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在终端设备上运行时,使得所述终端设备实现上述的方法。
第五方面,本公开提供了一种基于事件驱动的漏洞渗透测试设备,包括:存储器,处理器,及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现上述的方法。
本公开实施例提供的技术方案与现有技术相比至少具有如下优点:
本公开实施例提供了一种基于事件驱动的漏洞渗透测试系统,所述系统至少包括第一工作节点和第二工作节点,第一工作节点和第二工作节点分别配置有漏洞渗透任务,第一工作节点用于在获取到符合第一工作节点对应的预设事件生产条件的数据时,基于获取到的数据生产事件,并针对生产的事件进行广播,第二工作节点用于对广播的事件进行监听,并在监听到符合第二工作节点对应的预设事件消费条件的事件时,驱动第二工作节点所配置的漏洞渗透任务执行,并输出任务执行数据,其中,任务执行数据用于作为第一工作节点生产事件的基础数据。本公开实施例基于事件驱动执行漏洞渗透测试,实现了渗透测试的自动化与迭代化,从而提高了漏洞渗透测试的效率。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本公开实施例提供的一种基于事件驱动的漏洞渗透测试系统的结构示意图;
图2为本公开实施例提供的另一种基于事件驱动的漏洞渗透测试系统的结构示意图;
图3为本公开实施例提供的一种执行漏洞渗透任务的结构示意图;
图4为本公开实施例提供的另一种执行漏洞渗透任务的结构示意图;
图5为本公开实施例提供的一种基于事件驱动的漏洞渗透测试方法的流程图;
图6为本公开实施例提供的一种基于事件驱动的漏洞渗透测试装置的结构示意图;
图7为本公开实施例提供的一种基于事件驱动的漏洞渗透测试设备的结构示意图。
具体实施方式
为了能够更清楚地理解本公开的上述目的、特征和优点,下面将对本公开的方案进行进一步描述。需要说明的是,在不冲突的情况下,本公开的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本公开,但本公开还可以采用其他不同于在此描述的方式来实施;显然,说明书中的实施例只是本公开的一部分实施例,而不是全部的实施例。
为了提高了漏洞渗透测试的效率,本公开实施例提供了一种基于事件驱动的漏洞渗透测试系统,所述系统至少包括第一工作节点和第二工作节点,第一工作节点和第二工作节点分别配置有漏洞渗透任务,第一工作节点用于在获取到符合第一工作节点对应的预设事件生产条件的数据时,基于获取到的数据生产事件,并针对生产的事件进行广播,第二工作节点用于对广播的事件进行监听,并在监听到符合第二工作节点对应的预设事件消费条件的事件时,驱动第二工作节点所配置的漏洞渗透任务执行,并输出任务执行数据,其中,任务执行数据用于作为第一工作节点生产事件的基础数据。本公开实施例基于事件驱动执行漏洞渗透测试,实现了渗透测试的自动化与迭代化,从而提高了漏洞渗透测试的效率。
基于此,本公开实施例提供了一种基于事件驱动的漏洞渗透测试系统,参考图1,为本公开实施例提供的一种基于事件驱动的漏洞渗透测试系统的结构示意图,其中,基于事件驱动的漏洞渗透测试系统至少包括第一工作节点11和第二工作节点12,所述第一工作节点11和所述第二工作节点12分别配置有漏洞渗透任务。
所述第一工作节点11,用于在获取到符合所述第一工作节点对应的预设事件生产条件的数据时,基于获取到的数据生产事件,并针对生产的事件进行广播。
本公开实施例提供的基于事件驱动的漏洞渗透测试系统至少包括两个工作节点,各个工作节点之间相互独立,例如,工作节点可以包括IP/端口探活工作节点、网络系统信息爬取工作节点、主机识别工作节点、漏洞利用工作节点等。其中,每个工作节点分别配置有对应的漏洞渗透任务,例如,IP/端口探活工作节点对应的漏洞渗透任务可以为目标探活任务;网络系统信息爬取工作节点对应的漏洞渗透任务可以为信息执行任务;主机识别工作节点对应的漏洞渗透任务可以为目标识别任务;漏洞利用工作节点对应的漏洞渗透任务可以为漏洞利用任务;等等。
本公开实施例中,目标渗透对象为需要进行渗透测试的目标对象,例如,目标渗透对象可以包括操作系统、应用软件、网络系统、物联网设备、工控设备或硬件等。
本公开实施例中,首先,第一工作节点获取用于生产事件的基础数据,然后,针对获取到的数据进行信息分析,如果确定获取到的数据中存在符合第一工作节点对应的预设事件生产条件的数据时,则第一工作节点可以基于获取到的数据生产事件,进而,第一工作节点针对生产的事件进行广播。其中,用于生产事件的基础数据可以包括对目标渗透对象进行数据采集得到的数据,还可以包括各个工作节点执行对应的漏洞渗透任务后得到的任务执行数据,又可以包括漏洞渗透测试系统运行过程中产生的各种类型的数据等。第一工作节点对应的预设事件生产条件的数据,以及第一工作节点基于预设事件生产条件的数据,生产的具体事件,均为预先定义的,例如,工作节点与对应的预设事件生产条件的数据,以及对应的生产事件之间的对应关系可以如下表(1)所示。
表(1)
所述第二工作节点12,用于对广播的事件进行监听,并在监听到符合所述第二工作节点对应的预设事件消费条件的事件时,驱动所述第二工作节点所配置的漏洞渗透任务执行,并输出任务执行数据,用于作为生产事件的数据基础。
本公开实施例中,首先,第二工作节点对广播的事件进行监听,当监听到符合第二工作节点对应的预设事件消费条件的事件时,接收该消费事件,进而,驱动第二工作节点所配置的漏洞渗透任务,执行该消费事件对应的动作,并输出任务执行数据,其中,任务执行数据用于作为生产事件的数据基础。
本公开实施例中,符合第二工作节点对应的预设事件消费条件的事件可以为第二工作节点对应的消费事件,第二工作节点对应的消费事件为预先定义的,例如,工作节点与对应的生产事件,以及工作节点与对应的消费事件之间的对应关系可以如下表(2)所示。
表(2)
本公开实施例中,驱动第二工作节点所配置的漏洞渗透任务执行时,具体方式可以包括串行执行或者并行执行,其中,串行执行的具体实现方式以及并行执行的具体实现方式在后续实施例中进行介绍,此处不再赘述。
本公开实施例中,如图2所示,为本公开实施例提供的另一种基于事件驱动的漏洞渗透测试系统的结构示意图,包括工作节点部分、支撑部分以及目标渗透对象部分,其中,工作节点部分包括IP/端口探活工作节点、网络系统信息爬取工作节点、主机识别工作节点、漏洞利用工作节点;支撑部分包括技战术库、攻击路径以及存储模块,其中,技战术库为漏洞渗透测试过程中涉及的攻击工具、脚本或模型,例如,技战术库中包括漏洞验证脚本/工具、漏洞利用脚本/工具、漏洞攻击载荷等;目标渗透对象部分包括操作系统、应用软件、网络应用、开发框架/组件等。
如图2所示,各个工作节点之间相互独立,工作节点之间通过事件,驱动各个工作节点执行该工作节点所配置的漏洞渗透任务,各个工作节点与对应的生产事件以及消费事件之间的对应关系可以参考上述表(1)和表(2)进行预先定义。第一工作节点用于生产事件并进行广播,第二工作节点用于消费事件并输出任务执行数据。
一种可选的实施方式中,第一工作节点包括IP/端口探活工作节点,具体用于在确定获取到的数据中存在IP数据和端口数据时,基于IP数据和端口数据生产IP/端口存活事件,并针对IP/端口存活事件进行广播。
本公开实施例中,首先,IP/端口探活工作节点获取用于生产事件的基础数据,在确定获取到的数据中存在IP数据和端口数据时,基于上述数据生产IP/端口存活事件,并针对IP/端口存活事件进行广播。
一种可选的实施方式中,第二工作节点包括网络系统信息爬取工作节点,具体用于在监听到IP/端口存活事件时,驱动网络系统信息爬取工作节点所配置的漏洞渗透任务执行,并输出任务执行数据。
本公开实施例中,首先,网络系统信息爬取工作节点对广播的事件进行监听,当监听到IP/端口存活事件时,驱动网络系统信息爬取工作节点所配置的漏洞渗透任务(如信息执行任务),执行IP/端口存活事件对应的动作,完成目标的信息收集,并输出任务执行数据。
一种可选的实施方式中,第一工作节点包括网络系统信息爬取工作节点,具体用于在确定获取到的数据中存在预设攻击点数据和预设漏洞数据时,生产目标探测成功事件,并针对目标探测成功事件进行广播,其中,预设攻击点数据包括攻击点的IP数据、端口数据、类型数据、版本数据和框架/组件数据,预设漏洞数据包括漏洞号和漏洞类型。
本公开实施例中,首先,网络系统信息爬取工作节点获取用于生产事件的基础数据,在确定获取到的数据中存在攻击点的IP数据、端口数据、类型数据、版本数据和框架/组件数据,以及漏洞号和漏洞类型时,基于上述预设攻击点数据和预设漏洞数据生产目标探测成功事件,并针对目标探测成功事件进行广播。
一种可选的实施方式中,第二工作节点包括主机识别工作节点,具体用于在监听到目标探测成功事件时,驱动主机识别工作节点所配置的漏洞渗透任务执行,并输出任务执行数据。
本公开实施例中,首先,主机识别工作节点对广播的事件进行监听,当监听到目标探测成功事件时,驱动主机识别工作节点所配置的漏洞渗透任务(如目标识别任务),执行目标探测成功事件对应的动作,并输出任务执行数据。
一种可选的实施方式中,第二工作节点包括漏洞利用工作节点,具体用于在监听到目标探测成功事件时,驱动漏洞利用工作节点所配置的漏洞渗透任务执行,并输出任务执行数据。
本公开实施例中,首先,漏洞利用工作节点对广播的事件进行监听,当监听到目标探测成功事件时,驱动漏洞利用工作节点所配置的漏洞渗透任务(如漏洞利用任务),执行目标探测成功事件对应的动作,并输出任务执行数据。
一种可选的实施方式中,第一工作节点包括主机识别工作节点,具体用于在确定获取到的数据中存在IP数据、端口数据、漏洞号和POCID数据时,生产漏洞验证成功事件,并针对漏洞验证成功事件进行广播。
本公开实施例中,首先,主机识别工作节点获取用于生产事件的基础数据,在确定获取到的数据中存在IP数据、端口数据、漏洞号和POCID数据时,基于上述数据生产漏洞验证成功事件,并针对漏洞验证成功事件进行广播。
一种可选的实施方式中,第二工作节点包括漏洞利用工作节点,具体用于在监听到漏洞验证成功事件时,驱动漏洞利用工作节点所配置的漏洞渗透任务执行,并输出任务执行数据。
本公开实施例中,首先,漏洞利用工作节点对广播的事件进行监听,当监听到漏洞验证成功事件时,驱动漏洞利用工作节点所配置的漏洞渗透任务(如漏洞利用任务),执行漏洞验证成功事件对应的动作,并输出任务执行数据。
一种可选的实施方式中,第一工作节点包括漏洞利用工作节点,具体用于在确定获取到的数据中存在IP数据、端口数据、漏洞号和攻击路径时,生产漏洞渗透成功事件,并针对漏洞渗透成功事件进行广播。
本公开实施例中,首先,漏洞利用工作节点获取用于生产事件的基础数据,在确定获取到的数据中存在IP数据、端口数据、漏洞号和攻击路径时,基于上述数据生产漏洞渗透成功事件,并针对漏洞渗透成功事件进行广播。
一种可选的实施方式中,所述第二工作节点12,还用于将执行第二工作节点所配置的漏洞渗透任务的过程中产生的数据存储于中间存储模块中,其中,中间存储模块用于支持不同的工作节点之间的数据交互。
本公开实施例中,执行第二工作节点所配置的漏洞渗透任务的具体方式可以包括串行执行或者并行执行,其中,当执行第二工作节点所配置的漏洞渗透任务的方式为串行执行时,需要依次完成每一个阶段的任务,各个工作节点之间通过事件消息进行通讯,当上一个阶段的任务完成时,会发出事件消息,通知下一个阶段的任务开始执行,执行不同阶段的任务产生的数据存储于中间存储模块中,各个阶段之间的数据通过中间存储模块进行交互。
本公开实施例中,如图3所示,为本公开实施例提供的一种执行漏洞渗透任务的结构示意图,其中,第一阶段的任务为目标探活,第二阶段的任务为目标识别,第三阶段的任务为漏洞利用,当第一阶段的任务完成时,会发出事件消息“执行完成”,第二阶段的任务开始执行;当第二阶段的任务完成时,会发出事件消息“执行完成”,第三阶段的任务开始执行,直到整个执行任务完成。
本公开实施例中,当执行第二工作节点所配置的漏洞渗透任务的方式为并行执行时,执行各个阶段的任务时没有先后顺序之分,各个阶段之间都在监听待执行的任务事件,当监听到属于自己的任务事件后开始执行,直到整个执行任务完成,各个阶段的任务在执行时产生的数据存储于中间存储模块中,各个阶段之间的数据通过中间存储模块进行交互。
本公开实施例中,如图4所示,为本公开实施例提供的另一种执行漏洞渗透任务的结构示意图,其中,执行任务包括目标探活、目标识别以及漏洞利用,例如,当目标识别任务监听到事件消息“IP1存活”时,执行目标识别对应的任务,当漏洞利用任务监听到事件消息“IP1识别成功”时,执行漏洞利用对应的任务,直到整个执行任务完成。
本公开实施例提供的基于事件驱动的漏洞渗透测试系统中,至少包括第一工作节点和第二工作节点,第一工作节点和第二工作节点分别配置有漏洞渗透任务,第一工作节点用于在获取到符合第一工作节点对应的预设事件生产条件的数据时,基于获取到的数据生产事件,并针对生产的事件进行广播,第二工作节点用于对广播的事件进行监听,并在监听到符合第二工作节点对应的预设事件消费条件的事件时,驱动第二工作节点所配置的漏洞渗透任务执行,并输出任务执行数据,其中,任务执行数据用于作为第一工作节点生产事件的基础数据。本公开实施例基于事件驱动执行漏洞渗透测试,实现了渗透测试的自动化与迭代化,从而提高了漏洞渗透测试的效率。
基于上述系统实施例,本公开还提供了一种基于事件驱动的漏洞渗透测试方法,参考图5,为本公开实施例提供的一种基于事件驱动的漏洞渗透测试方法的流程图,方法包括:
S101:通过第一工作节点在确定获取到符合第一工作节点对应的预设事件生产条件的数据时,基于获取到的数据生产事件,并针对生产的事件进行广播。
本公开实施例中,第一工作节点用于生产事件并进行广播,如果第一工作节点为IP/端口探活工作节点,基于获取到的符合第一工作节点对应的预设事件生产条件的数据,可以生产IP/端口存活事件;如果第一工作节点为网络系统信息爬取工作节点,基于获取到的符合第一工作节点对应的预设事件生产条件的数据,可以生产目标探测成功事件;如果第一工作节点为主机识别工作节点,基于获取到的符合第一工作节点对应的预设事件生产条件的数据,可以生产漏洞验证成功事件;如果第一工作节点为漏洞利用工作节点,基于获取到的符合第一工作节点对应的预设事件生产条件的数据,可以生产漏洞渗透成功事件;等等。
S102:通过第二工作节点对广播的事件进行监听,并在监听到符合第二工作节点对应的预设事件消费条件的事件时,驱动第二工作节点所配置的漏洞渗透任务执行,并输出任务执行数据。
其中,任务执行数据用于作为第一工作节点生产事件的基础数据。
本公开实施例中,第二工作节点用于消费事件并输出任务执行数据,如果第二工作节点为网络系统信息爬取工作节点,当监听到IP/端口存活事件时,驱动第二工作节点对应的漏洞渗透任务,执行IP/端口存活事件对应的动作;如果第二工作节点为主机识别工作节点,当监听到目标探测成功事件时,驱动第二工作节点对应的漏洞渗透任务,执行目标探测成功事件对应的动作;如果第二工作节点为漏洞利用工作节点,当监听到目标探测成功事件时,驱动第二工作节点对应的漏洞渗透任务,执行目标探测成功事件对应的动作;如果第二工作节点为漏洞利用工作节点,当监听到漏洞验证成功事件时,驱动第二工作节点对应的漏洞渗透任务,执行漏洞验证成功事件对应的动作;等等。
本公开实施例提供的基于事件驱动的漏洞渗透测试方法中,第一工作节点和第二工作节点分别配置有漏洞渗透任务,第一工作节点用于在获取到符合第一工作节点对应的预设事件生产条件的数据时,基于获取到的数据生产事件,并针对生产的事件进行广播,第二工作节点用于对广播的事件进行监听,并在监听到符合第二工作节点对应的预设事件消费条件的事件时,驱动第二工作节点所配置的漏洞渗透任务执行,并输出任务执行数据,其中,任务执行数据用于作为第一工作节点生产事件的基础数据。本公开实施例基于事件驱动执行漏洞渗透测试,实现了渗透测试的自动化与迭代化,从而提高了漏洞渗透测试的效率。
与上述方法实施例基于同一个发明构思,本公开还提供了一种基于事件驱动的漏洞渗透测试装置,参考图6,为本公开实施例提供的一种基于事件驱动的漏洞渗透测试装置的结构示意图,所述装置包括:
事件生产模块601,用于通过第一工作节点在确定获取到符合所述第一工作节点对应的预设事件生产条件的数据时,基于获取到的数据生产事件,并针对生产的事件进行广播;
事件消费模块602,用于通过第二工作节点对广播的事件进行监听,并在监听到符合所述第二工作节点对应的预设事件消费条件的事件时,驱动所述第二工作节点所配置的漏洞渗透任务执行,并输出任务执行数据;其中,所述任务执行数据用于作为所述第一工作节点生产事件的基础数据。
本公开实施例提供的基于事件驱动的漏洞渗透测试装置中,第一工作节点和第二工作节点分别配置有漏洞渗透任务,第一工作节点用于在获取到符合第一工作节点对应的预设事件生产条件的数据时,基于获取到的数据生产事件,并针对生产的事件进行广播,第二工作节点用于对广播的事件进行监听,并在监听到符合第二工作节点对应的预设事件消费条件的事件时,驱动第二工作节点所配置的漏洞渗透任务执行,并输出任务执行数据,其中,任务执行数据用于作为第一工作节点生产事件的基础数据。本公开实施例基于事件驱动执行漏洞渗透测试,实现了渗透测试的自动化与迭代化,从而提高了漏洞渗透测试的效率。
除了上述方法和装置以外,本公开实施例还提供了一种计算机可读存储介质,计算机可读存储介质中存储有指令,当所述指令在终端设备上运行时,使得所述终端设备实现本公开实施例所述的基于事件驱动的漏洞渗透测试方法。
另外,本公开实施例还提供了一种基于事件驱动的漏洞渗透测试设备,参见图7所示,可以包括:
处理器701、存储器702、输入装置703和输出装置704。基于事件驱动的漏洞渗透测试设备中的处理器701的数量可以一个或多个,图7中以一个处理器为例。在本公开的一些实施例中,处理器701、存储器702、输入装置703和输出装置704可通过总线或其它方式连接,其中,图7中以通过总线连接为例。
存储器702可用于存储软件程序以及模块,处理器701通过运行存储在存储器702的软件程序以及模块,从而执行基于事件驱动的漏洞渗透测试设备的各种功能应用以及数据处理。存储器702可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等。此外,存储器702可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。输入装置703可用于接收输入的数字或字符信息,以及产生与基于事件驱动的漏洞渗透测试设备的用户设置以及功能控制有关的信号输入。
具体在本实施例中,处理器701会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器702中,并由处理器701来运行存储在存储器702中的应用程序,从而实现上述基于事件驱动的漏洞渗透测试设备的各种功能。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅是本公开的具体实施方式,使本领域技术人员能够理解或实现本公开。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本公开的精神或范围的情况下,在其它实施例中实现。因此,本公开将不会被限制于本文所述的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (13)
1.一种基于事件驱动的漏洞渗透测试系统,其特征在于,所述系统至少包括第一工作节点和第二工作节点,所述第一工作节点和所述第二工作节点分别配置有漏洞渗透任务;
所述第一工作节点,用于在获取到符合所述第一工作节点对应的预设事件生产条件的基础数据时,基于获取到的所述基础数据生产事件,并针对生产的事件进行广播;
所述第二工作节点,用于对广播的事件进行监听,并在监听到符合所述第二工作节点对应的预设事件消费条件的事件时,驱动所述第二工作节点所配置的漏洞渗透任务执行,并输出任务执行数据;其中,所述任务执行数据用于作为所述第一工作节点生产事件的基础数据。
2.根据权利要求1所述的系统,其特征在于,所述第一工作节点包括IP/端口探活工作节点;
所述IP/端口探活工作节点,具体用于在确定获取到的数据中存在IP数据和端口数据时,基于所述IP数据和所述端口数据生产IP/端口存活事件,并针对所述IP/端口存活事件进行广播。
3.根据权利要求2所述的系统,其特征在于,所述第二工作节点包括网络系统信息爬取工作节点;
所述网络系统信息爬取工作节点,具体用于在监听到所述IP/端口存活事件时,驱动所述网络系统信息爬取工作节点所配置的漏洞渗透任务执行,并输出任务执行数据。
4.根据权利要求1所述的系统,其特征在于,所述第一工作节点包括网络系统信息爬取工作节点;
所述网络系统信息爬取工作节点,具体用于在确定获取到的数据中存在预设攻击点数据和预设漏洞数据时,生产目标探测成功事件,并针对所述目标探测成功事件进行广播;其中,所述预设攻击点数据包括攻击点的IP数据、端口数据、类型数据、版本数据和框架/组件数据,所述预设漏洞数据包括漏洞号和漏洞类型。
5.根据权利要求4所述的系统,其特征在于,所述第二工作节点包括主机识别工作节点;
所述主机识别工作节点,具体用于在监听到所述目标探测成功事件时,驱动所述主机识别工作节点所配置的漏洞渗透任务执行,并输出任务执行数据。
6.根据权利要求4所述的系统,其特征在于,所述第二工作节点包括漏洞利用工作节点;
所述漏洞利用工作节点,具体用于在监听到所述目标探测成功事件时,驱动所述漏洞利用工作节点所配置的漏洞渗透任务执行,并输出任务执行数据。
7.根据权利要求1所述的系统,其特征在于,所述第一工作节点包括主机识别工作节点;
所述主机识别工作节点,具体用于在确定获取到的数据中存在IP数据、端口数据、漏洞号和POCID数据时,生产漏洞验证成功事件,并针对所述漏洞验证成功事件进行广播。
8.根据权利要求7所述的系统,其特征在于,所述第二工作节点包括漏洞利用工作节点;
所述漏洞利用工作节点,具体用于在监听到所述漏洞验证成功事件时,驱动所述漏洞利用工作节点所配置的漏洞渗透任务执行,并输出任务执行数据。
9.根据权利要求1所述的系统,其特征在于,所述第二工作节点,还用于将执行所述第二工作节点所配置的漏洞渗透任务的过程中产生的数据存储于中间存储模块中;其中,所述中间存储模块用于支持不同的工作节点之间的数据交互。
10.一种基于事件驱动的漏洞渗透测试方法,其特征在于,所述方法包括:
通过第一工作节点在确定获取到符合所述第一工作节点对应的预设事件生产条件的基础数据时,基于获取到的所述基础数据生产事件,并针对生产的事件进行广播;
通过第二工作节点对广播的事件进行监听,并在监听到符合所述第二工作节点对应的预设事件消费条件的事件时,驱动所述第二工作节点所配置的漏洞渗透任务执行,并输出任务执行数据;其中,所述任务执行数据用于作为所述第一工作节点生产事件的基础数据。
11.一种基于事件驱动的漏洞渗透测试装置,其特征在于,所述装置包括:
事件生产模块,用于通过第一工作节点在确定获取到符合所述第一工作节点对应的预设事件生产条件的基础数据时,基于获取到的所述基础数据生产事件,并针对生产的事件进行广播;
事件消费模块,用于通过第二工作节点对广播的事件进行监听,并在监听到符合所述第二工作节点对应的预设事件消费条件的事件时,驱动所述第二工作节点所配置的漏洞渗透任务执行,并输出任务执行数据;其中,所述任务执行数据用于作为所述第一工作节点生产事件的基础数据。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有指令,当所述指令在终端设备上运行时,使得所述终端设备实现如权利要求10所述的方法。
13.一种基于事件驱动的漏洞渗透测试设备,其特征在于,包括:存储器,处理器,及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现如权利要求10所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211730434.8A CN115987673B (zh) | 2022-12-30 | 2022-12-30 | 基于事件驱动的漏洞渗透测试系统、方法、装置、介质及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211730434.8A CN115987673B (zh) | 2022-12-30 | 2022-12-30 | 基于事件驱动的漏洞渗透测试系统、方法、装置、介质及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115987673A CN115987673A (zh) | 2023-04-18 |
CN115987673B true CN115987673B (zh) | 2023-12-08 |
Family
ID=85969851
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211730434.8A Active CN115987673B (zh) | 2022-12-30 | 2022-12-30 | 基于事件驱动的漏洞渗透测试系统、方法、装置、介质及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115987673B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117499161B (zh) * | 2023-12-29 | 2024-04-12 | 北京华云安信息技术有限公司 | 网络安全测试方法、装置、电子设备和存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107783849A (zh) * | 2017-09-27 | 2018-03-09 | 武汉斗鱼网络科技有限公司 | 事件处理方法及客户端 |
CN108632219A (zh) * | 2017-03-21 | 2018-10-09 | 腾讯科技(深圳)有限公司 | 一种网站漏洞检测方法、检测服务器及系统 |
CN109729068A (zh) * | 2018-11-23 | 2019-05-07 | 北京丁牛科技有限公司 | 基于区块链技术的安全漏洞审计系统 |
WO2021017278A1 (zh) * | 2019-07-30 | 2021-02-04 | 平安科技(深圳)有限公司 | 任务执行程序的检测方法、装置、计算机设备及存储介质 |
CN113901476A (zh) * | 2021-10-12 | 2022-01-07 | 北京恒安嘉新安全技术有限公司 | 一种基于虚拟化环境的漏洞验证方法、系统、设备及介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10367846B2 (en) * | 2017-11-15 | 2019-07-30 | Xm Cyber Ltd. | Selectively choosing between actual-attack and simulation/evaluation for validating a vulnerability of a network node during execution of a penetration testing campaign |
-
2022
- 2022-12-30 CN CN202211730434.8A patent/CN115987673B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108632219A (zh) * | 2017-03-21 | 2018-10-09 | 腾讯科技(深圳)有限公司 | 一种网站漏洞检测方法、检测服务器及系统 |
CN107783849A (zh) * | 2017-09-27 | 2018-03-09 | 武汉斗鱼网络科技有限公司 | 事件处理方法及客户端 |
CN109729068A (zh) * | 2018-11-23 | 2019-05-07 | 北京丁牛科技有限公司 | 基于区块链技术的安全漏洞审计系统 |
WO2021017278A1 (zh) * | 2019-07-30 | 2021-02-04 | 平安科技(深圳)有限公司 | 任务执行程序的检测方法、装置、计算机设备及存储介质 |
CN113901476A (zh) * | 2021-10-12 | 2022-01-07 | 北京恒安嘉新安全技术有限公司 | 一种基于虚拟化环境的漏洞验证方法、系统、设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN115987673A (zh) | 2023-04-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6686529B2 (ja) | 脆弱性分析のための自律型推論システム | |
CN115987673B (zh) | 基于事件驱动的漏洞渗透测试系统、方法、装置、介质及设备 | |
WO2017193737A1 (zh) | 一种软件测试方法及系统 | |
CN112463581B (zh) | 一种对分布式系统进行模糊测试的方法及系统 | |
CN103425572A (zh) | 代码分析方法及代码分析系统 | |
CN110941553A (zh) | 一种代码检测方法、装置、设备及可读存储介质 | |
CN111159520B (zh) | 样本鉴定方法、装置及安全应急响应系统 | |
CN111240974A (zh) | 日志输出方法、装置、电子设备及介质 | |
CN115981902A (zh) | 一种细粒度分布式微服务系统异常根因定位方法及装置 | |
CN107656849B (zh) | 一种软件系统性能问题定位方法以及装置 | |
CN113254350A (zh) | 一种Flink作业测试方法、装置、设备及存储介质 | |
CN112035346A (zh) | 基于嵌入式dsp操作系统的自动化测试方法、系统及介质 | |
CN110968518A (zh) | 自动化测试日志文件的分析方法及装置 | |
CN105487925A (zh) | 数据扫描方法和装置 | |
CN111679899B (zh) | 任务调度方法、装置、平台设备及存储介质 | |
CN111767123B (zh) | 运行优化方法及装置 | |
CN111190725B (zh) | 任务处理方法、装置、存储介质及服务器 | |
CN112181816A (zh) | 一种基于场景的接口测试方法、装置、计算机设备及介质 | |
CN107818097B (zh) | 数据处理方法和装置 | |
CN114281682B (zh) | 软件的持续集成方法、装置及存储介质 | |
CN112541183B (zh) | 数据处理方法及装置、边缘计算设备、存储介质 | |
CN115658534B (zh) | 一种基于多引擎融合的分布式模糊测试方法及装置 | |
CN113760584B (zh) | 一种性能分析数据的获取方法、装置、设备及存储介质 | |
CN116010467B (zh) | 基于通联图谱的风险发现方法、装置、设备及存储介质 | |
CN116414665A (zh) | 一种日志分析方法、装置、设备以及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CB03 | Change of inventor or designer information |
Inventor after: Guo Lichun Inventor after: Jin Gang Inventor before: Guo Lichun |
|
CB03 | Change of inventor or designer information |