def __init__(self, setup): super(SnifferEngine, self).__init__() self.setup = setup sys.stderr.write("[+] Starting sniffer...\n") # check if sniffer directory exists if not os.path.isdir(self.setup['SNIFFER_DIR']): sys.stderr.write("Could not load directory specified in sniffer_dir: {}\n".format(self.setup['SNIFFER_DIR'])) exit() sys.stderr.write("[+] Successfully loaded sniffer directory: {}\n".format(self.setup['SNIFFER_DIR'])) if setup['TLS_PROXY_PORT'] > 0: from Malcom.sniffer.tlsproxy.tlsproxy import MalcomTLSProxy sys.stderr.write("[+] Starting TLS proxy on port {}\n".format(setup['TLS_PROXY_PORT'])) self.tls_proxy = MalcomTLSProxy(setup['TLS_PROXY_PORT']) self.tls_proxy.engine = self self.tls_proxy.start() else: self.tls_proxy = None self.sessions = {} self.model = Model(self.setup) self.db_lock = threading.Lock() self.messenger = SnifferMessenger() self.messenger.snifferengine = self
def __init__(self, configuration): Process.__init__(self) self.configuration = configuration self.model = Model(self.configuration) self.feeds = {} self.threads = {} self.global_thread = None
def __init__(self, setup, yara_rules=None): super(SnifferEngine, self).__init__() self.setup = setup sys.stderr.write("[+] Starting sniffer...\n") # check if sniffer directory exists if not os.path.isdir(self.setup['SNIFFER_DIR']): sys.stderr.write( "Could not load directory specified in sniffer_dir: %s\n" % self.setup['SNIFFER_DIR']) exit() sys.stderr.write("[+] Successfully loaded sniffer directory: %s\n" % self.setup['SNIFFER_DIR']) if setup['TLS_PROXY_PORT'] > 0: from Malcom.networking.tlsproxy.tlsproxy import MalcomTLSProxy sys.stderr.write("[+] Starting TLS proxy on port %s\n" % setup['TLS_PROXY_PORT']) self.tls_proxy = MalcomTLSProxy(setup['TLS_PROXY_PORT']) self.tls_proxy.engine = self self.tls_proxy.start() else: self.tls_proxy = None self.sessions = {} self.model = Model() self.db_lock = threading.Lock() self.messenger = SnifferMessenger() self.messenger.snifferengine = self # debug_output("Importing packet captures...") # for s in self.model.get_sniffer_sessions(): # self.sessions[s['name']] = SnifferSession( s['name'], # None, # None, # self, # filter_restore=s['filter'], # intercept_tls=s['intercept_tls'] if setup['TLS_PROXY_PORT'] else False) # self.sessions[s['name']].pcap = True if has_yara and yara_rules: try: self.yara_rules = self.load_yara_rules(yara_rules) except Exception, e: sys.stderr.write( "Could not load yara rules specified in yara_path: %s\n" % e) exit()
def __init__(self): self.data = Model() self.max_threads = Malcom.config.get('MAX_THREADS', 4) self.active = False self.status = "Inactive" self.websocket = None self.thread = None self.websocket_lock = threading.Lock() self.stack_lock = threading.Lock() self.progress = 0 self.total = 0 self.max_threads = threading.Semaphore(self.max_threads) self.worker_threads = {}