Skip to content

Yn8rt/DLDL

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 

Repository files navigation

DLDL小白入门手册:自动生成+批量编写Workflow全攻略

DLDL 是一款强大的自动化漏洞扫描工作流管理工具,它可以帮助你高效管理指纹库、POC库和扫描工作流。无论你是安全测试新手还是资深安全研究员,DLDL都能让你的工作效率提升10倍!

今天给大家带来保姆级入门教程,重点讲解DLDL最核心的两个功能:

  1. 🔥 自动生成Workflow - 智能匹配,一键生成
  2. 🚀 批量编写Workflow - 高效编辑,批量管理

一、DLDL是什么?三个核心概念

在开始之前,先理解DLDL的三个核心概念:

📌 Finger(指纹)

  • 作用:识别目标服务器上运行的是什么系统、什么版本
  • 示例:识别出目标运行的是 Nginx 1.18.0,还是 Apache 2.4.41
  • 数据来源:DLDL内置了5000+常见产品的指纹识别规则

📌 POC(漏洞验证代码)

  • 作用:验证目标是否存在某个漏洞
  • 示例:验证目标是否存在 CVE-2021-29441 Nginx RCE 漏洞
  • 数据来源:DLDL内置了大量CVE漏洞POC,支持YAML格式

📌 Workflow(工作流)

  • 作用:将Finger和POC关联起来,形成完整的扫描流程
  • 示例:先识别是Nginx → 再验证Nginx相关漏洞 → 根据扫描路径决定请求方式
  • 类型:Root(根路径)、Dir(各级目录)、Base(完整路径)

二、自动生成Workflow:智能匹配,一键搞定

这是DLDL最强大的功能!它会自动分析所有Finger和POC,智能匹配并生成Workflow。

🎯 功能入口

点击菜单栏 「自动生成 Workflow」 进入功能页面

⚙️ 配置选项详解

1️⃣ 匹配方式(二选一,也可以两个都选)

按文件名/名称匹配 ⚡ 推荐

  • ✅ 匹配速度快
  • ✅ 准确度高
  • 📝 工作原理:通过指纹关键字(如"nginx"、"apache")匹配POC文件名和POC名称
  • 💡 适用场景:快速生成常见服务的Workflow

按全称全文搜索 🔍 更全面

  • ✅ 覆盖更全面
  • ⚠️ 耗时较长
  • 📝 工作原理:通过指纹全称在POC的全部内容(包括描述、规则等)中搜索匹配
  • 💡 适用场景:需要全面匹配,不遗漏任何可能

最佳实践:两个都选!先快速匹配,再全文搜索补充。


2️⃣ 扫描类型(可多选)

Root(根路径)

  • 向目标根路径发送请求
  • 示例:http://target.com/

Dir(各级目录)

  • 向目标的所有子目录发送请求
  • 示例:http://target.com/admin/http://target.com/api/

Base(完整路径)

  • 使用完整路径进行检测
  • 示例:http://target.com/manager/html

最佳实践:根据Finger的路径类型选择对应的扫描类型。


3️⃣ POC范围(二选一)

全部POC 🔥 推荐

  • 使用所有POC进行匹配
  • 适合首次使用或需要全面覆盖的场景

已选择的POC

  • 只使用你预先选择的POC
  • 适合针对性测试或已知道目标类型的场景

🚀 开始生成

点击 「开始生成」 按钮,DLDL将开始自动处理:

  1. 任务进行中

    • 可以看到实时进度
    • 已处理指纹数 / 总指纹数
    • 已生成的Workflow数量
    • 当前正在处理的指纹名称
  2. 随时终止

    • 点击「终止任务」按钮可以随时停止
    • 已生成的部分会保留
  3. 刷新状态

    • 点击「刷新」按钮查看最新进度

📊 生成结果说明

任务完成后,你会看到:

成功生成:显示成功数量 ⚠️ 跳过:显示跳过数量(该指纹没有匹配的POC) ❌ 错误:显示错误数量(极少情况)

详细日志

  • 每个指纹的处理结果
  • 匹配到的POC列表
  • 生成的Workflow详情

🔙 撤销操作

如果不满意生成结果,点击 「撤销操作」 按钮:

  • ✅ 支持撤销已完成的任务
  • ✅ 支持撤销已终止的任务
  • ✅ 撤销后可以重新配置再生成

三、批量编写Workflow:高效编辑,可视化管理

自动生成之后,你可以在 「Workflow 编辑器」 中进行批量编辑和管理。

🎯 功能入口

点击菜单栏 「Workflow 编辑」 进入功能页面

🔍 搜索和筛选

智能搜索

支持多种搜索方式:

  1. 基本搜索

    • 直接输入关键词
    • 同时搜索指纹名称和POC名称
  2. 字段搜索

    • name:nginx - 只搜索指纹名称
    • poc:CVE - 只搜索POC名称
    • CVE-2021 - 搜索特定CVE编号
  3. 排序规则

    • 完全匹配优先显示
    • 然后按字母A-Z排序

快速筛选

  • 按扫描类型筛选:Root / Dir / Base
  • 按POC状态筛选:有POC / 无POC

✏️ 批量编辑操作

新增Workflow

  1. 点击 「新增 Workflow」 按钮
  2. 填写指纹信息(名称、路径、规则等)
  3. 关联POC(支持多选)
  4. 选择扫描类型
  5. 保存

编辑Workflow

  • 点击列表中的指纹名称进入编辑
  • 修改指纹信息
  • 添加/删除/更换POC
  • 调整扫描类型
  • 保存更改

批量删除

  • 勾选多个Workflow
  • 点击批量删除按钮
  • 确认删除

