【技术实现步骤摘要】
一种自动渗透项目调度任务方法及系统
[0001]本专利技术涉及一种自动渗透项目调度任务方法及系统,属于自动渗透项目处理
技术介绍
[0002]目前,Celery是一个专注于实时处理和任务调度的分布式任务队列,本身不是任务队列,是管理分布式任务队列的工具;Celery是语言无关的,提供了python接口支持,且封装了操作常见任务队列的各种操作,使用Celery可以快速进行任务队列的使用与管理。RabbitMQ是一个由Erlang语言开发的AMQP的开源实现。最初起源于金融系统,用于在分布式系统中存储转发消息,在易用性、扩展性、高可用性等方面表现较佳,具有可靠性、消息集群、高可用、多种协议、多语言客户端、消息跟踪机制、插件机制。
[0003]现有技术中,Celery实现负载需要安装大量依赖包才能使用,且平台只支持Linux,目前稳定的客户度仅支持Python。而RabbitMQ不支持大量堆积消息,持久化特性可能导致任务丢失,网络不稳定会导致消息重复,无法保证消息顺序,节点权限管理通过正则编写复杂有安全风险,无法 ...
【技术保护点】
【技术特征摘要】
1.一种自动渗透项目调度任务方法,其特征在于,包括以下步骤:(1)获取用户输入的目标对象,配置扫描范围、扫描工作者和是否结果复用后下发扫描项目;(2)调度器收到下发的所述扫描项目并转发至核心主控项目初始化器;(3)所述核心主控项目初始化器根据目标对象的类型分解所述扫描项目的扫描任务;(4)所述核心主控项目初始化器将分解的扫描任务发送到核心任务生成器;(5)所述核心任务生成器对收到的所述扫描任务判断是否进行结果复用;(6)若所述扫描项目配置为结果复用,则根据所述扫描项目的扫描工作者下发所述扫描任务到所述调度器;(7)所述调度器收到所述扫描任务后,根据用户配置分配所述扫描任务的扫描工作者。2.根据权利要求1所述的一种自动渗透项目调度任务方法,其特征在于,步骤(3)中:若用户输入的目标对象为IP,则将IP分解为主IP扫描与IP的C段扫描;若用户输入的目标对象为域名,则分解为域名解析主IP,域名本身的域名扫描任务和域名主IP的C段扫描;步骤(5)中:若所述扫描项目启动结果复用,则在结果缓存库中根据任务类型及任务元信息提取任务缓存结果;若结果缓存库中存在历史缓存结果,则直接提取缓存结果发送到用户代理存储任务,并发送原始结果到核心主控任务分解器。3.根据权利要求2所述的一种自动渗透项目调度任务方法,其特征在于,还包括步骤(8),扫描工作者通过所述调度器获取扫描任务,根据任务类型去节点注册器请求扫描脚本;还包括步骤(9),所述节点注册器下发扫描脚本后,扫描工作者根据脚本定义逻辑对目标对象进行扫描。4.根据权利要求3所述的一种自动渗透项目调度任务方法,其特征在于,还包括步骤(10),当扫描工作者执行完扫描逻辑后,如果扫描未出现异常则发送原始结果到所述调度器;如果出现异常将任务失败计数器加1发送到所述调度器;所述调度器检测失败计数超过阈值时停止调度任务。5.根据权利要求4所述的一种自动渗透项目调度任务方法,其特征在于,还包括步骤(11),所述核心主控任务分解器通过所述调度器获取原始结果,解析出价值数据与扫描数据;所述核心主控任务分解器收到价值数据,检测是否存在等待的触发器,若存在等待的触发器时,触发任务流并发送价值数据到所述调度器;若不存在等待的触发器时,存储价值数据并发送价值数据到所述调度器;用户代理通过所述调度器获取价值数据任务保存到用户数据库。6.根据权利要求5所述的一种自动渗透项目调度任务方法,其特征在于,还包括步骤(12),所述核心主控任务分解器收到扫描数据,根据结果与所述扫描项目设置的扫描范围分解任务为多个子任务,并将结果发送到用户代理存储任务。
7.根据权利要求6所述的一种自动渗透项目调度任务方法,其特征在于,还包括步骤(13),所述子任务根据规则设置查看是否需要价值数据;如果需要价值数据,则去用户数据库检查是否存在价值数据:存在价值数据取出价值数据,不存在则创建等待价值数据的触发器。8.根据权利要求7所述的一种自动渗透项目调度任务方法,其特征在于,还包括步骤(14),所述子任务根据规则设置查看是否需要依赖数据;如果依赖数据,则去用户数据库检查是否存在依赖数据:存在依赖数据取出依赖数据,不存在依赖数据停止扫描;还包括步骤(15),发送包含依赖数据与价值数据的任...
【专利技术属性】
技术研发人员:蔡晶晶,陈俊,郑皓,孙义,尤腾达,李博伟,
申请(专利权)人:北京永信至诚科技股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。