def main(): parser = argparse.ArgumentParser() parser.add_argument("instance", type=str, help="Task processing instance.") parser.add_argument("-d", "--debug", help="Display debug messages", action="store_true", required=False) parser.add_argument("-u", "--user", type=str, help="Drop user privileges to this user") parser.add_argument("-m", "--modules", help="Path to signature and reporting modules - overrides default modules path.", type=str, required=False) args = parser.parse_args() if args.user: drop_privileges(args.user) if args.debug: log.setLevel(logging.DEBUG) if args.modules: sys.path.insert(0, args.modules) init_modules() try: # Run the instance. instance(args.instance) except KeyboardInterrupt: log.info("Interrupted by ^C.") except Exception: log.exception("Unknown exception!")
def main(): parser = argparse.ArgumentParser() parser.add_argument("id", type=str, help="ID of the analysis to process (auto for continuous processing of unprocessed tasks).") parser.add_argument("-d", "--debug", help="Display debug messages", action="store_true", required=False) parser.add_argument("-r", "--report", help="Re-generate report", action="store_true", required=False) parser.add_argument("-p", "--parallel", help="Number of parallel threads to use (auto mode only).", type=int, required=False, default=1) parser.add_argument("-u", "--user", type=str, help="Drop user privileges to this user") parser.add_argument("-m", "--modules", help="Path to signature and reporting modules - overrides default modules path.", type=str, required=False) args = parser.parse_args() if args.user: drop_privileges(args.user) if args.debug: log.setLevel(logging.DEBUG) if args.modules: sys.path.insert(0, args.modules) init_modules(machinery=False) if args.id == "auto": autoprocess(parallel=args.parallel) else: task = Database().view_task(int(args.id)) if not task: process(task={"id": int(args.id), "category": "file", "target": ""}, report=args.report) else: process(task=task.to_dict(), report=args.report)
def main(): parser = argparse.ArgumentParser() parser.add_argument("instance", type=str, help="Task processing instance.") parser.add_argument("-d", "--debug", help="Display debug messages", action="store_true", required=False) parser.add_argument("-u", "--user", type=str, help="Drop user privileges to this user") parser.add_argument( "-m", "--modules", help= "Path to signature and reporting modules - overrides default modules path.", type=str, required=False) args = parser.parse_args() if args.user: drop_privileges(args.user) if args.debug: log.setLevel(logging.DEBUG) if args.modules: sys.path.insert(0, args.modules) init_modules() db = Database() if args.instance == "scheduler": # When restarting the scheduler, we first stop all currently running # nodes, so to reset the state. This will then stop the instances and # they will be restarted by Upstart. for tp in db.list_processing_tasks(None, 128): db.delete_processing_task(tp) scheduler() else: # Register this instance. tp = TaskProcessing(None, args.instance) Database().add_processing_task(tp) try: # Run the instance. instance(args.instance) except Exception as e: log.exception("Keyboard Interrupt? -> %s", e) # Unregister the instance. Database().delete_processing_task(tp)
def main(): global log parser = argparse.ArgumentParser() parser.add_argument("id", type=str, help="ID of the analysis to process (auto for continuous processing of unprocessed tasks).") parser.add_argument("-d", "--debug", help="Display debug messages", action="store_true", required=False) parser.add_argument("-r", "--report", help="Re-generate report", action="store_true", required=False) parser.add_argument("-p", "--parallel", help="Number of parallel threads to use (auto mode only).", type=int, required=False, default=1) parser.add_argument("-u", "--user", type=str, help="Drop user privileges to this user") parser.add_argument("-m", "--modules", help="Path to signature and reporting modules - overrides default modules path.", type=str, required=False) args = parser.parse_args() if args.user: drop_privileges(args.user) if args.debug: logging.basicConfig(level=logging.DEBUG) else: logging.basicConfig(level=logging.INFO) log = logging.getLogger("cuckoo.process") if args.modules: sys.path.insert(0, args.modules) init_modules(machinery=False) if args.id == "auto": autoprocess(parallel=args.parallel) else: task = Database().view_task(int(args.id)) if not task: task = { "id": int(args.id), "category": "file", "target": "", "options": "", } process(task=task, report=args.report) else: process(task=task.to_dict(), report=args.report)
def main(): parser = argparse.ArgumentParser() parser.add_argument("instance", type=str, help="Task processing instance.") parser.add_argument("-d", "--debug", help="Display debug messages", action="store_true", required=False) parser.add_argument("-u", "--user", type=str, help="Drop user privileges to this user") parser.add_argument("-m", "--modules", help="Path to signature and reporting modules - overrides default modules path.", type=str, required=False) args = parser.parse_args() if args.user: drop_privileges(args.user) if args.debug: log.setLevel(logging.DEBUG) if args.modules: sys.path.insert(0, args.modules) init_modules() db = Database() if args.instance == "scheduler": # When restarting the scheduler, we first stop all currently running # nodes, so to reset the state. This will then stop the instances and # they will be restarted by Upstart. for tp in db.list_processing_tasks(None, 128): db.delete_processing_task(tp) scheduler() else: # Register this instance. tp = TaskProcessing(None, args.instance) Database().add_processing_task(tp) try: # Run the instance. instance(args.instance) except Exception as e: log.exception("Keyboard Interrupt? -> %s", e) # Unregister the instance. Database().delete_processing_task(tp)
def main(): parser = argparse.ArgumentParser() parser.add_argument("id", type=str, help="ID of the analysis to process (auto for continuous processing of unprocessed tasks).") parser.add_argument("-d", "--debug", help="Display debug messages", action="store_true", required=False) parser.add_argument("-r", "--report", help="Re-generate report", action="store_true", required=False) parser.add_argument("-p", "--parallel", help="Number of parallel threads to use (auto mode only).", type=int, required=False, default=1) parser.add_argument("-u", "--user", type=str, help="Drop user privileges to this user") args = parser.parse_args() if args.user: drop_privileges(args.user) if args.debug: log.setLevel(logging.DEBUG) init_modules() if args.id == "auto": autoprocess(parallel=args.parallel) else: process(int(args.id), report=args.report)
help="Maximum number of analyses", type=int, required=False) parser.add_argument("-u", "--user", type=str, help="Drop user privileges to this user") parser.add_argument( "--clean", help="Remove all tasks and samples and their associated data", action='store_true', required=False) args = parser.parse_args() if args.user: drop_privileges(args.user) if args.clean: cuckoo_clean() sys.exit(0) try: cuckoo_init(quiet=args.quiet, debug=args.debug, artwork=args.artwork, test=args.test) if not args.artwork and not args.test: cuckoo_main(max_analysis_count=args.max_analysis_count) except CuckooCriticalError as e: message = "{0}: {1}".format(e.__class__.__name__, e)
return response else: return json_error(404, "Memory dump not found") else: return json_error(404, "Memory dump not found") else: return json_error(404, "Memory dump not found") @app.route("/vpn/status") def vpn_status(): status = rooter("vpn_status") if status is None: return json_error(500, "Rooter not available") return jsonify({"vpns": status}) if __name__ == "__main__": parser = argparse.ArgumentParser() parser.add_argument("-H", "--host", help="Host to bind the API server on", default="localhost", action="store", required=False) parser.add_argument("-p", "--port", help="Port to bind the API server on", default=8090, action="store", required=False) parser.add_argument("-u", "--user", type=str, help="Drop user privileges to this user") args = parser.parse_args() if args.user: drop_privileges(args.user) app.run(host=args.host, port=int(args.port))