💾 保存和导出

保存到文件 💾

  • 点击 「保存到文件」
  • 将所有Workflow保存到 workflow.yaml
  • 这是DLDL的主配置文件,扫描时会使用

导出YAML 📤

  • 点击 「导出 YAML」
  • 导出当前配置到本地文件
  • 方便备份或分享给他人

导入YAML 📥

  • 点击 「导入 YAML」
  • 导入之前导出的配置
  • 支持合并或覆盖现有配置

🔄 其他实用功能

清空配置 🗑️

  • 点击 「清空配置」
  • 清空所有Workflow配置
  • ⚠️ 此操作不可逆,请谨慎使用

刷新 🔄

  • 点击 「刷新」 按钮
  • 重新加载数据
  • 用于同步文件更改

四、完整使用流程示例

假设你要为一批新的Web应用建立扫描工作流:

第一步:导入指纹

  1. 准备好你的Finger库(YAML格式)
  2. 进入 「Finger 管理」
  3. 点击 「导入 YAML」 导入指纹库
  4. 点击 「保存到文件」 保存

第二步:导入POC

  1. 准备好你的POC库(YAML格式)
  2. 进入 「POC 管理」
  3. 点击 「导入 YAML」 导入POC库
  4. 点击 「保存到文件」 保存

第三步:自动生成Workflow

  1. 进入 「自动生成 Workflow」
  2. 配置选项:
    • ✅ 按文件名/名称匹配
    • ✅ 按全称全文搜索
    • ✅ Root / Dir / Base 全选
    • 📌 POC范围:全部POC
  3. 点击 「开始生成」
  4. 等待完成(可能需要几分钟)

第四步:手动调整

  1. 进入 「Workflow 编辑」
  2. 搜索需要调整的指纹
  3. 手动添加漏掉的POC
  4. 调整扫描类型
  5. 点击 「保存到文件」

第五步:开始扫描

  1. 配置目标列表
  2. 启动扫描任务
  3. 查看扫描结果

五、实用技巧和注意事项

💡 提高匹配准确度

  1. POC命名规范

    • 尽量在POC文件名中包含产品名
    • 示例:CVE-2021-12345_nginx.yaml
    • 这样「按文件名匹配」的效果更好
  2. 指纹关键字提取

    • DLDL会自动从指纹名称提取关键字
    • 中文:提取连续的汉字序列(2字以上)
    • 英文:提取完整的单词
    • 自动过滤黑名单词汇
  3. 分批生成

    • 如果Finger库很大,可以分批选择POC生成
    • 先用全部POC生成一遍
    • 再针对性补充某些产品

⚠️ 常见问题

Q1:为什么有些Finger没有生成Workflow? A:这是因为没有找到匹配的POC。你可以:

  • 检查POC库是否完整
  • 手动为该Finger添加POC
  • 使用「按全称全文搜索」模式重新生成

Q2:生成的Workflow可以修改吗? A:当然可以!在「Workflow 编辑」中可以随意修改、添加、删除POC。

Q3:如何避免重复生成? A:DLDL会自动去重,同一个Finger + POC组合只会生成一个Workflow。

Q4:生成任务卡住了怎么办? A:点击「终止任务」按钮,然后:

  • 检查Finger和POC库是否损坏
  • 减少POC范围重新生成
  • 查看错误日志定位问题

Q5:如何备份我的配置? A:定期导出YAML文件备份:

  • Finger配置 → 导出 finger.yaml
  • POC配置 → 导出 pocs.yaml
  • Workflow配置 → 导出 workflow.yaml

六、进阶使用

🎯 场景一:针对性测试

已知目标类型(比如都是Nginx),只想测试Nginx相关漏洞:

  1. 进入 「POC 管理」
  2. 搜索 "nginx"
  3. 勾选所有Nginx相关POC
  4. 进入 「自动生成 Workflow」
  5. POC范围选择 「已选择的POC」
  6. 开始生成

🎯 场景二:补充漏掉的POC

手动发现某些Finger应该关联某个POC但被遗漏了:

  1. 进入 「Workflow 编辑」
  2. 搜索该Finger
  3. 点击编辑
  4. 在POC列表中勾选漏掉的POC
  5. 保存

🎯 场景三:批量更新POC

当你更新了POC库后,需要让Workflow使用新的POC:

  1. 进入 「POC 管理」
  2. 导入新的POC库
  3. 保存
  4. 进入 「自动生成 Workflow」
  5. 全部重新生成一次
  6. 或者手动在编辑器中批量更换POC

七、总结

DLDL的核心优势在于:

自动化:智能匹配,一键生成,告别手动逐个配置 ✅ 可视化:直观的Web界面,操作简单 ✅ 批量管理:支持批量编辑、导入导出 ✅ 灵活扩展:支持自定义Finger和POC ✅ 高效工作流:从识别到验证,一站式完成


📢 快速上手三步走

  1. 下载启动:运行 dldl64.exe,打开浏览器访问 http://localhost:8181

  2. 导入数据:导入你的Finger库和POC库(或使用内置库)

  3. 自动生成:点击「自动生成 Workflow」,一键完成所有配置


🙋 获取帮助

  • GitHub:[项目地址]
  • Issues:提交问题和建议
  • 公众号:关注我们获取更多教程

DLDL让安全扫描工作流管理变得简单高效!

如果觉得DLDL对你有帮助,欢迎给个 ⭐ Star 支持一下!


本文档持续更新中,如有疑问欢迎留言讨论

About

一款红队打点助力DDDD神器(POC|workflow|finger|dir管理、自动生成workflow)

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors