diff options
Diffstat (limited to 'data')
-rwxr-xr-x | data/arsenal_parser.py | 43 | ||||
-rwxr-xr-x | data/generate_arsenal_commands.sh | 16 |
2 files changed, 59 insertions, 0 deletions
diff --git a/data/arsenal_parser.py b/data/arsenal_parser.py new file mode 100755 index 0000000..e26c774 --- /dev/null +++ b/data/arsenal_parser.py @@ -0,0 +1,43 @@ +#!/usr/bin/env python3 +# -*- coding: utf-8 -*- + +import sys +import yaml + +if len(sys.argv) < 2: + script = sys.argv[0] + print(f"Usage: {script} <arsenal_data_file>") + exit(1) + +commands = [] +cmd = "" +tags = "pentest" +lang = "" +desc = "" +with open(sys.argv[1], "r") as f: + in_code_block = False + for line in f.readlines(): + if line.startswith("% "): + tags = line[2:].strip() + elif line.startswith("## "): + desc = line[3:].strip() + elif line.startswith("#plateform/"): + plateform = "".join(line[11:].strip().split(" ")[0]) + if plateform == "linux": + lang = "sh" + elif plateform == "windows": + lang = "powershell" + elif line.startswith("```"): + in_code_block = not in_code_block + elif in_code_block: + if "arsenal" not in tags and "internal" not in tags: + cmd = line.strip().replace("\n","") + if len(cmd) > 0 and len(desc) > 0 and len(lang) > 0: + entry = {} + entry["cmd"] = cmd + entry["tags"] = tags + entry["lang"] = lang + entry["desc"] = desc + commands.append(entry) +if len(commands) > 0: + print(yaml.safe_dump(commands,width=1000)) diff --git a/data/generate_arsenal_commands.sh b/data/generate_arsenal_commands.sh new file mode 100755 index 0000000..6e958a7 --- /dev/null +++ b/data/generate_arsenal_commands.sh @@ -0,0 +1,16 @@ +#!/usr/bin/env bash + +SCRIPT=$(readlink -f "$0") +SCRIPTPATH=$(dirname "$SCRIPT") +for c in python git; do + if ! command -v ${c} &>/dev/null; then + echo "$command ${c} could not be found" + exit 1 + fi +done + +cd /tmp +git clone --depth 1 https://github.com/Orange-Cyberdefense/arsenal +echo -e "title: Commands for Fast Memo Shell from Arsenal\ncommands:" >"${SCRIPTPATH}/commands.yaml" +find arsenal/arsenal/data/cheats/ -iname '*.md' ! -name 'README.md' -exec ${SCRIPTPATH}/arsenal_parser.py {} \; >>"${SCRIPTPATH}/commands.yaml" +rm -rf /tmp/arsenal |