CN118101338B - 一种网络攻防平台节点动态指令执行方法与*** - Google Patents

一种网络攻防平台节点动态指令执行方法与*** Download PDF

Info

Publication number
CN118101338B
CN118101338B CN202410486704.8A CN202410486704A CN118101338B CN 118101338 B CN118101338 B CN 118101338B CN 202410486704 A CN202410486704 A CN 202410486704A CN 118101338 B CN118101338 B CN 118101338B
Authority
CN
China
Prior art keywords
instruction
target node
scanning
configuration
script
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
Application number
CN202410486704.8A
Other languages
English (en)
Other versions
CN118101338A (zh
Inventor
刘雪梅
张五一
赵谦
李圣泉
田叶
赵创业
卞荣龙
刘臻
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nanjing Nanzi Transformer Substation Automatization Co ltd
Original Assignee
Nanjing Nanzi Transformer Substation Automatization Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Nanjing Nanzi Transformer Substation Automatization Co ltd filed Critical Nanjing Nanzi Transformer Substation Automatization Co ltd
Priority to CN202410486704.8A priority Critical patent/CN118101338B/zh
Publication of CN118101338A publication Critical patent/CN118101338A/zh
Application granted granted Critical
Publication of CN118101338B publication Critical patent/CN118101338B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Computer And Data Communications (AREA)

Abstract

本发明公开一种网络攻防平台节点动态指令执行方法与***,所述方法包括步骤:设置用于目标节点执行指令的参数;上传扫描脚本到配置服务,并生成初始化指令写入到目标节点;目标节点启动后定时执行扫描脚本,从配置服务中获取用户下发的最新指令执行,并通过回调接口通知执行结果。本发明将可执行的指令扫描脚本下发到网络攻防平台的目标节点上,借助虚拟机***自有的定时任务执行功能,定时地执行扫描脚本,如果扫描到最新指令即可执行指令。通过这种目标节点中利用定时任务主动查询最新指令的方式,实现了管理端向攻防环境目标节点动态下发指令的功能,不需要在目标节点启动任何进程,极大地减小了部署成本,并且具有更强的隐蔽性。

Description

一种网络攻防平台节点动态指令执行方法与***
技术领域
本发明属于计算机网络安全技术领域,尤其涉及一种网络攻防平台节点动态指令执行方法与***。
背景技术
网络攻防平台通常是一个虚拟的网络***,用于进行网络攻防训练,由一系列计算机、服务器、网络设备和应用程序组成,旨在模拟真实世界中的网络环境,用户可以在平台中扮演蓝方和红方的角色,操作各自的虚拟机节点进行网络攻防演练。平台运行过程中,根据业务需要,经常需要在虚拟机节点运行时下发许多特定的管理指令。目前主要使用cloud-init技术或者在虚拟机中对外暴露服务来实现该功能。
cloud-init是一个开源工具,用于在云环境中初始化和配置虚拟机实例,并可以在初始化虚拟机时执行用户设置的特定指令。但是cloud-init技术是在虚拟机初始化时执行指令,一旦虚拟机启动完成后,便无法通过cloud-init下发新的指令。
在虚拟机中对外暴露服务是指,在虚拟机中启动一个服务端进程并对外部暴露一个端口,利用该端口接收来自外部***的命令。但这种方式在进程运行过程中必须要占用cpu、内存、网络端口等资源,开销较大。而且,由于需要暴露端口,该进程不具有隐蔽性。在网络攻防训练中,如果扫描到该进程所使用的端口,那么便可以借助该端口进行网络攻击,不利于攻防的训练。
发明内容
为解决上述技术问题,本发明提供一种网络攻防平台节点动态指令执行方法与***,具有资源消耗小、隐蔽性高的优点。
本发明提供的技术方案如下:
一种网络攻防平台节点动态指令执行方法,包括步骤:
S1、设置用于目标节点执行指令的参数;
S2、根据设置的参数将扫描脚本上传到配置服务,并生成初始化指令写入到目标节点;所述初始化指令用于在目标节点启动时获取扫描脚本,并建立定时任务按照设定的扫描周期执行扫描脚本;
S3、目标节点启动后定时执行扫描脚本,从配置服务中获取用户下发的最新指令执行,并通过回调接口通知执行结果。
进一步地,S1中设置的参数包括指令扫描周期、目标节点***类型、配置服务url地址、配置服务提供的最新指令获取接口、扫描脚本获取接口和回调接口,以及目标节点扫描脚本存放地址。
进一步地,所述扫描脚本以目标节点IP命名存储在配置存储上,目标节点启动时通过配置服务的扫描脚本获取接口从配置存储上获取对应的扫描脚本。
进一步地,所述扫描脚本的执行步骤包括:调用配置服务提供的最新指令获取接口查询最新指令,如果存在最新指令,则执行并通过回调接口向配置服务发送执行结果。
进一步地,所述最新指令获取接口由配置服务通过http/https服务接口实现,用于从配置存储的节点指令表中获取接口请求方IP对应的用户实时下发的指令;所述节点指令表属性包括目标节点IP、指令标识、指令内容、执行状态以及指令创建时间。
一种网络攻防平台节点动态指令执行***,包括设置在平台管理端的指令配置模块,以及设置在目标节点中的指令扫描与执行模块;
所述指令配置模块用于设置指令扫描与执行模块的参数,并根据设置的参数将扫描脚本上传到配置服务,还用于生成初始化指令并将其写入到目标节点,以及接收并存储用户向目标节点下发的动态指令;所述初始化指令用于在目标节点启动时获取扫描脚本,并建立定时任务按照设定的扫描周期执行扫描脚本;
所述指令扫描与执行模块用于在目标节点定时执行扫描脚本,从配置模块中获取用户下发的最新指令执行,并通过回调接口通知执行结果。
进一步地,所述指令配置模块包括配置服务单元和配置存储单元:
所述配置服务单元用于提供最新指令获取接口、扫描脚本获取接口和回调接口;所述最新指令获取接口用于根据目标节点IP获取用户下发的指令,所述扫描脚本获取接口用于根据目标节点IP获取对应的扫描脚本所述回调接口用于根据指令标识更新指令的执行状态;所述配置存储单元用于存储为各目标节点所设置的执行参数、各目标节点的扫描脚本以及用户下发的动态指令。
进一步地,用户下发的指令存储在配置存储单元的节点指令表中,所述节点指令表属性包括目标节点IP、指令标识、指令内容、执行状态以及指令创建时间。
进一步地,所述指令配置模块的执行流程包括:
步骤N1:在攻防平台仿真环境启动前,指令配置模块从配置存储单元中取到最新的参数,包括指令扫描周期、目标节点***类型;
步骤N2:根据参数内容将预置指令的扫描脚本上传到配置服务单元,由配置服务单元将扫描脚本命名为目标节点IP保存到配置存储单元;
步骤N3:根据参数内容生成对应的初始化指令并将其写入到目标节点。
进一步地,所述指令扫描与执行模块的执行流程包括:
步骤M1:查询是否达到扫描周期,如果达到则执行步骤M3,否则执行步骤M2;
步骤M2:***定时任务自带的执行逻辑,等待下一个周期;
步骤M3:达到扫描周期时,定时任务执行扫描脚本,查询最新的指令;
步骤M4:如果有最新指令,执行步骤M5,否则执行步骤M2;
步骤M5:***执行获取到的最新指令,然后执行步骤M6;
步骤M6:指令执行完毕后向配置服务单元发送执行成功的结果,然后执行步骤M1,等待下一次扫描。
有益效果:本发明将可执行的指令扫描脚本下发到网络攻防平台的目标节点上,借助虚拟机***自有的定时任务执行功能,定时地执行扫描脚本,如果扫描到最新指令即可执行指令。通过这种目标节点中利用定时任务主动查询最新指令的方式,实现了管理端向攻防环境目标节点动态下发指令的功能。本发明可以以极小的资源消耗实现指令的动态下发,不需要在目标节点启动进程,极大地减小了部署成本,并且具有更强的隐蔽性,有利于攻防演练的顺利进行。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。
图1是本发明一实施例提供的方法流程示意图;
图2是本发明一实施例提供的***结构示意图;
图3是本发明一实施例提供的指令配置模块处理流程示意图;
图4是本发明一实施例提供的指令扫描与执行模块处理流程示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下获得的其他实施例,都属于本发明保护的范围。
实施例1
本实施例提供一种网络攻防平台节点动态指令执行方法,如图1所示,该方法主要包括以下步骤:
首先,在配置网络攻防平台的仿真环境时,设置用于目标节点执行指令的参数,包括指令扫描周期、目标节点***类型、配置服务url地址、配置服务提供的最新指令获取接口、扫描脚本获取接口和回调接口,以及目标节点扫描脚本存放地址。
然后,在仿真环境启动时,根据设置的参数将扫描脚本上传到配置服务,并生成cloud-init指令写入到目标节点;其中cloud-init指令用于目标节点启动时下载扫描脚本,建立定时任务按照设定的扫描周期执行扫描脚本。扫描脚本以目标节点IP命名存储在配置存储上,目标节点启动时通过配置服务的扫描脚本获取接口从配置存储上获取对应的扫描脚本。
最后,目标节点启动后定时执行扫描脚本,调用配置服务提供的最新指令获取接口查询用户的最新指令,如果存在最新指令,则执行并通过回调接口向配置服务发送执行结果。最新指令获取接口由配置服务通过http/https服务接口实现,从配置存储中的节点指令表中获取接口请求方IP对应的用户下发的指令。节点指令表属性包括目标节点IP、指令标识、指令内容、执行状态以及指令创建时间。用户向目标节点下发的动态指令存储在配置存储的节点指令表中,同时标记指令未执行并记录创建时间,在目标节点通过回调接口告知指令被成功执行后,标记指令已执行并置空。
本实施例方法基于cloud-init技术和定时任务使得在虚拟机运行时也能动态下发指令,无需在虚拟机中运行服务端进程,不占用网络端口,隐蔽性较强。
实施例2
本实施例提供一种网络攻防平台节点动态指令执行***,如图2所示,该***主要包括设置在平台管理端的指令配置模块,以及设置在虚拟机节点(目标节点)中的指令扫描与执行模块。其中,指令配置模块用于设置指令扫描与执行模块的参数,并根据设置的参数将扫描脚本上传到配置服务,还用于生成初始化指令并将其写入到目标节点。指令扫描与执行模块用于在目标节点启动后定时执行扫描脚本,进而从配置服务中获取用户下发的最新指令并执行,最后通过回调接口通知执行结果。
指令配置模块可配置的参数如表1所示。
表1 配置参数
每个目标节点可用的扫描脚本以每个目标节点的ip命名,存放于配置存储中。配置存储中还设置节点指令表,存放用户向每个目标节点下发的指令,其结构如表2所示。
表2 节点指令表属性
配置服务中接口实现方式如下:
(1)扫描脚本获取接口,输入参数如表3。根据输入参数中的target_ip,到配置存储中获取对应的扫描脚本,并下载。
表3 扫描脚本获取接口输入参数
(2)最新指令获取接口,输入参数如表4。根据输入参数中的target_ip,到配置存储的节点指令表中,查询该target_ip最新的一条数据,将cmd和cmd_id返回。
表4 最新指令获取接口输出参数
(3)回调接口,输入参数为cmd_id。指令扫描与执行模块获取到指令的同时,会获取到一个指令的标识,即cmd_id,指令执行后将cmd_id作为输入参数调用回调接口,回调接口收到参数后更新节点指令表中的result字段为1。
指令配置模块的流程如图3所示,图中C1代表用户,可以对指令配置模块中的各项参数进行调整;用户可以根据目标节点的ip,在节点指令表中加入一行新的指令数据。常见的指令如修改hosts文件内容、启动目标节点中的某个数据上报脚本等。图中F1代表指令配置模块中的配置存储单元,用户调整后的参数即存储在该单元中。配置存储单元可以是数据库、文件等存储服务。图中F2代表提供查询能力的配置服务单元,用于指令配置模块对外提供配置查询能力,一般可以通过http或https服务接口实现。指令配置模块的运行流程主要包括:
步骤N1:在攻防平台仿真环境启动前,指令配置模块从配置存储单元中取到最新的参数,包括指令扫描周期、目标节点***类型等。
步骤N2:在步骤N1中得到参数后,根据参数内容准备需要下发的配置和文件。如果目标节点***类型是windows,则执行步骤N2.1;如果目标***是linux,则执行步骤N2.2;如果是其他***,则执行步骤N2.3。配置服务单元将指令扫描脚本命名为目标节点ip保存到配置存储单元。
步骤N2.1:将预置的windows指令扫描脚本上传到配置服务单元,然后执行步骤N3;
步骤N2.2:将预置的linux指令扫描脚本上传到配置服务单元,然后执行步骤N3;
步骤N2.3:将其他类型***可运行的指令扫描脚本上传到配置服务单元,然后执行步骤N3;
不同***类型扫描脚本逻辑相同,只是使用的脚本语言不同,如windows使用批处理(Batch)脚本,linux使用shell脚本,其他***使用其他合适的脚本语言。脚本伪代码逻辑如下:
步骤N3:根据参数,生成对应的cloud-init指令,并写入到目标节点,主要内容为在目标节点启动时下载扫描脚本,建立定时任务按设定的周期执行扫描脚本,根据scanner_period的秒数,生成一个cron表达式;命令参考如下:
指令扫描与执行模块,主要由目标节点的定时任务和指令扫描脚本构成。目标节点根据指令配置模块下发的定时任务周期和指令扫描脚本构建定时任务,不断的轮询指令配置模块中最新的指令,一旦有最新的指令,则立马执行该指令,执行后回调指令配置模块的回调接口,通知其指令执行结束。执行流程如图4所示,主要包括:
步骤M1:***定时任务自带的执行逻辑,查询是否达到扫描周期,如果达到,执行步骤M3,否则执行步骤M2。
步骤M2:***定时任务自带的执行逻辑,等待下一个周期;
步骤M3:达到扫描周期时,定时任务执行扫描脚本,查询最新的指令;
步骤M4:如果有最新指令,执行步骤M5,否则执行步骤M2;
步骤M5:***执行获取到的最新指令,然后执行步骤M6;
步骤M6:执行完毕后,向配置服务发送执行成功的结果,然后执行步骤M1,等待下一次扫描;指令配置模块收到执行成功的结果后,会将已执行的最新指令置空,避免多次执行。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;在本发明的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本发明的不同方面的许多其它变化,为了简明,它们没有在细节中提供;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。

Claims (6)

1.一种网络攻防平台节点动态指令执行方法,其特征在于,包括步骤:
S1、设置用于目标节点执行指令的参数,包括指令扫描周期、目标节点***类型、配置服务url地址、配置服务提供的最新指令获取接口、扫描脚本获取接口和回调接口,以及目标节点扫描脚本存放地址;
S2、根据设置的参数将扫描脚本上传到配置服务,并生成初始化指令写入到目标节点;所述初始化指令用于在目标节点启动时获取扫描脚本,并建立定时任务按照设定的扫描周期执行扫描脚本;所述扫描脚本以目标节点IP命名存储在配置存储上,目标节点启动时通过配置服务的扫描脚本获取接口从配置存储上获取对应的扫描脚本;
S3、目标节点启动后定时执行扫描脚本,所述扫描脚本的执行步骤包括:调用配置服务提供的最新指令获取接口查询最新指令,如果存在最新指令,则执行并通过回调接口向配置服务发送执行结果;所述最新指令获取接口由配置服务通过http/https服务接口实现,用于从配置存储的节点指令表中获取接口请求方IP对应的用户实时下发的指令;所述节点指令表属性包括目标节点IP、指令标识、指令内容、执行状态以及指令创建时间。
2.一种基于权利要求1所述方法的网络攻防平台节点动态指令执行***,其特征在于,包括设置在平台管理端的指令配置模块,以及设置在目标节点中的指令扫描与执行模块;
所述指令配置模块用于设置指令扫描与执行模块的参数,并根据设置的参数将扫描脚本上传到配置服务,还用于生成初始化指令并将其写入到目标节点,以及接收并存储用户向目标节点下发的动态指令;所述初始化指令用于在目标节点启动时获取扫描脚本,并建立定时任务按照设定的扫描周期执行扫描脚本;
所述指令扫描与执行模块用于根据指令配置模块下发的定时任务周期和扫描脚本在目标节点上构建定时任务,不断地轮询指令配置模块中最新的指令执行,并通过回调接口通知执行结果。
3.如权利要求2所述的一种网络攻防平台节点动态指令执行***,其特征在于,所述指令配置模块包括配置服务单元和配置存储单元:
所述配置服务单元用于提供最新指令获取接口、扫描脚本获取接口和回调接口;所述最新指令获取接口用于根据目标节点IP获取用户下发的指令,所述扫描脚本获取接口用于根据目标节点IP获取对应的扫描脚本所述回调接口用于根据指令标识更新指令的执行状态;所述配置存储单元用于存储为各目标节点所设置的执行参数、各目标节点的扫描脚本以及用户下发的动态指令。
4.如权利要求2所述的一种网络攻防平台节点动态指令执行***,其特征在于,用户下发的指令存储在配置存储单元的节点指令表中,所述节点指令表属性包括目标节点IP、指令标识、指令内容、执行状态以及指令创建时间。
5.如权利要求2所述的一种网络攻防平台节点动态指令执行***,其特征在于,所述指令配置模块的执行流程包括:
步骤N1:在攻防平台仿真环境启动前,指令配置模块从配置存储单元中取到最新的参数,包括指令扫描周期、目标节点***类型;
步骤N2:根据参数内容将预置指令的扫描脚本上传到配置服务单元,由配置服务单元将扫描脚本命名为目标节点IP保存到配置存储单元;
步骤N3:根据参数内容生成对应的初始化指令并将其写入到目标节点。
6.如权利要求2所述的一种网络攻防平台节点动态指令执行***,其特征在于,所述指令扫描与执行模块的执行流程包括:
步骤M1:查询是否达到扫描周期,如果达到则执行步骤M3,否则执行步骤M2;
步骤M2:***定时任务自带的执行逻辑,等待下一个周期;
步骤M3:达到扫描周期时,定时任务执行扫描脚本,查询最新的指令;
步骤M4:如果有最新指令,执行步骤M5,否则执行步骤M2;
步骤M5:***执行获取到的最新指令,然后执行步骤M6;
步骤M6:指令执行完毕后向配置服务单元发送执行成功的结果,然后执行步骤M1,等待下一次扫描。
CN202410486704.8A 2024-04-23 2024-04-23 一种网络攻防平台节点动态指令执行方法与*** Active CN118101338B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202410486704.8A CN118101338B (zh) 2024-04-23 2024-04-23 一种网络攻防平台节点动态指令执行方法与***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202410486704.8A CN118101338B (zh) 2024-04-23 2024-04-23 一种网络攻防平台节点动态指令执行方法与***

Publications (2)

Publication Number Publication Date
CN118101338A CN118101338A (zh) 2024-05-28
CN118101338B true CN118101338B (zh) 2024-06-28

Family

ID=91142335

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202410486704.8A Active CN118101338B (zh) 2024-04-23 2024-04-23 一种网络攻防平台节点动态指令执行方法与***

Country Status (1)

Country Link
CN (1) CN118101338B (zh)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106254337A (zh) * 2016-07-29 2016-12-21 北京北信源软件股份有限公司 一种网络扫描方法及网络扫描***

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9282449B2 (en) * 2012-03-01 2016-03-08 Microsoft Technology Licensing, Llc Peer-to-peer discovery
CN109729138A (zh) * 2018-06-01 2019-05-07 平安普惠企业管理有限公司 客户端资源更新方法、设备、客户端及存储介质
CN109245163B (zh) * 2018-10-19 2022-07-19 南京丰道电力科技有限公司 一种分布式agc/avc调节***的调节方法
CN110263542A (zh) * 2019-05-10 2019-09-20 西安交大捷普网络科技有限公司 一种基于插件技术的漏洞扫描方法与***
CN113448640A (zh) * 2020-03-10 2021-09-28 腾讯科技(深圳)有限公司 Web应用配置检测方法、装置、存储介质和计算机设备
CN113422774B (zh) * 2021-06-23 2022-04-15 安徽工业大学 一种基于网络协议的自动化渗透测试方法、装置及存储介质
CN117149625A (zh) * 2023-08-22 2023-12-01 亿咖通(湖北)技术有限公司 接口测试方法、设备和***

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106254337A (zh) * 2016-07-29 2016-12-21 北京北信源软件股份有限公司 一种网络扫描方法及网络扫描***

Also Published As

Publication number Publication date
CN118101338A (zh) 2024-05-28

Similar Documents

Publication Publication Date Title
CN112000348B (zh) 服务灰度发布的控制方法、装置、计算机设备
US10970194B2 (en) Systems and methods for initializing test environments
CN110413418B (zh) 缓存同步装置及方法,缓存同步***、电子设备
CN110557284B (zh) 基于客户端网关的数据聚合方法及装置
CN111400000B (zh) 网络请求处理方法、装置、设备和存储介质
CN112882738A (zh) 一种微服务架构下的配置信息更新方法、装置及电子设备
CN110764688A (zh) 对数据进行处理的方法和装置
CN115525396A (zh) 基于云原生的应用管理方法及装置
CN115268949A (zh) 一种镜像预热方法、装置、设备及存储介质
CN112948025B (zh) 数据加载方法、装置及存储介质、计算设备、计算***
CN110933188A (zh) 远程服务的调用方法、***、服务器及存储介质
CN118101338B (zh) 一种网络攻防平台节点动态指令执行方法与***
CN117234582A (zh) 一种项目代码处理方法、装置、电子设备及存储介质
CN116932147A (zh) 流式作业处理方法、装置、电子设备及介质
CN111309474A (zh) 通信方法、通信装置及分布式服务注册中心
CN116155978A (zh) 多注册中心适配方法、装置、电子设备及存储介质
CN112162797B (zh) 数据处理方法、***、存储介质以及电子设备
CN114547007A (zh) 一种大数据特征提取方法、设备及计算机可读存储介质
CN113268360A (zh) 请求处理方法、装置、服务器及存储介质
CN115086405B (zh) 服务器的数据处理方法、***、设备、介质及程序产品
CN117883789B (zh) 数据获取方法、装置、设备、可读存储介质及程序产品
CN115766717B (zh) 超融合分布式***自动化部署方法、装置、设备及介质
CN113778673B (zh) 数据处理方法、存储介质及设备
CN113472745B (zh) 一种基于selinux的openstack公有云多租户隔离方法、***及终端
CN113434598B (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