From d7d31b719f74c67177613e7a6d8b5568c287f086 Mon Sep 17 00:00:00 2001 From: ben Date: Thu, 17 Jul 2025 19:59:15 +0200 Subject: Removed and refactored the database to import data directly from Arsenal. --- data/arsenal_parser.py | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100755 data/arsenal_parser.py (limited to 'data/arsenal_parser.py') 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} ") + 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)) -- cgit v1.2.3