bettercap 1.1.10 → 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/TODO.md +8 -7
- data/bin/bettercap +8 -2
- data/lib/bettercap.rb +5 -4
- data/lib/bettercap/context.rb +54 -8
- data/lib/bettercap/discovery/agents/arp.rb +17 -4
- data/lib/bettercap/discovery/agents/base.rb +16 -52
- data/lib/bettercap/discovery/agents/icmp.rb +25 -17
- data/lib/bettercap/discovery/agents/udp.rb +9 -20
- data/lib/bettercap/discovery/{discovery.rb → thread.rb} +10 -9
- data/lib/bettercap/error.rb +1 -2
- data/lib/bettercap/factories/{firewall_factory.rb → firewall.rb} +11 -7
- data/lib/bettercap/factories/{parser_factory.rb → parser.rb} +13 -3
- data/lib/bettercap/factories/{spoofer_factory.rb → spoofer.rb} +10 -3
- data/lib/bettercap/firewalls/base.rb +76 -0
- data/lib/bettercap/firewalls/linux.rb +26 -16
- data/lib/bettercap/firewalls/osx.rb +22 -13
- data/lib/bettercap/firewalls/redirection.rb +15 -1
- data/lib/bettercap/httpd/server.rb +5 -0
- data/lib/bettercap/logger.rb +29 -8
- data/lib/bettercap/network.rb +105 -105
- data/lib/bettercap/options.rb +99 -41
- data/lib/bettercap/packet_queue.rb +92 -0
- data/lib/bettercap/proxy/certstore.rb +49 -43
- data/lib/bettercap/proxy/module.rb +4 -2
- data/lib/bettercap/proxy/proxy.rb +7 -2
- data/lib/bettercap/proxy/request.rb +28 -16
- data/lib/bettercap/proxy/response.rb +23 -2
- data/lib/bettercap/proxy/stream_logger.rb +6 -0
- data/lib/bettercap/proxy/streamer.rb +13 -5
- data/lib/bettercap/proxy/thread_pool.rb +6 -14
- data/lib/bettercap/shell.rb +5 -3
- data/lib/bettercap/sniffer/parsers/base.rb +7 -1
- data/lib/bettercap/sniffer/parsers/custom.rb +6 -1
- data/lib/bettercap/sniffer/parsers/ftp.rb +8 -5
- data/lib/bettercap/sniffer/parsers/httpauth.rb +4 -1
- data/lib/bettercap/sniffer/parsers/https.rb +4 -1
- data/lib/bettercap/sniffer/parsers/irc.rb +8 -5
- data/lib/bettercap/sniffer/parsers/mail.rb +8 -5
- data/lib/bettercap/sniffer/parsers/ntlmss.rb +21 -18
- data/lib/bettercap/sniffer/parsers/post.rb +4 -1
- data/lib/bettercap/sniffer/parsers/url.rb +4 -1
- data/lib/bettercap/sniffer/sniffer.rb +7 -3
- data/lib/bettercap/spoofers/arp.rb +69 -94
- data/lib/bettercap/spoofers/base.rb +132 -0
- data/lib/bettercap/spoofers/icmp.rb +200 -0
- data/lib/bettercap/spoofers/none.rb +8 -2
- data/lib/bettercap/target.rb +117 -90
- data/lib/bettercap/update_checker.rb +6 -0
- data/lib/bettercap/version.rb +3 -1
- metadata +24 -8
- data/lib/bettercap/base/ifirewall.rb +0 -46
- data/lib/bettercap/base/ispoofer.rb +0 -32
@@ -16,7 +16,11 @@ require 'net/http'
|
|
16
16
|
require 'json'
|
17
17
|
|
18
18
|
module BetterCap
|
19
|
+
# This class is responsible for fetching the latest version of
|
20
|
+
# bettercap and check if a new one is available.
|
19
21
|
class UpdateChecker
|
22
|
+
# Check if a new version is available, printing the results
|
23
|
+
# in human readable form.
|
20
24
|
def self.check
|
21
25
|
ver = self.get_latest_version
|
22
26
|
if self.vton( BetterCap::VERSION ) < self.vton( ver )
|
@@ -28,6 +32,7 @@ class UpdateChecker
|
|
28
32
|
Logger.error("Error '#{e.class}' while checking for updates: #{e.message}")
|
29
33
|
end
|
30
34
|
|
35
|
+
# Convert a version string +v+ to a number to be used for comparation.
|
31
36
|
def self.vton v
|
32
37
|
vi = 0.0
|
33
38
|
v.split('.').reverse.each_with_index do |e,i|
|
@@ -36,6 +41,7 @@ class UpdateChecker
|
|
36
41
|
vi
|
37
42
|
end
|
38
43
|
|
44
|
+
# Fetch the latest program version from rubygems.org API.
|
39
45
|
def self.get_latest_version
|
40
46
|
Logger.info 'Checking for updates ...'
|
41
47
|
|
data/lib/bettercap/version.rb
CHANGED
@@ -10,6 +10,8 @@ This project is released under the GPL 3 license.
|
|
10
10
|
|
11
11
|
=end
|
12
12
|
module BetterCap
|
13
|
-
|
13
|
+
# Current version of bettercap.
|
14
|
+
VERSION = '1.2.0'
|
15
|
+
# Program banner.
|
14
16
|
BANNER = File.read( File.dirname(__FILE__) + '/banner' ).gsub( '#VERSION#', "v#{VERSION}")
|
15
17
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: bettercap
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Simone Margaritelli
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-01-
|
11
|
+
date: 2016-01-11 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: colorize
|
@@ -66,6 +66,20 @@ dependencies:
|
|
66
66
|
- - ~>
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: 0.0.1
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: net-dns
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - ~>
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: 0.8.0
|
76
|
+
type: :runtime
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - ~>
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: 0.8.0
|
69
83
|
description: A complete, modular, portable and easily extensible MITM framework.
|
70
84
|
email: evilsocket@gmail.com
|
71
85
|
executables:
|
@@ -78,18 +92,17 @@ files:
|
|
78
92
|
- README.md
|
79
93
|
- TODO.md
|
80
94
|
- lib/bettercap/banner
|
81
|
-
- lib/bettercap/base/ifirewall.rb
|
82
|
-
- lib/bettercap/base/ispoofer.rb
|
83
95
|
- lib/bettercap/context.rb
|
84
96
|
- lib/bettercap/discovery/agents/arp.rb
|
85
97
|
- lib/bettercap/discovery/agents/base.rb
|
86
98
|
- lib/bettercap/discovery/agents/icmp.rb
|
87
99
|
- lib/bettercap/discovery/agents/udp.rb
|
88
|
-
- lib/bettercap/discovery/
|
100
|
+
- lib/bettercap/discovery/thread.rb
|
89
101
|
- lib/bettercap/error.rb
|
90
|
-
- lib/bettercap/factories/
|
91
|
-
- lib/bettercap/factories/
|
92
|
-
- lib/bettercap/factories/
|
102
|
+
- lib/bettercap/factories/firewall.rb
|
103
|
+
- lib/bettercap/factories/parser.rb
|
104
|
+
- lib/bettercap/factories/spoofer.rb
|
105
|
+
- lib/bettercap/firewalls/base.rb
|
93
106
|
- lib/bettercap/firewalls/linux.rb
|
94
107
|
- lib/bettercap/firewalls/osx.rb
|
95
108
|
- lib/bettercap/firewalls/redirection.rb
|
@@ -99,6 +112,7 @@ files:
|
|
99
112
|
- lib/bettercap/monkey/packetfu/utils.rb
|
100
113
|
- lib/bettercap/network.rb
|
101
114
|
- lib/bettercap/options.rb
|
115
|
+
- lib/bettercap/packet_queue.rb
|
102
116
|
- lib/bettercap/proxy/certstore.rb
|
103
117
|
- lib/bettercap/proxy/module.rb
|
104
118
|
- lib/bettercap/proxy/proxy.rb
|
@@ -120,6 +134,8 @@ files:
|
|
120
134
|
- lib/bettercap/sniffer/parsers/url.rb
|
121
135
|
- lib/bettercap/sniffer/sniffer.rb
|
122
136
|
- lib/bettercap/spoofers/arp.rb
|
137
|
+
- lib/bettercap/spoofers/base.rb
|
138
|
+
- lib/bettercap/spoofers/icmp.rb
|
123
139
|
- lib/bettercap/spoofers/none.rb
|
124
140
|
- lib/bettercap/target.rb
|
125
141
|
- lib/bettercap/update_checker.rb
|
@@ -1,46 +0,0 @@
|
|
1
|
-
=begin
|
2
|
-
|
3
|
-
BETTERCAP
|
4
|
-
|
5
|
-
Author : Simone 'evilsocket' Margaritelli
|
6
|
-
Email : evilsocket@gmail.com
|
7
|
-
Blog : http://www.evilsocket.net/
|
8
|
-
|
9
|
-
This project is released under the GPL 3 license.
|
10
|
-
|
11
|
-
=end
|
12
|
-
module BetterCap
|
13
|
-
class IFirewall
|
14
|
-
def initialize
|
15
|
-
@frwd_initial_state = forwarding_enabled?
|
16
|
-
end
|
17
|
-
|
18
|
-
def enable_forwarding(enabled)
|
19
|
-
not_implemented_method!
|
20
|
-
end
|
21
|
-
|
22
|
-
def forwarding_enabled?
|
23
|
-
not_implemented_method!
|
24
|
-
end
|
25
|
-
|
26
|
-
def add_port_redirection( r )
|
27
|
-
not_implemented_method!
|
28
|
-
end
|
29
|
-
|
30
|
-
def del_port_redirection( r )
|
31
|
-
not_implemented_method!
|
32
|
-
end
|
33
|
-
|
34
|
-
def restore
|
35
|
-
if forwarding_enabled? != @frwd_initial_state
|
36
|
-
enable_forwarding @frwd_initial_state
|
37
|
-
end
|
38
|
-
end
|
39
|
-
|
40
|
-
private
|
41
|
-
|
42
|
-
def not_implemented_method!
|
43
|
-
raise NotImplementedError, 'IFirewall: Unimplemented method!'
|
44
|
-
end
|
45
|
-
end
|
46
|
-
end
|
@@ -1,32 +0,0 @@
|
|
1
|
-
=begin
|
2
|
-
|
3
|
-
BETTERCAP
|
4
|
-
|
5
|
-
Author : Simone 'evilsocket' Margaritelli
|
6
|
-
Email : evilsocket@gmail.com
|
7
|
-
Blog : http://www.evilsocket.net/
|
8
|
-
|
9
|
-
This project is released under the GPL 3 license.
|
10
|
-
|
11
|
-
=end
|
12
|
-
module BetterCap
|
13
|
-
class ISpoofer
|
14
|
-
def initialize
|
15
|
-
not_implemented_method!
|
16
|
-
end
|
17
|
-
|
18
|
-
def start
|
19
|
-
not_implemented_method!
|
20
|
-
end
|
21
|
-
|
22
|
-
def stop
|
23
|
-
not_implemented_method!
|
24
|
-
end
|
25
|
-
|
26
|
-
private
|
27
|
-
|
28
|
-
def not_implemented_method!
|
29
|
-
raise NotImplementedError, 'ISpoofer: Unimplemented method!'
|
30
|
-
end
|
31
|
-
end
|
32
|
-
end
|