一种网络靶场靶标接入状态探测系统与方法技术方案

技术编号:35207122 阅读:25 留言:0更新日期:2022-10-15 10:18
本发明专利技术公开了一种网络靶场靶标接入状态探测系统与方法,系统包括配置解析、基础socket探测、连接探测以及调度模块;配置解析模块用于获取并存储靶标在云平台的网络信息和用户配置的靶标连接信息;基础socket探测模块用于通过建立socket连接判断靶标实例内部ip和端口能否连通,若能连通则由连接探测模块进行进一步探测;连接探测模块,用于在生成的socket基础上发送和接收协议通信认证信息;调度模块用于调度各模块,在靶标对应的网络命名空间中对各靶标进行基础socket探测和进一步的连接探测。本发明专利技术能够更准确地探测连接状态,提前检测出版本不兼容、用户配置错误等问题导致的连接错误,而且不需要虚拟机的网络和宿主机通信。宿主机通信。宿主机通信。

【技术实现步骤摘要】
一种网络靶场靶标接入状态探测系统与方法


[0001]本专利技术涉及一种网络靶场靶标接入状态探测系统与方法,属于网络安全、信息处理


技术介绍

[0002]在网络靶场中通常一个靶场环境会模拟多种复杂的设备,如Windows客户机,Linux客户机,二、三层网络设备,然后通过远程连接模块接入到目标节点(靶标)进行各种模拟操作。但是在一个靶场环境启动的过程中,如何感知靶标启动完成、是否已经准备好连接接入,而且网络靶场所模拟的设备,都是处于平台内部网络,不同的网络相互隔离,需要一种检测机制来检测靶标启动过程中的接入状态。
[0003]现有检测技术的检测机制如图1所示,通常是在靶标启动过程中的一段时间范围内,通过socket循环连接检测靶标端口是否能够连接来判断接入状态,例如:rdp常用的3389端口,ssh常用的22端口,vnc常用的5900端口等。
[0004]现有检测机制存在如下问题:1、容易造成与实际的连接状态不符合的问题,在靶标启动过程中开放某个端口,但是该靶标的远程接入服务还未初始化完成,也就没有能力响应连接。2、靶标启动完成,开放对应连接端口,但是由于该靶标远程接入服务异常无法提供正常的连接服务。3、客户端和服务端连接服务版本不兼容的问题,导致虽然靶标服务正常,但是无法连接。4、用户在配置错误的连接信息情况下,无法提前感知,直到用户连接时才能发现。5、探测系统需要和靶标所在的网络通信。

技术实现思路

