This repository is DEPRECATED, bettercap developement moved here and every version < 2.0.0 is considered LEGACY and NOT SUPPORTED
DEPRECATED, bettercap developement moved here: https://github.com/bettercap/bettercap
bettercap is a complete, modular, portable and easily extensible MITM tool and framework with every kind of diagnostic and offensive feature you could need in order to perform a man in the middle attack. Version HomepageCategory: Ruby / Web Frameworks |
Watchers: 178 |
Star: 2.5k |
Fork: 365 |
Last update: Nov 26, 2023 |
@evilsocket I figured a good way to start helping out on this project would be to begin work on testing.
I wrote these tests over dinner tonight and there is obviously much more to test, but before I went any further it seemed like a good idea to get some quick feedback and make sure you were cool with where this PR is going (choice of test framework, etc.).
My plan is to add a lot of the remaining tests tomorrow, and over the rest of the week. I'm really loving this project so far, great work. :)
Depends on PR [ https://github.com/packetfu/packetfu/pull/160 ] on PacketFu. This patch supports MitM attacks on IPv6 endpoints with Javascript Injection ( possibly all modules, not tested for others yet ). However not all user options are implemented, as in the initial IPv4 version. It is executed with the command: sudo bettercap -t VICITIM_IPV6 --proxy --proxy-module injectjs --js-file PATH_TO_JS_FILE --no-ssltrip . The PacketFu Library with the Neighbor Discovery PR is also required.
I changed all of the http://
links to https://
. I read it was important.
This pull request improves version checking a little bit by shuffling responsibilities around and making sure that callers can trust (and make assumptions about) what we return.
Well, the codebase works (even though I didn't run it yet actually :P) but it's a little mess. Indentation is not consistent (what about writing a CONTRIBUTE
with some guidelines for contributors?), methods contain dozens of LoC that need to be splitted up in many little and private methods to make clear what they do and so on.
I tried to fix what I could and leave some comments here and there. Unfortunately atm I have no time to read the whole codebase to make a better PR, so I hope this one could be enough useful to make bettercap better.
I also suggest you to use rubocop, it's pretty awesome.
v1.6.2(Aug 21, 2017)
Changelog
New Features
- New
MAC
spoofer. - New
HSRP
spoofer. - New
HSRP
sniffer. - New
RADIUS
sniffer. - New
BFD
sniffer. - New
WOL
sniffer. - New
Asterisk
sniffer. - New
TeamTalk
sniffer. - New
WSD
,UPnP
,mDNS
andSSDP
discovery agents. - Improved logger performances.
Fixes
- Fixes #356: iptables rule mess up
BeEF
- Fix re-arp issue on tp-link and other routers.
- Fix: A
DNS
request is no more needed in order to determine if theHTTP
request going to the proxy is targeting the local machine or not. - Throttling logger queue processing to avoid 100%
CPU
usage while polling the queue.
Code Style
- Turned most of
SSLSTRIP
logs into debug logs - Removed a few debug logs
- Various
README
updates.
v1.6.1(Jun 29, 2017)
Changelog
New Features
- Huge improvement on
HTTPS
parser, now it parsesTLS
Client Hello messages withSNI
extension in order to extract the real hostname. - Removed
IPv6
specific options, use ofIPv6
is automatically detected now. - Updated
*BSD
firewall manager to supportIPv6
forwarding. - IPv6 port redirection option.
UDP
proxy implemented.
Fixes
- Fixed #444: Broken when system language is not
EN
- Fixed #450:
SSL
certificate expired. - Fixed #451: Custom proxy module
on_pre_request
access:undefined method 'textual?'
. - Fixed #382: High
CPU
Usage on Single Targeting. - Fixed #380: Error while running a
UDP
proxy. - Fixed #302: SSLStrip module adds trailing slash to domains.
- Fixed context ipv6 detection.
- Fixed issues with newer packetfu.
- Fixed s ifconfig returning ipv6.
- Misc fixes to handle correctly both
IPv4
andIPv6
- Minor fix on
HTTP
response generation. - Added
PacketFu
monkey patch for NDP.
Code Style
- Minor refactoring of
HTTPS
SNI
parser.
v1.6.0(Dec 28, 2016)
Changelog
New Features
- Generated a new CA pem file with less descriptive fields, trying to clone
GoDaddy
CA as much as possible. - New
-R
rainbow option! :D - Improved (a lot) target hostname resolution and coloring.
- Updated mac vendors lookup file with latest version.
- Improved sniffer performances using a threadpool to dispatch and process raw packets.
Fixes
- Fix: More robust OS compatibility check.
- Fixed
COOKIE
parser in order to avoid printing duplicated cookies. - Fixed target hostname resolution.
- Fixes #343: BSD
Firewall#del_port_redirection
method should selectively remove a rule. - Fixes #329: Unable to set
--http-ports
with--custom-proxy
- Fixes #316: Unable to fetch certs for hosts not running on 443.
- Improved
StreamLogger
hexdump method to use the whole console width. - Improved
HTTPS
connections sniffer andDNS
resolution. - Added thread-safety to sniffer thread pool.
Code Style
- Replaced all http links with https ones when possible.
- Removed unused classes.
- Making lolize gem used for -R/--rainbows argument optional.
v1.5.9(Dec 14, 2016)
Changelog
New Features
- New
--no-http-logs
proxy option. - New
Response#redirect!
helper method. - New
REDIRECT
http proxy module ( location hijacking ). - New
--html-position
option. - Fixes #257: New
--disable-parsers
option. - Prioritize root privilege check
- TCP proxy modules can now register options too.
--silent
option now suppress Logger.raw messages too.
Fixes
- Fixes #318: Error while serving client: Couldn't extract host from the request.
- Fixes #307: Error getting mac address from
PPP
interface. - Fixes #302: SSLStrip module adds trailing slash to domains
- Fixed a bug which caused the Redirect http module to be loaded even if not selected.
- Fixes #291: Precomputing list of targets in order to stress less the cpu.
- Fixed bug in ftp and mail creds parsers which caused a mislabeling of capture credentials.
- Fixes #292: undefined method
arp_opcode
fornil:NilClass
Code Style
- Printing shell commands if debug mode is enabled.
- Remove redundant requires, minor update to syntax using rubocop
- Removed credit card parser, it's causing a lot of false positives and there's no way to distinguish them
- Removed warning if using beta releases, no one gives a fuck about it anyway.
v1.5.8(Aug 26, 2016)
Changelog
New Features
- New
--log-http-response
option. - New
--html-file PATH
option. - New
--full-duplex
option ( half duplex mode is now the default ). - HTTP(S) logs from the proxy do not truncate urls to 50 characters anymore.
Fixes
- Fixed
InjectJS
module bug which caused the HTML of the page to be broken in some circumstances. - Fixed a bug which caused the HTTPS proxy not to work properly with wildcard domains.
- Fixed
TeamViewer
packets version parsing. - Fixes #282: Inject modules fail on uppercase tags.
- Fixed a bug while changing/randomizing
MAC
address on Linux.
v1.5.7(Aug 10, 2016)
Changelog
Fixes
- Fixes #254: Exception on
CTRL+C
- Fixed a bug which caused '*.domain.tld' certificates not to be correctly handled
- Fixes #270: sslstrip fails to rewrite links
Code Style
- Using debug messages instead of warnings when targeting the whole network and a target mac or ip address can't be found.