mirror of
https://github.com/byt3bl33d3r/MITMf.git
synced 2025-07-07 13:32:18 -07:00
version bump
This commit is contained in:
parent
fcdbe49df9
commit
caaee53079
7 changed files with 12 additions and 37 deletions
|
@ -1,5 +1,5 @@
|
||||||
MITMf V0.9.1
|
MITMf V0.9.5
|
||||||
==========
|
============
|
||||||
|
|
||||||
Framework for Man-In-The-Middle attacks
|
Framework for Man-In-The-Middle attacks
|
||||||
|
|
||||||
|
@ -37,7 +37,6 @@ So far the most significant changes have been:
|
||||||
- Addition of the SessionHijacking plugin, which uses code from FireLamb (https://github.com/sensepost/mana/tree/master/firelamb) to store cookies in a Firefox profile
|
- Addition of the SessionHijacking plugin, which uses code from FireLamb (https://github.com/sensepost/mana/tree/master/firelamb) to store cookies in a Firefox profile
|
||||||
|
|
||||||
- Spoof plugin now supports ICMP, ARP and DHCP spoofing along with DNS tampering
|
- Spoof plugin now supports ICMP, ARP and DHCP spoofing along with DNS tampering
|
||||||
(DNS tampering code was stolen from https://github.com/DanMcInerney/dnsspoof/)
|
|
||||||
|
|
||||||
- Spoof plugin can now exploit the 'ShellShock' bug when DHCP spoofing!
|
- Spoof plugin can now exploit the 'ShellShock' bug when DHCP spoofing!
|
||||||
|
|
||||||
|
@ -54,6 +53,6 @@ https://github.com/secretsquirrel/the-backdoor-factory and code from BDFProxy ht
|
||||||
|
|
||||||
<h3>How to install on Kali</h3>
|
<h3>How to install on Kali</h3>
|
||||||
|
|
||||||
MITMf is now in tha kali linux repositories!! wohooooo!!
|
MITMf is now in tha kali linux repositories!
|
||||||
|
|
||||||
```apt-get install mitmf```
|
```apt-get install mitmf```
|
||||||
|
|
|
@ -41,25 +41,6 @@ banner3 = """
|
||||||
"""
|
"""
|
||||||
|
|
||||||
banner4 = """
|
banner4 = """
|
||||||
MMMMMMMM MMMMMMMMIIIIIIIIIITTTTTTTTTTTTTTTTTTTTTTTMMMMMMMM MMMMMMMM ffffffffffffffff
|
|
||||||
M:::::::M M:::::::MI::::::::IT:::::::::::::::::::::TM:::::::M M:::::::M f::::::::::::::::f
|
|
||||||
M::::::::M M::::::::MI::::::::IT:::::::::::::::::::::TM::::::::M M::::::::M f::::::::::::::::::f
|
|
||||||
M:::::::::M M:::::::::MII::::::IIT:::::TT:::::::TT:::::TM:::::::::M M:::::::::M f::::::fffffff:::::f
|
|
||||||
M::::::::::M M::::::::::M I::::I TTTTTT T:::::T TTTTTTM::::::::::M M::::::::::M f:::::f ffffff
|
|
||||||
M:::::::::::M M:::::::::::M I::::I T:::::T M:::::::::::M M:::::::::::M f:::::f
|
|
||||||
M:::::::M::::M M::::M:::::::M I::::I T:::::T M:::::::M::::M M::::M:::::::Mf:::::::ffffff
|
|
||||||
M::::::M M::::M M::::M M::::::M I::::I T:::::T M::::::M M::::M M::::M M::::::Mf::::::::::::f
|
|
||||||
M::::::M M::::M::::M M::::::M I::::I T:::::T M::::::M M::::M::::M M::::::Mf::::::::::::f
|
|
||||||
M::::::M M:::::::M M::::::M I::::I T:::::T M::::::M M:::::::M M::::::Mf:::::::ffffff
|
|
||||||
M::::::M M:::::M M::::::M I::::I T:::::T M::::::M M:::::M M::::::M f:::::f
|
|
||||||
M::::::M MMMMM M::::::M I::::I T:::::T M::::::M MMMMM M::::::M f:::::f
|
|
||||||
M::::::M M::::::MII::::::II TT:::::::TT M::::::M M::::::Mf:::::::f
|
|
||||||
M::::::M M::::::MI::::::::I T:::::::::T M::::::M M::::::Mf:::::::f
|
|
||||||
M::::::M M::::::MI::::::::I T:::::::::T M::::::M M::::::Mf:::::::f
|
|
||||||
MMMMMMMM MMMMMMMMIIIIIIIIII TTTTTTTTTTT MMMMMMMM MMMMMMMMfffffffff
|
|
||||||
"""
|
|
||||||
|
|
||||||
banner5 = """
|
|
||||||
___ ___ ___
|
___ ___ ___
|
||||||
/\ \ /\ \ /\__\
|
/\ \ /\ \ /\__\
|
||||||
|::\ \ ___ ___ |::\ \ /:/ _/_
|
|::\ \ ___ ___ |::\ \ /:/ _/_
|
||||||
|
@ -71,9 +52,8 @@ banner5 = """
|
||||||
\:\ \ \::/ / \/__\:\ \ \:\ \ \:\ \
|
\:\ \ \::/ / \/__\:\ \ \:\ \ \:\ \
|
||||||
\:\__\ /:/ / \:\__\ \:\__\ \:\__\
|
\:\__\ /:/ / \:\__\ \:\__\ \:\__\
|
||||||
\/__/ \/__/ \/__/ \/__/ \/__/
|
\/__/ \/__/ \/__/ \/__/ \/__/
|
||||||
|
|
||||||
"""
|
"""
|
||||||
|
|
||||||
def get():
|
def get_banner():
|
||||||
banners = [banner1, banner2, banner3, banner4, banner5]
|
banners = [banner1, banner2, banner3, banner4]
|
||||||
return random.choice(banners)
|
return random.choice(banners)
|
||||||
|
|
10
mitmf.py
10
mitmf.py
|
@ -5,7 +5,7 @@ from twisted.internet import reactor
|
||||||
|
|
||||||
from libs.sslstrip.CookieCleaner import CookieCleaner
|
from libs.sslstrip.CookieCleaner import CookieCleaner
|
||||||
from libs.sergioproxy.ProxyPlugins import ProxyPlugins
|
from libs.sergioproxy.ProxyPlugins import ProxyPlugins
|
||||||
from libs.banners import get
|
from libs.banners import get_banner
|
||||||
|
|
||||||
import logging
|
import logging
|
||||||
|
|
||||||
|
@ -30,7 +30,7 @@ mitmf_version = "0.9.5"
|
||||||
sslstrip_version = "0.9"
|
sslstrip_version = "0.9"
|
||||||
sergio_version = "0.2.1"
|
sergio_version = "0.2.1"
|
||||||
|
|
||||||
banner = get()
|
banner = get_banner()
|
||||||
print banner
|
print banner
|
||||||
|
|
||||||
parser = argparse.ArgumentParser(description="MITMf v%s - Framework for MITM attacks" % mitmf_version, version=mitmf_version, usage='', epilog="Use wisely, young Padawan.",fromfile_prefix_chars='@')
|
parser = argparse.ArgumentParser(description="MITMf v%s - Framework for MITM attacks" % mitmf_version, version=mitmf_version, usage='', epilog="Use wisely, young Padawan.",fromfile_prefix_chars='@')
|
||||||
|
@ -138,12 +138,12 @@ load = []
|
||||||
|
|
||||||
for p in plugins:
|
for p in plugins:
|
||||||
try:
|
try:
|
||||||
|
if vars(args)[p.optname] is True:
|
||||||
|
print "|_ %s v%s" % (p.name, p.version)
|
||||||
|
|
||||||
if getattr(args, p.optname):
|
if getattr(args, p.optname):
|
||||||
p.initialize(args)
|
p.initialize(args)
|
||||||
load.append(p)
|
load.append(p)
|
||||||
|
|
||||||
if vars(args)[p.optname] is True:
|
|
||||||
print "|_ %s v%s" % (p.name, p.version)
|
|
||||||
except Exception, e:
|
except Exception, e:
|
||||||
print "[-] Error loading plugin: " + str(e)
|
print "[-] Error loading plugin: " + str(e)
|
||||||
|
|
||||||
|
|
|
@ -45,6 +45,7 @@ class BeefAutorun(Inject, Plugin):
|
||||||
if not beef.login(beefconfig['user'], beefconfig['pass']):
|
if not beef.login(beefconfig['user'], beefconfig['pass']):
|
||||||
sys.exit("[-] Error logging in to BeEF!")
|
sys.exit("[-] Error logging in to BeEF!")
|
||||||
|
|
||||||
|
print "| |_ Mode: %s" % self.Mode
|
||||||
t = threading.Thread(name="autorun", target=self.autorun, args=(beef,))
|
t = threading.Thread(name="autorun", target=self.autorun, args=(beef,))
|
||||||
t.setDaemon(True)
|
t.setDaemon(True)
|
||||||
t.start()
|
t.start()
|
||||||
|
|
|
@ -50,7 +50,7 @@ class JavaPwn(BrowserProfiler, Plugin):
|
||||||
msf = msfrpc.Msfrpc({"host": self.rpcip}) #create an instance of msfrpc libarary
|
msf = msfrpc.Msfrpc({"host": self.rpcip}) #create an instance of msfrpc libarary
|
||||||
msf.login('msf', self.rpcpass)
|
msf.login('msf', self.rpcpass)
|
||||||
version = msf.call('core.version')['version']
|
version = msf.call('core.version')['version']
|
||||||
print "[*] Successfully connected to Metasploit v%s" % version
|
print "| |_ Connected to Metasploit v%s" % version
|
||||||
except Exception:
|
except Exception:
|
||||||
sys.exit("[-] Error connecting to MSF! Make sure you started Metasploit and its MSGRPC server")
|
sys.exit("[-] Error connecting to MSF! Make sure you started Metasploit and its MSGRPC server")
|
||||||
|
|
||||||
|
|
|
@ -24,7 +24,6 @@ class Responder(Plugin):
|
||||||
except Exception, e:
|
except Exception, e:
|
||||||
sys.exit('[-] Error parsing config for Responder: ' + str(e))
|
sys.exit('[-] Error parsing config for Responder: ' + str(e))
|
||||||
|
|
||||||
print "[*] Responder plugin online"
|
|
||||||
DnsCache.getInstance().setCustomAddress(self.ip_address)
|
DnsCache.getInstance().setCustomAddress(self.ip_address)
|
||||||
|
|
||||||
for name in ['wpad', 'ISAProxySrv', 'RespProxySrv']:
|
for name in ['wpad', 'ISAProxySrv', 'RespProxySrv']:
|
||||||
|
|
|
@ -1,7 +1,3 @@
|
||||||
#
|
|
||||||
# DNS tampering code stolen from https://github.com/DanMcInerney/dnsspoof
|
|
||||||
#
|
|
||||||
|
|
||||||
from plugins.plugin import Plugin
|
from plugins.plugin import Plugin
|
||||||
from time import sleep
|
from time import sleep
|
||||||
import dns.resolver
|
import dns.resolver
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue