def cuckoo_init(quiet=False, debug=False, artwork=False, test=False, ml=False): """Cuckoo initialization workflow. @param quiet: if set enable silent mode, it doesn't print anything except warnings @param debug: if set enable debug mode, it print all debug messages @param artwork: if set it will print only artworks, forever @param test: enable integration test mode, used only for testing @param ml: do CuckooML analysis of locally stored samples """ cur_path = os.getcwd() os.chdir(CUCKOO_ROOT) logo() check_working_directory() check_configs() check_version() create_structure() if artwork: import time try: while True: time.sleep(1) logo() except KeyboardInterrupt: return init_logging() if quiet: log.setLevel(logging.WARN) elif debug: log.setLevel(logging.DEBUG) if ml: init_cuckooml() return init_modules() init_tasks() init_yara() init_binaries() init_rooter() init_routing() # TODO: This is just a temporary hack, we need an actual test suite to # integrate with Travis-CI. if test: return ResultServer() os.chdir(cur_path)
def cuckoo_init(quiet=False, debug=False, artwork=False, test=False): cur_path = os.getcwd() os.chdir(CUCKOO_ROOT) logo() check_working_directory() check_configs() create_structure() if artwork: import time try: while True: time.sleep(1) logo() except KeyboardInterrupt: return if quiet: level = logging.WARN elif debug: level = logging.DEBUG else: level = logging.INFO log.setLevel(level) init_logging(level) check_webgui_mongo() init_modules() init_tasks() init_yara() init_rooter() init_routing() # This is just a temporary hack, we need an actual test suite to integrate # with Travis-CI. if test: return ResultServer() os.chdir(cur_path)
def cuckoo_init(quiet=False, debug=False, artwork=False, test=False): cur_path = os.getcwd() os.chdir(CUCKOO_ROOT) logo() check_working_directory() check_configs() check_signatures() create_structure() if artwork: import time try: while True: time.sleep(1) logo() except KeyboardInterrupt: return init_logging() if quiet: log.setLevel(logging.WARN) elif debug: log.setLevel(logging.DEBUG) init_modules() init_tasks() init_yara() init_rooter() init_routing() # This is just a temporary hack, we need an actual test suite to integrate # with Travis-CI. if test: return ResultServer() os.chdir(cur_path)
import re2 as re except ImportError: import re # Cuckoo path. CUCKOO_PATH = os.path.join(os.getcwd(), "..") sys.path.append(CUCKOO_PATH) from lib.cuckoo.common.config import Config # In case we have VPNs enabled we need to initialize through the following # two methods as they verify the interaction with VPNs as well as gather # which VPNs are available (for representation upon File/URL submission). from lib.cuckoo.core.startup import init_rooter, init_routing init_rooter() init_routing() cfg = Config("reporting") aux_cfg = Config("auxiliary") web_cfg = Config("web") # Error handling for database backends if not cfg.mongodb.get("enabled") and not cfg.elasticsearchdb.get("enabled"): raise Exception( "No database backend reporting module is enabled! Please enable either ElasticSearch or MongoDB." ) if cfg.mongodb.get("enabled") and cfg.elasticsearchdb.get( "enabled") and not cfg.elasticsearchdb.get("searchonly"): raise Exception( "Both database backend reporting modules are enabled. Please only enable ElasticSearch or MongoDB."
hosts.append(host.strip()) ELASTIC = elasticsearch.Elasticsearch(hosts) else: ELASTIC = None MOLOCH_ENABLED = cfg.moloch.get("enabled") MOLOCH_HOST = cfg.moloch.get("host") # In case we have VPNs enabled we need to initialize through the following # two methods as they verify the interaction with VPNs as well as gather # which VPNs are available (for representation upon File/URL submission). from lib.cuckoo.core.startup import init_rooter, init_routing init_rooter() init_routing() DEBUG = True # Database settings. We don't need it. DATABASES = {} SITE_ID = 1 # If you set this to False, Django will make some optimizations so as not # to load the internationalization machinery. USE_I18N = True # If you set this to False, Django will not format dates, numbers and # calendars according to the current locale. USE_L10N = True