mirror of https://github.com/MISP/misp-modules
				
				
				
			
						commit
						6c0e905737
					
				|  | @ -50,8 +50,9 @@ for module in os.listdir(modulesdir): | |||
|     moduletype = os.path.split(modulesdir)[1] | ||||
|     modules.append(modulename) | ||||
|     log.info('MISP modules {0} imported'.format(modulename)) | ||||
|     mhandlers[modulename] = importlib.import_module('modules.expansion.'+modulename) | ||||
|     mhandlers['type:'+modulename]= moduletype | ||||
|     mhandlers[modulename] = importlib.import_module('modules.expansion.' + modulename) | ||||
|     mhandlers['type:' + modulename] = moduletype | ||||
| 
 | ||||
| 
 | ||||
| class ListModules(tornado.web.RequestHandler): | ||||
|     def get(self): | ||||
|  | @ -59,23 +60,24 @@ class ListModules(tornado.web.RequestHandler): | |||
|         for module in modules: | ||||
|             x = {} | ||||
|             x['name'] = module | ||||
|             x['type'] = mhandlers['type:'+module] | ||||
|             x['type'] = mhandlers['type:' + module] | ||||
|             x['mispattributes'] = mhandlers[module].introspection() | ||||
|             x['version'] = mhandlers[module].version() | ||||
|             ret.append(x) | ||||
|         log.debug('MISP ListModules request') | ||||
|         self.write(json.dumps(ret)) | ||||
| 
 | ||||
| 
 | ||||
| class QueryModule(tornado.web.RequestHandler): | ||||
|     def post(self): | ||||
|         jsonpayload = self.request.body.decode('utf-8') | ||||
|         x=json.loads(jsonpayload) | ||||
|         x = json.loads(jsonpayload) | ||||
|         log.debug('MISP QueryModule request {0}'.format(jsonpayload)) | ||||
|         ret = mhandlers[x['module']].handler(q=jsonpayload) | ||||
|         self.write(json.dumps(ret)) | ||||
| 
 | ||||
| 
 | ||||
| service = [(r'/modules',ListModules), (r'/query',QueryModule)] | ||||
| service = [(r'/modules', ListModules), (r'/query', QueryModule)] | ||||
| 
 | ||||
| application = tornado.web.Application(service) | ||||
| log.info('MISP modules server started on TCP port {0}'.format(port)) | ||||
|  |  | |||
|  | @ -1,9 +1,10 @@ | |||
| import json | ||||
| import dns.resolver | ||||
| 
 | ||||
| mispattributes = {'input':['hostname', 'domain'], 'output':['ip-src', 'ip-dst']} | ||||
| mispattributes = {'input': ['hostname', 'domain'], 'output': ['ip-src', 'ip-dst']} | ||||
| moduleinfo = "0.1" | ||||
| 
 | ||||
| 
 | ||||
| def handler(q=False): | ||||
|     if q is False: | ||||
|         return False | ||||
|  | @ -22,11 +23,13 @@ def handler(q=False): | |||
|         return False | ||||
|     except dns.exception.Timeout: | ||||
|         return False | ||||
|     r = {'results':[{'types':mispattributes['output'], 'values':[str(answer[0])]}]} | ||||
|     r = {'results': [{'types': mispattributes['output'], 'values':[str(answer[0])]}]} | ||||
|     return r | ||||
| 
 | ||||
| def introspection(): | ||||
| 
 | ||||
| def introspection(): | ||||
|     return mispattributes | ||||
| 
 | ||||
| 
 | ||||
| def version(): | ||||
|     return moduleinfo | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue