Commit graph

162 commits

Author SHA1 Message Date
byt3bl33d3r
951937bac4 commented out unfinished option in Inject.py 2015-06-15 00:27:09 +02:00
byt3bl33d3r
bb8ee46b82 added kali setup script and updated readme 2015-06-15 00:18:55 +02:00
byt3bl33d3r
b73ac99de3 re-added scapy, changed imports 2015-06-11 22:27:31 +02:00
byt3bl33d3r
aa246130e2 updated requirements.txt, changed imports to mitmflib 2015-06-11 22:05:22 +02:00
byt3bl33d3r
e3aa8ba617 fixes #117 2015-06-08 13:38:45 +02:00
byt3bl33d3r
96d1078d42 Merge branch 'webserver' 2015-06-08 04:30:11 +02:00
byt3bl33d3r
316246e3cc Re-Wrote Beef-api, refactored the beefAutorun plugin as per #113, this also should address any problems left over from #106 2015-06-08 04:13:55 +02:00
byt3bl33d3r
d56ce5447e This commit should resolve issues #106 and #109
Issue #106 was caused by a 'None' value being returned when BeEF was unable to detect the hooked browser's OS

Issue #109 was probably caused by locked resources when send() and sendp() where being called, adding in sleep() seems to have resolved the issue (at least on my machine)
2015-06-06 14:20:54 +02:00
byt3bl33d3r
ffdb4ff55c fixed DHCP and ICMP spoofing calling wrong vars 2015-06-05 21:06:20 +02:00
byt3bl33d3r
b0fa2e010d fixed #108 2015-06-03 01:44:12 +02:00
byt3bl33d3r
c2354b9b63 Merged the SMBTrap plugin to master and relative code changes 2015-06-02 23:54:33 +02:00
byt3bl33d3r
4de7d3e67e fixed a wrong var 2015-06-02 18:53:30 +02:00
byt3bl33d3r
14580f1589 second implementation of the HTTP server, you can now define shares for the SMB server in the config file, added an option to switch between the normal SMB server and the Karma version.
removed some useless code (left over from the responder plugin), serverResponseStatus hook now returns a dict (tuple was causing errors)
2015-05-30 15:00:41 +02:00
byt3bl33d3r
87cb98b6ac fixes 98 2015-05-28 13:49:40 +02:00
byt3bl33d3r
f86457b300 fixes #96 2015-05-27 22:02:41 +02:00
byt3bl33d3r
e985d42a8a The new changes caused an exception when unpacking the tuple, fixed it 2015-05-23 00:37:08 +02:00
byt3bl33d3r
840e202e5b handleStatus() is now hooked through serverResponseStatus, were now able to modify the server response code and message
added the SMBTrap plugin
2015-05-22 20:16:47 +02:00
byt3bl33d3r
8b915064c1 fixed wrong var name in beefautorun 2015-05-20 14:35:03 +02:00
byt3bl33d3r
929520fcc8 Initial webserver implementation, plus organized directory structure a bit better 2015-05-19 22:43:43 +02:00
byt3bl33d3r
563a8d37c1 Fixed a bug in SSLstrip+ code, when redirecting to certain sites
Created a wrapper class around Msfrpc to limit code re-use when interacting with msf
2015-05-19 00:00:40 +02:00
byt3bl33d3r
b9371f7cdc Screenshotter plugin now live!
Added an interval option to specify the interval at which to take the sceenshots

Ferret-NG plugin is pretty much set also, was a bit of a dummy and didn't take into account that we would have sessions from multiple clients (duh!) , so I added a section in the config file to specify the client to hijack the sessions from , also added an option to load the cookies from a log file!
2015-05-16 21:22:11 +02:00
byt3bl33d3r
ff39a302f9 This commit is just to push the changes so far to github , still have to tidy things up here and there and fix some bugs (also I really hate javascript)
JavaPwn plugin has been renamed to BrowserSniper (cause it now supports java, flash and browser exploits), it's been completly re-written along with it's config file section
Addition of the screenshotter plugin, currently there is a bug when decoding the base64 encoded png files (a very wierd one) , but other than that it works (did i mention i hate js?)
Jskeylogger's javscript now works on every browser except FF mobile (have no clue what's with that) p.s. did i mention i hate JS?
Plugins that deal with javascript now read it from a file as supposed to having it built in (encoding issues) fu javascript
User agent parsing is now built in and handled by core/httpagentparser.py, this because the user-agent library is a pain to install on some distros , also removes 3-4 deps which is a plus

also fuck javascript
2015-05-16 00:43:56 +02:00
byt3bl33d3r
79025dc77e Initial working PoC for the Ferret-NG plugin that will replace the SessionHijacker plugin: it will capture cookies and trasparently feed them to the proxy it starts up on port 10010 (by default), this way we just have to connect to the proxy, browse to the same website as the victim and we will automatically hijack their session! \o/
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
2015-05-11 03:13:45 +02:00
byt3bl33d3r
d3e509d4cd Added error handling to DNS and SMB servers when port is in use
Added check to see if a plugins options were called without loading the actual plugin
2015-05-06 23:07:59 +02:00
byt3bl33d3r
70ec5a2bbc All plugins are now modified to support dynamic config file changes
Responder functionality fully restored
2015-05-05 19:04:01 +02:00
byt3bl33d3r
dfa9c9d65e Added debug logging to ProxyPlugins, it will now print a traceback if errors occur in hooked functions 2015-05-05 00:39:59 +02:00
byt3bl33d3r
5d07551a50 WPAD Poisoner back online, removed options in config file and rellative code for choosing which DNS server to use. (there really was not point in keeping it)
the --basic and --force options and the EXE serving in the Responder plugin have been removed, until I can find a better way of implementing them.
Modified and re-added the JS-keylogger and SMBauth plugins
2015-05-04 23:13:21 +02:00
byt3bl33d3r
aa4e022ab0 Kerberos sever back online, squashed some bugs 2015-04-30 00:10:55 +02:00
byt3bl33d3r
08b9029a96 Responder's MDNS/LLMNR/NBTNS poisoners are back in action (better than ever), only WPAD remains.
Tested against Windows 7 and 8, got hashes 100% of the time! \o/

