mirror of https://github.com/MISP/misp-modules
Removed silly subdomain module
parent
4e3300d66c
commit
4f923d6606
|
@ -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
|
|
||||||
|
|
Loading…
Reference in New Issue