def clientRequest(self, request): if 'cookie' in request.headers: host = request.headers['host'] cookie = request.headers['cookie'] client = request.client.getClientIP() if client not in URLMonitor.getInstance().cookies: URLMonitor.getInstance().cookies[client] = [] for entry in URLMonitor.getInstance().cookies[client]: if host == entry['host']: mitmf_logger.debug( "{} [Ferret-NG] Updating captured session for {}". format(client, host)) entry['host'] = host entry['cookie'] = cookie return mitmf_logger.info( "{} [Ferret-NG] Host: {} Captured cookie: {}".format( client, host, cookie)) URLMonitor.getInstance().cookies[client].append({ 'host': host, 'cookie': cookie })
def request(self, request): if 'cookie' in request.headers: host = request.headers['host'] cookie = request.headers['cookie'] client = request.client.getClientIP() if client not in URLMonitor.getInstance().cookies: URLMonitor.getInstance().cookies[client] = [] for entry in URLMonitor.getInstance().cookies[client]: if host == entry['host']: self.clientlog.debug( "Updating captured session for {}".format(host), extra=request.clientInfo) entry['host'] = host entry['cookie'] = cookie return self.clientlog.info("Host: {} Captured cookie: {}".format( host, cookie), extra=request.clientInfo) URLMonitor.getInstance().cookies[client].append({ 'host': host, 'cookie': cookie })
def on_shutdown(self): if not URLMonitor.getInstance().cookies: return if self.cookie_file == URLMonitor.getInstance().cookies: return self.log.info("Writing cookies to log file") with open('./logs/ferret-ng/cookies-{}.log'.format(datetime.now().strftime("%Y-%m-%d_%H:%M:%S:%s")), 'w') as cookie_file: cookie_file.write(str(URLMonitor.getInstance().cookies))
def finish(self): if not URLMonitor.getInstance().cookies: return if self.cookie_file == URLMonitor.getInstance().cookies: return mitmf_logger.info("[Ferret-NG] Writing cookies to log file") with open('./logs/ferret-ng/cookies-{}.log'.format(datetime.now().strftime("%Y-%m-%d_%H:%M:%S:%s")), 'w') as cookie_file: cookie_file.write(str(URLMonitor.getInstance().cookies)) cookie_file.close()
def finish(self): if not URLMonitor.getInstance().cookies: return if self.cookie_file == URLMonitor.getInstance().cookies: return mitmf_logger.info("[Ferret-NG] Writing cookies to log file") with open( './logs/ferret-ng/cookies-{}.log'.format( datetime.now().strftime("%Y-%m-%d_%H:%M:%S:%s")), 'w') as cookie_file: cookie_file.write(str(URLMonitor.getInstance().cookies)) cookie_file.close()
def clientRequest(self, request): if 'cookie' in request.headers: host = request.headers['host'] cookie = request.headers['cookie'] client = request.client.getClientIP() if client not in URLMonitor.getInstance().cookies: URLMonitor.getInstance().cookies[client] = [] for entry in URLMonitor.getInstance().cookies[client]: if host == entry['host']: mitmf_logger.debug("{} [Ferret-NG] Updating captured session for {}".format(client, host)) entry['host'] = host entry['cookie'] = cookie return mitmf_logger.info("{} [Ferret-NG] Host: {} Captured cookie: {}".format(client, host, cookie)) URLMonitor.getInstance().cookies[client].append({'host': host, 'cookie': cookie})
def request(self, request): if 'cookie' in request.headers: host = request.headers['host'] cookie = request.headers['cookie'] client = request.client.getClientIP() if client not in URLMonitor.getInstance().cookies: URLMonitor.getInstance().cookies[client] = [] for entry in URLMonitor.getInstance().cookies[client]: if host == entry['host']: self.clientlog.debug("Updating captured session for {}".format(host), extra=request.clientInfo) entry['host'] = host entry['cookie'] = cookie return self.clientlog.info("Host: {} Captured cookie: {}".format(host, cookie), extra=request.clientInfo) URLMonitor.getInstance().cookies[client].append({'host': host, 'cookie': cookie})
def initialize(self, options): self.options = options self.ferret_port = options.ferret_port self.cookie_file = None URLMonitor.getInstance().hijack_client = self.config['Ferret-NG']['Client'] from core.utils import shutdown if options.cookie_file: self.tree_info.append('Loading cookies from log file') try: with open(options.cookie_file, 'r') as cookie_file: self.cookie_file = json.dumps(cookie_file.read()) URLMonitor.getInstance().cookies = self.cookie_file except Exception as e: shutdown("[-] Error loading cookie log file: {}".format(e)) self.tree_info.append("Listening on port {}".format(self.ferret_port))
def initialize(self, options): '''Called if plugin is enabled, passed the options namespace''' self.options = options self.ferret_port = 10010 or options.ferret_port self.cookie_file = None URLMonitor.getInstance().hijack_client = self.config['Ferret-NG']['Client'] if options.cookie_file: self.tree_info.append('Loading cookies from log file') try: with open(options.cookie_file, 'r') as cookie_file: self.cookie_file = ast.literal_eval(cookie_file.read()) URLMonitor.getInstance().cookies = self.cookie_file cookie_file.close() except Exception as e: shutdown("[-] Error loading cookie log file: {}".format(e)) self.tree_info.append("Listening on port {}".format(self.ferret_port))
def initialize(self, options): '''Called if plugin is enabled, passed the options namespace''' self.options = options self.ferret_port = 10010 or options.ferret_port self.cookie_file = None URLMonitor.getInstance( ).hijack_client = self.config['Ferret-NG']['Client'] if options.cookie_file: self.tree_info.append('Loading cookies from log file') try: with open(options.cookie_file, 'r') as cookie_file: self.cookie_file = ast.literal_eval(cookie_file.read()) URLMonitor.getInstance().cookies = self.cookie_file cookie_file.close() except Exception as e: shutdown("[-] Error loading cookie log file: {}".format(e)) self.tree_info.append("Listening on port {}".format(self.ferret_port))
def onConfigChange(self): mitmf_logger.info("[Ferret-NG] Will now hijack captured sessions from {}".format(self.config['Ferret-NG']['Client'])) URLMonitor.getInstance().hijack_client = self.config['Ferret-NG']['Client']
def onConfigChange(self): mitmf_logger.info( "[Ferret-NG] Will now hijack captured sessions from {}".format( self.config['Ferret-NG']['Client'])) URLMonitor.getInstance( ).hijack_client = self.config['Ferret-NG']['Client']
def on_config_change(self): self.log.info("Will now hijack captured sessions from {}".format(self.config['Ferret-NG']['Client'])) URLMonitor.getInstance().hijack_client = self.config['Ferret-NG']['Client']
def on_config_change(self): self.log.info("Will now hijack captured sessions from {}".format( self.config['Ferret-NG']['Client'])) URLMonitor.getInstance( ).hijack_client = self.config['Ferret-NG']['Client']