mirror of
https://github.com/byt3bl33d3r/MITMf.git
synced 2025-07-11 07:37:11 -07:00
Initial commit for v1.0 using mitmproxy instead of twisted
Added a plugin system to Net-Creds so you can now add your own parsers, api hook names might change between now and the offcial release (will submit a PR to the original repo once completed) The main MITM HTTP Proxy now uses mitmproxy which is a big deal, cuts the code down by an insane amount, no more twisted! yay! Basic plugin have been re-wrote for the new proxy engine Since we are using mitmproxy we have out of the box support for SSL/TLS!
This commit is contained in:
commit
eea5f53be2
50 changed files with 5525 additions and 0 deletions
51
core/logger.py
Normal file
51
core/logger.py
Normal file
|
@ -0,0 +1,51 @@
|
|||
import logging
|
||||
import sys
|
||||
from datetime import datetime
|
||||
|
||||
class ProxyLoggerAdapter(logging.LoggerAdapter):
|
||||
|
||||
def process(self, msg, kwargs):
|
||||
return '[{}] {} [type:{}-{} os:{}] {}'.format(self.extra['proxy'],
|
||||
self.extra['client'],
|
||||
self.extra['browser'],
|
||||
self.extra['browser_v'],
|
||||
self.extra['os'],
|
||||
msg), kwargs
|
||||
|
||||
class DebugLoggerAdapter(logging.LoggerAdapter):
|
||||
|
||||
def process(self, msg, kwargs):
|
||||
return '[DEBUG][{}] {}'.format(self.extra['source'], msg), kwargs
|
||||
|
||||
class NetCredsAdapter(logging.LoggerAdapter):
|
||||
|
||||
def __init__(self, logger, extra):
|
||||
self.logger = logger
|
||||
self.extra = extra
|
||||
self.extra['dst_ip_port'] = None
|
||||
|
||||
def process(self, msg, kwargs):
|
||||
if self.extra['dst_ip_port'] is not None:
|
||||
return '[Net-Creds][{}][{} > {}] {}'.format(self.extra['parser'],
|
||||
self.extra['src_ip_port'],
|
||||
self.extra['dst_ip_port'],
|
||||
msg), kwargs
|
||||
else:
|
||||
return '[Net-Creds][{}][{}] {}'.format(self.extra['parser'],
|
||||
self.extra['src_ip_port'].split(':')[0],
|
||||
msg), kwargs
|
||||
|
||||
def setup_logger(level=logging.INFO):
|
||||
|
||||
formatter = logging.Formatter("%(asctime)s %(message)s", datefmt="%m-%d-%Y %H:%M:%S")
|
||||
fileHandler = logging.FileHandler('./logs/MITMf_{}.log'.format(datetime.now().strftime('%Y-%m-%d')))
|
||||
fileHandler.setFormatter(formatter)
|
||||
|
||||
streamHandler = logging.StreamHandler(sys.stdout)
|
||||
streamHandler.setFormatter(formatter)
|
||||
|
||||
mitmf_logger = logging.getLogger('MITMf')
|
||||
mitmf_logger.propagate = False
|
||||
mitmf_logger.addHandler(streamHandler)
|
||||
mitmf_logger.addHandler(fileHandler)
|
||||
mitmf_logger.setLevel(level)
|
Loading…
Add table
Add a link
Reference in a new issue