Shovel 中间层

admin 2025年4月21日22:44:33评论5 views字数 2036阅读6分47秒阅读模式

Shovel 中间层

企业级资产测绘管理,开启资配漏补新范式

https://github.com/diamond-shovel/diamond-shovel

如果项目对您有帮助,给我们的项目点一个鼓励的星星⭐️!

Shovel 中间层

  • • shovel-intermediate-layer后续可能更名为shovel-mastershovel-core后续可能更名为shovel-slave
  • • shovel-intermediate-layer 起到管理用户与数据库调度shovel-core对接用户侧的功能
  • • 项目结构请参考Project Structure

用户侧核心组件

  • • 处于安全考量,中间层的源代码和维护由开发团队进行闭源管理,所以中间层只在此文档中展示用户所关注的功能组件(用户侧功能)

Task(任务)

任务系统是 Shovel 中间层的核心控制模块,负责管理 shovel-cores 的全生命周期:

  • • 生命周期管理:支持动态启动/停止 shovel-core 实例,实时监控任务状态(运行中/已停止/异常终止)
  • • 操作接口:提供标准的任务控制操作(启动、暂停、终止),支持通过 API 或 CLI 触发
  • • 结果处理:支持结果导出与自动入库。
  • • 定时任务:集成 Cron 表达式解析器,支持周期性任务调度(如每日凌晨全量扫描)
  • • 依赖管理:自动处理任务间的依赖关系,确保执行顺序符合业务逻辑

Strategies(策略)

策略模块定义了任务执行的业务逻辑输入:

  • • 输入控制:实际业务参数(如扫描目标、认证凭证、超时阈值)通过策略配置注入任务
  • • 动态适配:支持通过策略模板快速生成标准化配置(如 OWASP Top10 扫描策略模板)
  • • 版本管理:提供策略版本控制功能,支持回滚到历史配置版本
  • • 安全隔离:策略配置与核心执行引擎解耦,通过沙箱机制确保安全性
  • • 扩展规范:具体实现参考 Shovel Plugins 文档

基础参数

为了方便,Shovel 将可能的参数输入分为几大类,希望能覆盖所有的用户需求 (可能会在新的版本中进行调整)

  • • 目标公司(companies)目标公司是指您要扫描的目标公司,您可以在这里选择一个或多个公司进行扫描,请输入公司(集团)名称。
  • • 目标域名(domains)目标域名是指您要扫描的目标域名,您可以在这里输入一个或多个主域名进行扫描,请输入域名(如:example.com)。请注意: 为了符合最佳实践,建议域名仅包含主域名,不要包含子域名(如:www.example.com),在编写插件时也请遵循此规范。
  • • 目标IP(ips)目标IP是您要扫描的目标IP,您可以在这里输入一个或多个IPV4进行扫描(IPV6在version<=0.1.7没有经过测试)。

AssetsGroup(资产组)

Assets Group
assets1
assets2
assets3
assets...

资产组模块实现严格的资产管理规范:

  • • 强制归属:所有资产(IP/域名/WEB/服务等)必须归属于某个资产组
  • • 权限边界:通过资产组划分实现权限隔离(如部门级/项目级资产分组)
  • • 资产结构保障:系统禁止创建任何未绑定资产组的孤立资产(悬空资产)

Plugins(插件)

中间层的所有业务功能均由插件实现,具体请查看shovel-plugin文档

Artifacts(工件)

此工件系统为shovel内部的文件管理机制,所有的中间层的中间产物以及结果都会在这里暂存 / 永久存储,您可以在其中查询到历史的数据。

Config(配置)

目前配置可以在策略配置中手动设置,也可以在配置管理中编辑config.ini文件

  • • 如果存在某一条的参数冲突,优先级高的参数会被任务使用。
  • • 优先级: 手动设置的参数 > config.ini中的参数 > 空的参数

举例

# config.ini[setting]param_1 = 1param_2 = 2param_3 = param_4 = 
# 手动设置的内容[setting]param_1 = param_2 = 0param_3 = 3param_4 = 

最终结果为

[setting]param_1 = 1param_2 = 0param_3 = 3param_4 = 

⚠️ 法律声明

本工具仅限合法授权的安全测试使用,禁止用于未授权渗透测试

shovel社群

扫描下方二维码加入shovel交流群

Shovel 中间层

中龙技术(广东) | 中龙技术(吉林) | 红客突击队 | HSCSEC

中山市中龙计算机技术有限公司

长春市安山中龙计算机技术有限公司

上海 重庆 广东 吉林 (08:00 AM CST - 22:00 PM CST)

红客突击队于2019年由队长k龙牵头,联合国内多位顶尖高校研究生成立。团队从成立至今多次参加国际网络安全竞赛并取得良好成绩,积累了丰富的竞赛经验。红客突击队始终秉承先做人后技术的宗旨,旨在打造国际顶尖网络安全团队。其核心团队于2022年转型于信息安全研究院,并为政企提供安全服务与技术支持。

Shovel 中间层

原文始发于微信公众号(中龙技术):Shovel 中间层

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年4月21日22:44:33
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   Shovel 中间层http://cn-sec.com/archives/3973097.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息