The rest of the servers will be added in after WPAD is fixed.

Next step is to fix the logging... frankly i rather just log everything into the main mitmf.log folder since it's very grep'able.
Also the exact output is going to need tweaking, the lines are wayy to long
2015-04-28 02:03:12 +02:00
byt3bl33d3r
9712eed4a3 This is 1/2 of the work done... lot's of cool stuff!
I've re-written a decent amount of the framework to support dynamic config file updates, revamped the ARP Spoofing 'engine' and changed the way MITMf integrates Responder and Netcreds.

- Net-creds is now started by default and no longer a plugin.. It's all about getting those creds after all.
- Integrated the Subterfuge Framework's ARPWatch script, it will enable itself when spoofing the whole subnet (also squashed bugs in the original ARP spoofing code)
- The spoof plugin now supports specifying a range of targets (e.g. --target 10.10.10.1-15) and multiple targets (e.g. --target 10.10.10.1,10.10.10.2)
- An SMB Server is now started by default, MITMf now uses Impacket's SMBserver as supposed to the one built into Responder, mainly for 2 reasons:
  1) Impacket is moving towards SMB2 support and is actively developed
  2) Impacket's SMB server is fully functional as supposed to Responder's (will be adding a section for it in the config file)
  3) Responder's SMB server was unrealiable when used through MITMf (After spending a day trying to figure out why, I just gave up and yanked it out)

- Responder's code has been broken down into single importable classes (way easier to manage and read, ugh!)
- Started adding dynamic config support to Responder's code and changed the logging messages to be a bit more readable.
- POST data captured through the proxy will now only be logged and printed to STDOUT when it's decodable to UTF-8 (this prevents logging encrypted data which is no use)
- Responder and the Beefapi script are no longer submodules (they seem to be a pain to package, so i removed them to help a brother out)
- Some plugins are missing because I'm currently re-writing them, will be added later
- Main plugin class now inharates from the ConfigWatcher class, this way plugins will support dynamic configs natively! \o/
2015-04-27 18:33:55 +02:00
byt3bl33d3r
663f38e732 initial dynamic config support
added configwatcher.py
2015-04-19 23:33:44 +02:00
byt3bl33d3r
33c9eda05b fixed the responder plugin (im a dummy) 2015-04-17 02:11:00 +02:00
byt3bl33d3r
6121c67eaa Merge branch 'dev' 2015-04-15 18:25:59 +02:00
byt3bl33d3r
b91bb4271b - Fixed bug where sometimes DNS wouldn't resolve local IP's
- Added Metasploit integration to Filepwn plugin
2015-04-15 18:19:19 +02:00
byt3bl33d3r
360a6ba6ce addresses issue #63 2015-04-15 17:16:28 +02:00
byt3bl33d3r
8eb09309d2 Merged Filepwn plugin and config file changes 2015-04-15 00:40:01 +02:00
byt3bl33d3r
5e9158ce0a Updated FilePwn plugin with latest BDFProxy version
Removed exception handling in mitmf.py since I actually want a traceback
2015-04-14 16:16:29 +02:00
byt3bl33d3r
460399541f Modded Responder plugin to accomodate re-write
Started converting all string formatting to format() API
2015-04-13 20:25:14 +02:00
byt3bl33d3r
5b0a15ea56 fixed logging in responder and some plugins 2015-04-12 19:00:50 +02:00
byt3bl33d3r
9a1c3b0ec4 - Whole framework now requires root privs
- Added an internal DNS server
- Proxy can now use our custom DNS server (DNSChef) or Twisted's
- Removed priv check from plugins
- DNS spoofing fully re-written
- Iptables rules are now checked and set between plugins
2015-04-12 01:49:43 +02:00
byt3bl33d3r
c8732d60eb changed tree output loading method 2015-04-11 15:54:51 +02:00
byt3bl33d3r
d4c6b7d5b6 - Logging is now seperate for each module
- added DNSChef submodule
- Code style improvements
- modified config file name , and options
- Changed requirements and README
2015-04-11 00:38:48 +02:00
byt3bl33d3r
eb7e797ded Merge branch 'master' of github.com:byt3bl33d3r/MITMf into v0.9.6 2015-04-10 15:57:17 +02:00
byt3bl33d3r
1a8d5191c4 Filepwn plugin is now multithreaded (backported) 2015-04-09 17:29:22 +02:00
byt3bl33d3r
75173c6b9d added names to threads 2015-04-01 01:25:05 +02:00
byt3bl33d3r
df9fd2d12a Filepwn plugin now uses multiprocessing to patch binaries 2015-04-01 01:11:40 +02:00
byt3bl33d3r
84c9bab33c fixed beefapi import 2015-03-31 13:50:55 +02:00
byt3bl33d3r
c6ad5cc290 fixed function call 2015-03-31 13:32:07 +02:00
byt3bl33d3r
3b56e92e05 added custom responder submodule 2015-03-31 11:21:31 +02:00
byt3bl33d3r
7a25108f9d Removed responder submodule 2015-03-31 10:56:53 +02:00