Merge remote-tracking branch 'MISP/master'

pull/140/head
Koen Van Impe 2017-11-06 12:26:43 +01:00
commit b28d116787
3 changed files with 26 additions and 24 deletions

View File

@ -217,6 +217,7 @@ def main():
argParser.add_argument('-d', default=False, action='store_true', help='Enable debugging')
argParser.add_argument('-p', default=6666, help='misp-modules TCP port (default 6666)')
argParser.add_argument('-l', default='localhost', help='misp-modules listen address (default localhost)')
argParser.add_argument('-m', default=[], action='append', help='Register a custom module')
args = argParser.parse_args()
port = args.p
listen = args.l
@ -232,6 +233,11 @@ def main():
helpersdir = 'helpers'
load_helpers(helpersdir=helpersdir)
mhandlers, loaded_modules = load_modules(modulesdir)
for module in args.m:
mispmod = importlib.import_module(module)
mispmod.register(mhandlers, loaded_modules)
service = [(r'/modules', ListModules), (r'/query', QueryModule)]
application = tornado.web.Application(service)

View File

@ -19,8 +19,11 @@ def handler(q=False):
r = requests.get(cveapi_url + request.get('vulnerability'))
if r.status_code == 200:
vulnerability = json.loads(r.text)
if vulnerability.get('summary'):
summary = vulnerability['summary']
if vulnerability:
if vulnerability.get('summary'):
summary = vulnerability['summary']
else:
summary = 'Non existing CVE'
else:
misperrors['error'] = 'cve.circl.lu API not accessible'
return misperrors['error']

View File

@ -4,23 +4,20 @@ import base64
from pymisp.tools import openioc
misperrors = {'error': 'Error'}
userConfig = {
'not save ioc': {
'type': 'Boolean',
'message': 'If you check this box, IOC file will not save as an attachment in MISP'
},
'default tag': {
'type': 'String',
'message': 'Add tags spaced by a comma (tlp:white,misp:threat-level="no-risk")',
'validation' : '0'
}
}
userConfig = {'not save ioc': {'type': 'Boolean',
'message': 'If you check this box, IOC file will not save as an attachment in MISP'
},
'default tag': {
'type': 'String',
'message': 'Add tags spaced by a comma (tlp:white,misp:threat-level="no-risk")',
'validation': '0'}
}
inputSource = ['file']
moduleinfo = {'version': '0.1', 'author': 'Raphaël Vinot',
'description': 'Import OpenIOC package',
'module-type': ['import']}
'description': 'Import OpenIOC package',
'module-type': ['import']}
moduleconfig = []
@ -47,27 +44,23 @@ def handler(q=False):
if q.get('config'):
if q['config'].get('not save ioc') == "0":
addFile = {
"values": [q.get('filename')],
"types": ['attachment'],
"categories": ['Support Tool'],
"data" : q.get('data'),
}
addFile = {"values": [q.get('filename')],
"types": ['attachment'],
"categories": ['Support Tool'],
"data": q.get('data')}
# add tag
if q['config'].get('default tag') is not None:
addFile["tags"] = q['config']['default tag'].split(",")
# add file as attachment
r["results"].append(addFile)
# return all attributes
for attrib in pkg.attributes:
toAppend = {
"values": [attrib.value],
"types": [attrib.type],
"categories": [attrib.category],
"comment":attrib.comment
}
"comment": getattr(attrib, 'comment', '')}
# add tag
if q.get('config') and q['config'].get('default tag') is not None:
toAppend["tags"] = q['config']['default tag'].split(",")