[0005]专利技术目的:针对以上现有技术存在的问题,本专利技术目的在于提供一种网络靶场靶标接入状态探测系统与方法,以能够更方便实现对处于云平台内的靶标更准确地探测连接状态,提前检测出版本不兼容、用户配置错误等问题导致的连接错误。
[0006]技术方案:为实现上述专利技术目的,本专利技术采用如下技术方案:
[0007]一种网络靶场靶标接入状态探测系统,包括配置解析模块、基础socket探测模块、连接探测模块以及调度模块;
[0008]所述配置解析模块,用于根据靶标实例id解析查询靶标实例对应的云平台里的网络信息以及用户配置的靶标连接信息,并且生成唯一连接探测id,将解析的信息和初始化连接状态存入数据库;其中网络信息包括靶标实例所在的网络id和对应的dhcp网络命名空间,靶标连接信息包括接入认证用户、密码、靶标实例内部ip、目标端口和接入协议;所述靶标实例内部ip与靶标实例所在网络对应dhcp网络命名空间中该网络的网关ip处于同一vlan,访问靶标实例内部ip的流量由靶标实例所在宿主机上虚拟机交换机转发;
[0009]所述基础socket探测模块,用于在靶标实例对应的dhcp网络命名空间中建立socket探测靶标实例内部ip和目标端口是否能够连通,若在规定时间内不能连通则记录连接失败状态;若在规定时间内能连通则由所述连接探测模块进行进一步探测;
[0010]所述连接探测模块,用于开启靶标实例对应的协议探测,在所述基础socket探测模块生成的socket基础上来发送和接收协议通信认证信息,将通信认证成功的连接判断为正常连接,入库正常状态,通信失败的连接判断为异常连接,入库异常状态;
[0011]所述调度模块,用于在接收到靶场平台发出的探测指令后,根据靶场场景中各靶标实例id开启多线程的方式调用配置解析模块解析靶标实例对应信息,以及根据配置解析模块所解析的连接信息,通过异步线程的方式,调用基础socket探测模块和连接探测模块对各靶标实例进行基础socket探测和进一步的连接探测。
[0012]所述接入协议包括ssh、rdp、vnc中的一种或多种。
[0013]所述连接探测模块设有:
[0014]ssh连接探测客户端,用于基于ssh协议实现版本协商、加密算法协商和登录认证;若协商失败或认证失败,则返回失败信息,若认证成功则返回成功信息;
[0015]rdp连接探测客户端,用于基于rdp协议发送和解析数据包,若解析数据成功则返回成功信息,否则返回失败信息;
[0016]vnc连接探测客户端,用于基于vnc协议实现版本兼容性检测和登录认证;若版本不兼容或认证失败,则返回失败信息,若认证成功则返回成功信息。
[0017]一种网络靶场靶标接入状态探测方法,包括如下步骤:
[0018]在接收到靶场平台发出的探测指令后,根据靶场场景中各靶标实例id解析查询靶标实例对应的云平台里的网络信息以及用户配置的靶标连接信息,并且生成唯一连接探测id,将解析的信息和初始化连接状态存入数据库;
[0019]在接入基础配置完成后,在靶标实例对应的dhcp网络命名空间中建立socket探测靶标实例内部ip和目标端口能否连通,若在规定时间内不能连通则记录连接失败状态;若在规定时间内能连通,则:开启靶标实例对应的协议探测,在生成的socket基础上来发送和接收协议通信认证信息,将通信认证成功的连接判断为正常连接,入库正常状态,通信失败的连接判断为异常连接,入库异常状态;对于靶场场景中多个靶标实例,通过异步线程的方式,进行基础socket探测和进一步的连接探测。
[0020]对于ssh协议的连接探测,ssh连接探测客户端与靶标实例上的服务端的交互过程包括如下步骤:
[0021]s1.当端口连通之后建立tcp连接,客户端在规定时间内接收服务端发送的第一个报文,包括版本标志字符串;
[0022]s2.客户端收到报文后,解析该数据包,如果服务端的协议版本号比自己的低,且客户端能支持服务端的低版本,就使用服务端的低版本协议号,否则使用自己的协议版本号;
[0023]s3.客户端发送服务一个报文,包含客户端的协议版本号;
[0024]s4.如果版本协商不成功,则断开tcp连接返回连接状态错误;
[0025]s5.服务端和客户端分别发送算法协商报文给对端;
[0026]s6.服务端和客户端根据自己和对端支持的算法来决定最终要使用的算法;
[0027]s7.服务端和客户端利用密钥交换算法,主机密钥对等参数,生成共享密钥和会话ID;
[0028]s8.客户端向服务端发送认证请求;
[0029]s9.服务端对客户端进行认证,如果认证成功,返回连接成功信息,如果认证失败,返回连接失败信息,断开连接。
[0030]对于rdp协议的连接探测,rdp连接探测客户端与靶标实例上的服务端的交互过程包括如下步骤:
[0031]r1.当端口连通之后,建立起tcp连接。
[0032]r2.客户端构造X.224连接请求数据包,发送数据包到靶标实例;
[0033]r3.接收靶标实例返回的信息,解析返回的数据包,判断该数据包是否是确认连接信息的数据,如果是,返回连接成功信息,否则返回连接失败信息,断开连接。
[0034]对于vnc协议的连接探测,vnc连接探测客户端与靶标实例上的服务端的交互过程包括如下步骤:
[0035]v1.当端口连通之后,建立起tcp连接,客户端接收服本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种网络靶场靶标接入状态探测系统,其特征在于,包括配置解析模块、基础socket探测模块、连接探测模块以及调度模块;所述配置解析模块,用于根据靶标实例id解析查询靶标实例对应的云平台里的网络信息以及用户配置的靶标连接信息,并且生成唯一连接探测id,将解析的信息和初始化连接状态存入数据库;其中网络信息包括靶标实例所在的网络id和对应的dhcp网络命名空间,靶标连接信息包括接入认证用户、密码、靶标实例内部ip、目标端口和接入协议;所述靶标实例内部ip与靶标实例所在网络对应dhcp网络命名空间中该网络的网关ip处于同一vlan,访问靶标实例内部ip的流量由靶标实例所在宿主机上虚拟机交换机转发;所述基础socket探测模块,用于在靶标实例对应的dhcp网络命名空间中建立socket探测靶标实例内部ip和目标端口是否能够连通,若在规定时间内不能连通则记录连接失败状态;若在规定时间内能连通则由所述连接探测模块进行进一步探测;所述连接探测模块,用于开启靶标实例对应的协议探测,在所述基础socket探测模块生成的socket基础上来发送和接收协议通信认证信息,将通信认证成功的连接判断为正常连接,入库正常状态,通信失败的连接判断为异常连接,入库异常状态;所述调度模块,用于在接收到靶场平台发出的探测指令后,根据各靶标实例id开启多线程的方式调用配置解析模块解析靶标实例对应信息,以及根据配置解析模块所获得的连接信息,通过异步线程的方式,调用基础socket探测模块和连接探测模块对各靶标实例进行基础socket探测和进一步的连接探测。2.根据权利要求1所述的网络靶场靶标接入状态探测系统,其特征在于,所述接入协议包括ssh、rdp、vnc中的一种或多种。3.根据权利要求1所述的网络靶场靶标接入状态探测系统,其特征在于,所述连接探测模块设有:ssh连接探测客户端,用于基于ssh协议实现版本协商、加密算法协商和登录认证;若协商失败或认证失败,则返回失败信息,若认证成功则返回成功信息;rdp连接探测客户端,用于基于rdp协议发送和解析数据包,若解析数据成功则返回成功信息,否则返回失败信息;vnc连接探测客户端,用于基于vnc协议实现版本兼容性检测和登录认证;若版本不兼容或认证失败,则返回失败信息,若认证成功则返回成功信息。4.一种网络靶场靶标接入状态探测方法,其特征在于,包括如下步骤:在接收到靶场平台发出的探测指令后,根据靶场场景中各靶标实例id解析查询靶标实例对应的云平台里的网络信息以及用户配置的靶标连接信息,并且生成唯一连接探测id,将解析的信息和初始化连接状态存入数据库;其中网络信息包括靶标实例所在的网络id和对应的dhcp网络命名空间,靶标连接信息包括接入认证用户、密码、靶标实例内部ip、目标端口和接入协议;所述靶标实例内部ip与靶标实例所在网络对应dhcp网络命名空间中该网络的网关ip处于同一vlan,访问靶标实例内部ip的流量由靶标实例所在宿主机上虚拟机交换机转发;在配置解析完成后,在靶标实例对应的dhcp网络命名空间中建立socket探测靶标实例内部ip和目标端口是否能够连通,若在规定时间内不能连通则记录连接失败状态;若在规定时间内能连通,则:开启靶标实例对应的协议探测,在生成的socke...

【专利技术属性】
技术研发人员:熊磊谢峥高庆官王鹏
申请(专利权)人:南京赛宁信息技术有限公司
类型:发明
国别省市:

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

1