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)为未知
推荐文章: