mirror of
https://github.com/byt3bl33d3r/MITMf.git
synced 2025-07-06 04:52:22 -07:00
The way MITMf hooks SSLstrip's functions has been modified to improve plugin code readability, additionally corrected some useless function hooks that were placed in early framework realeases and never removed. Replace plugin has been given it's own section in the config file currently the BeedAutorun and Javapwn plugins have to be cleaned up... BrowserProfile plugin's Pinlady code has been updated to the latest version (v0.9.0) and will now detect Flash player's version Javapwn plugin will be renamed to BrowserPwn and will support Flash exploits too , as supposed to only Java exploits Since we now have a built in SMB server, removed options to specify a host in the SMBauth plugin Tweaked the output of some plugins
46 lines
1.3 KiB
Python
46 lines
1.3 KiB
Python
#! /usr/bin/env python2.7
|
|
|
|
import logging
|
|
from watchdog.observers import Observer
|
|
from watchdog.events import FileSystemEventHandler
|
|
from configobj import ConfigObj
|
|
|
|
logging.getLogger("watchdog").setLevel(logging.ERROR) #Disables watchdog's debug messages
|
|
|
|
mitmf_logger = logging.getLogger('mitmf')
|
|
|
|
class ConfigWatcher(FileSystemEventHandler):
|
|
|
|
_instance = None
|
|
config = ConfigObj("./config/mitmf.conf")
|
|
|
|
@staticmethod
|
|
def getInstance():
|
|
if ConfigWatcher._instance is None:
|
|
ConfigWatcher._instance = ConfigWatcher()
|
|
|
|
return ConfigWatcher._instance
|
|
|
|
def startConfigWatch(self):
|
|
observer = Observer()
|
|
observer.schedule(self, path='./config', recursive=False)
|
|
observer.start()
|
|
|
|
def getConfig(self):
|
|
return self.config
|
|
|
|
def on_modified(self, event):
|
|
mitmf_logger.debug("[{}] Detected configuration changes, reloading!".format(self.__class__.__name__))
|
|
self.reloadConfig()
|
|
self.onConfigChange()
|
|
|
|
def onConfigChange(self):
|
|
""" We can subclass this function to do stuff after the config file has been modified"""
|
|
pass
|
|
|
|
def reloadConfig(self):
|
|
try:
|
|
self.config = ConfigObj("./config/mitmf.conf")
|
|
except Exception as e:
|
|
mitmf_logger.error("Error reloading config file: {}".format(e))
|
|
pass
|