Files
CyberStrikeAI/tools/metasploit.yaml
2025-11-21 23:20:41 +08:00

61 lines
1.7 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
name: "metasploit"
command: "python3"
args:
- "-c"
- |
import json
import shlex
import subprocess
import sys
if len(sys.argv) < 2:
sys.stderr.write("缺少模块名称\n")
sys.exit(1)
module = sys.argv[1]
options_raw = sys.argv[2] if len(sys.argv) > 2 else "{}"
extra = sys.argv[3] if len(sys.argv) > 3 else ""
try:
options = json.loads(options_raw) if options_raw else {}
except json.JSONDecodeError as exc:
sys.stderr.write(f"选项解析失败: {exc}\n")
sys.exit(1)
commands = [f"use {module}"]
for key, value in options.items():
commands.append(f"set {key} {value}")
commands.append("run")
commands.append("exit")
cmd = ["msfconsole", "-q", "-x", "; ".join(commands)]
if extra:
cmd.extend(shlex.split(extra))
subprocess.run(cmd, check=False)
enabled: true
short_description: "Metasploit渗透测试框架"
description: |
通过 `msfconsole -q -x` 非交互执行模块。可提供JSON格式的模块选项脚本自动构建 `set` 与 `run` 指令。
parameters:
- name: "module"
type: "string"
description: "要使用的Metasploit模块例如 exploit/windows/smb/ms17_010_eternalblue"
required: true
position: 0
format: "positional"
- name: "options"
type: "string"
description: "模块选项JSON对象键值对应 set 指令)"
required: false
default: "{}"
position: 1
format: "positional"
- name: "additional_args"
type: "string"
description: "额外的 msfconsole 参数(追加在命令末尾)"
required: false
default: ""
position: 2
format: "positional"