BeEF 命令模块配置

介绍

所有命令模块都需要一个配置文件,其中包含BeEF为了加载和执行模块所需的基本配置设置。

框架使用此文件来设置模块的类别、名称、描述和有效目标。

细节

配置文件为YAML格式。它必须与命令模块存在于同一目录中,并且必须命名config.yaml

请注意,节点名称中不允许使用空格,并且制表符不能用于缩进。在数组中分隔字符串时,必须使用空格,例如:

authors: ["pdp", "wade", "bm", "xntrik"]

以下是命令模块配置文件的示例。

beef:
    module:
        detect_local_settings:
            enable: true
            category: "Network"
            name: "Detect Local Settings"
            description: "Grab the local network settings (ie internal ip address)."
            authors: ["pdp", "wade", "bm", "xntrik"]
            target:
                working: ["FF", "IE"]
                user_notify: "C"
                not_working: "S"

格式

第一个和第二个节点必须分别是“ beef”和“ module”,然后是第三个节点,即模块名称,例如:

beef:
    module:
        detect_local_settings:

“启用”节点包含一个布尔值。如果设置为“ true”,它将告知框架启用该模块并将其显示在命令模块树中。

enable: true

“类别”节点确定命令模块将在命令模块树中显示的类别。

category: "Network"

“名称”节点确定命令模块的名称。

name: "Detect Local Settings"

“描述”节点确定当用户选择模块时要显示的文本。

description: "Grab the local network settings (ie internal ip address)."

目标

“目标”节点是必需的。该节点确定已确认要使用该模块的浏览器。它有许多子节点,其中可能包含字符串或数组,例如:

target:
    working: ["FF", "IE"]
    user_notify: "C"
    not_working: "S"

当仅某些浏览器版本或操作系统兼容时,“目标”节点也可能包含“ min_ver”,“ max_ver”和“ os”子节点。

浏览器/命令模块的最终目标值是通过评级机制确定的。如果存在多个匹配项,则将使用第一个目标配置,例如,使用更复杂的示例:

target:
    not_working:
        ALL:
            os: ["iPhone"]
    working: ["O", "FF", "S", "IE"]
    user_notify: ["C"]

在这种情况下,运行Safari的iPhone将同时匹配not_working和working,但因为not_working是第一个,这将是具有此特定目标配置的模块的最终评级。

最终评级将转换为BeEF中的图标:

  • 绿色(VERIFIED_WORKING)适用
  • 将会通知用户橙色(VERIFIED_USER_NOTIFY)
  • 红色(VERIFIED_NOT_WORKING)无效
  • 灰色(VERIFIED_UNKNOWN)为未知

本文章首发在 网安wangan.com 网站上。

上一篇 下一篇
讨论数量: 0
只看当前版本


暂无话题~