diff --git a/.gitignore b/.gitignore index fad281d..0860090 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,59 @@ -*.pyc /plugins/old_plugins/ backdoored/ +# Byte-compiled / optimized / DLL files +__pycache__/ +*.py[cod] + +# C extensions +*.so + +# Distribution / packaging +.Python +env/ +build/ +develop-eggs/ +dist/ +downloads/ +eggs/ +.eggs/ +lib/ +lib64/ +parts/ +sdist/ +var/ +*.egg-info/ +.installed.cfg +*.egg + +# PyInstaller +# Usually these files are written by a python script from a template +# before PyInstaller builds the exe, so as to inject date/other infos into it. +*.manifest +*.spec + +# Installer logs +pip-log.txt +pip-delete-this-directory.txt + +# Unit test / coverage reports +htmlcov/ +.tox/ +.coverage +.coverage.* +.cache +nosetests.xml +coverage.xml +*,cover + +# Translations +*.mo +*.pot + +# Django stuff: +*.log + +# Sphinx documentation +docs/_build/ + +# PyBuilder +target/ diff --git a/core/configwatcher.py b/core/configwatcher.py index 2da6962..beb8061 100644 --- a/core/configwatcher.py +++ b/core/configwatcher.py @@ -1,8 +1,8 @@ #! /usr/bin/env python2.7 import logging -from watchdog.observers import Observer -from watchdog.events import FileSystemEventHandler +from mitmflib.watchdog.observers import Observer +from mitmflib.watchdog.events import FileSystemEventHandler from configobj import ConfigObj logging.getLogger("watchdog").setLevel(logging.ERROR) #Disables watchdog's debug messages diff --git a/core/netcreds/NetCreds.py b/core/netcreds/NetCreds.py index 451729b..328974b 100644 --- a/core/netcreds/NetCreds.py +++ b/core/netcreds/NetCreds.py @@ -17,7 +17,7 @@ from urllib import unquote # shut up scapy logging.getLogger("scapy.runtime").setLevel(logging.ERROR) -from scapy.all import * +from mitmflib.scapy.all import * conf.verb=0 mitmf_logger = logging.getLogger('mitmf') diff --git a/core/poisoners/arp/ARPWatch.py b/core/poisoners/arp/ARPWatch.py index 10470e5..55faf04 100644 --- a/core/poisoners/arp/ARPWatch.py +++ b/core/poisoners/arp/ARPWatch.py @@ -3,7 +3,7 @@ import os import sys import threading -from scapy.all import * +from mitmflib.scapy.all import * from core.utils import shutdown mitmf_logger = logging.getLogger('mitmf') diff --git a/core/poisoners/arp/ARPpoisoner.py b/core/poisoners/arp/ARPpoisoner.py index 8816665..4e896b7 100644 --- a/core/poisoners/arp/ARPpoisoner.py +++ b/core/poisoners/arp/ARPpoisoner.py @@ -5,7 +5,7 @@ from traceback import print_exc from netaddr import IPNetwork, IPRange, IPAddress, AddrFormatError from time import sleep from core.utils import shutdown -from scapy.all import * +from mitmflib.scapy.all import * mitmf_logger = logging.getLogger('mitmf') diff --git a/core/poisoners/dhcp/DHCPpoisoner.py b/core/poisoners/dhcp/DHCPpoisoner.py index aa23cc8..d3169cc 100644 --- a/core/poisoners/dhcp/DHCPpoisoner.py +++ b/core/poisoners/dhcp/DHCPpoisoner.py @@ -4,7 +4,7 @@ import binascii import random logging.getLogger("scapy.runtime").setLevel(logging.ERROR) #Gets rid of IPV6 Error when importing scapy -from scapy.all import * +from mitmflib.scapy.all import * mitmf_logger = logging.getLogger('mitmf') diff --git a/core/poisoners/icmp/ICMPpoisoner.py b/core/poisoners/icmp/ICMPpoisoner.py index a23bf4b..c77d1bc 100644 --- a/core/poisoners/icmp/ICMPpoisoner.py +++ b/core/poisoners/icmp/ICMPpoisoner.py @@ -30,7 +30,7 @@ from time import sleep #from netfilterqueue import NetfilterQueue logging.getLogger("scapy.runtime").setLevel(logging.ERROR) #Gets rid of IPV6 Error when importing scapy -from scapy.all import * +from mitmflib.scapy.all import * mitmf_logger = logging.getLogger('mitmf') diff --git a/core/servers/dns/DNSchef.py b/core/servers/dns/DNSchef.py index 69f3681..9cf829d 100755 --- a/core/servers/dns/DNSchef.py +++ b/core/servers/dns/DNSchef.py @@ -43,7 +43,7 @@ from configobj import ConfigObj from core.configwatcher import ConfigWatcher from core.utils import shutdown -from dnslib import * +from mitmflib.dnslib import * from IPy import IP formatter = logging.Formatter("%(asctime)s %(message)s", datefmt="%Y-%m-%d %H:%M:%S") diff --git a/core/servers/smb/KarmaSMB.py b/core/servers/smb/KarmaSMB.py index 3c7cd59..d363c93 100644 --- a/core/servers/smb/KarmaSMB.py +++ b/core/servers/smb/KarmaSMB.py @@ -56,13 +56,13 @@ import logging import ntpath import ConfigParser -from impacket import LOG as logger -from impacket import smbserver, smb, version -import impacket.smb3structs as smb2 -from impacket.smb import FILE_OVERWRITE, FILE_OVERWRITE_IF, FILE_WRITE_DATA, FILE_APPEND_DATA, GENERIC_WRITE -from impacket.nt_errors import STATUS_USER_SESSION_DELETED, STATUS_SUCCESS, STATUS_ACCESS_DENIED, STATUS_NO_MORE_FILES, \ +from mitmflib.impacket import LOG as logger +from mitmflib.impacket import smbserver, smb, version +import mitmflib.impacket.smb3structs as smb2 +from mitmflib.impacket.smb import FILE_OVERWRITE, FILE_OVERWRITE_IF, FILE_WRITE_DATA, FILE_APPEND_DATA, GENERIC_WRITE +from mitmflib.impacket.nt_errors import STATUS_USER_SESSION_DELETED, STATUS_SUCCESS, STATUS_ACCESS_DENIED, STATUS_NO_MORE_FILES, \ STATUS_OBJECT_PATH_NOT_FOUND -from impacket.smbserver import SRVSServer, decodeSMBString, findFirst2, STATUS_SMB_BAD_TID, encodeSMBString, \ +from mitmflib.impacket.smbserver import SRVSServer, decodeSMBString, findFirst2, STATUS_SMB_BAD_TID, encodeSMBString, \ getFileTime, queryPathInformation class KarmaSMBServer(): diff --git a/core/servers/smb/SMBserver.py b/core/servers/smb/SMBserver.py index 8a86477..0c7f47c 100644 --- a/core/servers/smb/SMBserver.py +++ b/core/servers/smb/SMBserver.py @@ -4,7 +4,7 @@ import threading import os from socket import error as socketerror -from impacket import version, smbserver, LOG +from mitmflib.impacket import version, smbserver, LOG from core.servers.smb.KarmaSMB import KarmaSMBServer from core.configwatcher import ConfigWatcher from core.utils import shutdown diff --git a/core/utils.py b/core/utils.py index 42a9aa2..f90d51d 100644 --- a/core/utils.py +++ b/core/utils.py @@ -26,7 +26,7 @@ import re import sys logging.getLogger("scapy.runtime").setLevel(logging.ERROR) #Gets rid of IPV6 Error when importing scapy -from scapy.all import get_if_addr, get_if_hwaddr +from mitmflib.scapy.all import get_if_addr, get_if_hwaddr from core.sergioproxy.ProxyPlugins import ProxyPlugins mitmf_logger = logging.getLogger('mitmf') diff --git a/plugins/Spoof.py b/plugins/Spoof.py index 37379fd..fef8cd9 100644 --- a/plugins/Spoof.py +++ b/plugins/Spoof.py @@ -25,7 +25,7 @@ from core.servers.dns.DNSchef import DNSChef from core.poisoners.dhcp.DHCPpoisoner import DHCPpoisoner from core.poisoners.icmp.ICMPpoisoner import ICMPpoisoner from plugins.plugin import Plugin -from scapy.all import * +from mitmflib.scapy.all import * class Spoof(Plugin): name = "Spoof" diff --git a/requirements.txt b/requirements.txt index 8c65b16..0c9da76 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,16 +1,13 @@ Twisted requests netaddr -scapy msgpack-python -dnslib configobj +mitmflib Pillow pefile ipy pyopenssl service_identity -watchdog -impacket capstone pypcap \ No newline at end of file