diff --git a/misp_modules/modules/expansion/find_subdomains.py b/misp_modules/modules/expansion/find_subdomains.py deleted file mode 100755 index 4d40acb..0000000 --- a/misp_modules/modules/expansion/find_subdomains.py +++ /dev/null @@ -1,62 +0,0 @@ -import json -import os -import subprocess -import requests -import tempfile - -misperrors = {'error': 'Error'} -mispattributes = {'input': ['domain'], 'output': ['domain']} - -# possible module-types: 'expansion', 'hover' or both -moduleinfo = {'version': '1', 'author': 'Hannah Ward', - 'description': 'Attempt to brute force subdomains', - 'module-type': ['expansion']} - -# config fields that your code expects from the site admin -moduleconfig = ["use_top_n_subdomains"] - -domains = requests.get("http://hannah-ward.uk/Subdomain_List.txt").text.split("\n")[:-1] - -def handler(q=False): - global domains - - if q is False: - return False - request = json.loads(q) - - r = {"results": []} - - f = tempfile.NamedTemporaryFile(delete=False, prefix="domains", mode="w") - print("Saving domains to {}".format(f.name)) - f.write("\n".join(domains[:int(request["config"]["use_top_n_subdomains"])])) - - f.close() - - print("Searching for subdomains of {}".format(request["domain"])) - print("Using {} domains".format(request["config"]["use_top_n_subdomains"])) - - print("Turning on tor...") - #subprocess.call([".","torsocks","on"]) - proc = subprocess.Popen(["knockpy", "-w", f.name, request["domain"]], - stdout=subprocess.PIPE - ) - - os.remove(f.name) - - print("Turning off tor...") - #subprocess.call([".","torsocks","off"]) - out,err = proc.communicate() - - r["results"] = {'values':out.split("\n"), "types":'domain'} - - return r - - -def introspection(): - return mispattributes - - -def version(): - moduleinfo['config'] = moduleconfig - return moduleinfo -