metasploit-credential 2.0.9 → 2.0.10
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- checksums.yaml.gz.sig +0 -0
- data.tar.gz.sig +0 -0
- data/lib/metasploit/credential/creation.rb +10 -6
- data/lib/metasploit/credential/version.rb +1 -1
- data/spec/dummy/config/database.yml +2 -2
- metadata +16 -2
- metadata.gz.sig +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1807d97661a3efe9045a071a3d29403adb5547ed
|
4
|
+
data.tar.gz: 6c1894e7fdbebc31283a313789029a4b21bd6803
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6f9083b61fae53212cbffc74e6cb612d235a1efa8d6d4353a860a987717470bef9a8c13a617c563e17c4d02f276e4adc588f59956b521a009a4f20ffbea616a9
|
7
|
+
data.tar.gz: 82d256807c57c226980b6fc560a3db344c389c3f12d6b07d531ebd3b584ecf27f530f3ae6568d8d759a2345e283229612b9566c98d147a2bb8e8f7cdf6e587d0
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
data.tar.gz.sig
CHANGED
Binary file
|
@@ -1,3 +1,5 @@
|
|
1
|
+
require 'rex/socket'
|
2
|
+
|
1
3
|
# Implements a set of "convenience methods" for creating credentials and related portions of the object graph. Creates
|
2
4
|
# {Metasploit::Credential::Core} objects and their attendant relationships as well as {Metasploit::Credential::Login}
|
3
5
|
# objects and their attendant `Mdm::Host` and `Mdm::Service` objects.
|
@@ -116,6 +118,7 @@ module Metasploit::Credential::Creation
|
|
116
118
|
else
|
117
119
|
origin = create_credential_origin(opts)
|
118
120
|
end
|
121
|
+
return nil if origin.nil?
|
119
122
|
|
120
123
|
core_opts = {
|
121
124
|
origin: origin,
|
@@ -125,7 +128,7 @@ module Metasploit::Credential::Creation
|
|
125
128
|
if opts.has_key?(:realm_key) && opts.has_key?(:realm_value)
|
126
129
|
core_opts[:realm] = create_credential_realm(opts)
|
127
130
|
end
|
128
|
-
|
131
|
+
|
129
132
|
if opts.has_key?(:private_type) && opts.has_key?(:private_data)
|
130
133
|
core_opts[:private] = create_credential_private(opts)
|
131
134
|
end
|
@@ -140,7 +143,7 @@ module Metasploit::Credential::Creation
|
|
140
143
|
|
141
144
|
create_credential_core(core_opts)
|
142
145
|
end
|
143
|
-
|
146
|
+
|
144
147
|
# This method is responsible for creation {Metasploit::Credential::Core} and
|
145
148
|
# {Metasploit::Credential::Login}.
|
146
149
|
# This method is responsible for creating a {Metasploit::Credential::Login} object
|
@@ -188,8 +191,6 @@ module Metasploit::Credential::Creation
|
|
188
191
|
# service_name: 'smb',
|
189
192
|
# status: status: Metasploit::Model::Login::Status::UNTRIED
|
190
193
|
# )
|
191
|
-
|
192
|
-
|
193
194
|
def create_credential_and_login(opts={})
|
194
195
|
return nil unless active_db?
|
195
196
|
|
@@ -205,6 +206,7 @@ module Metasploit::Credential::Creation
|
|
205
206
|
login_object = nil
|
206
207
|
retry_transaction do
|
207
208
|
service_object = create_credential_service(opts)
|
209
|
+
return nil if service_object.nil?
|
208
210
|
login_object = Metasploit::Credential::Login.where(core_id: core.id, service_id: service_object.id).first_or_initialize
|
209
211
|
|
210
212
|
if opts[:task_id]
|
@@ -297,6 +299,7 @@ module Metasploit::Credential::Creation
|
|
297
299
|
login_object = nil
|
298
300
|
retry_transaction do
|
299
301
|
service_object = create_credential_service(opts)
|
302
|
+
return nil if service_object.nil?
|
300
303
|
login_object = Metasploit::Credential::Login.where(core_id: core.id, service_id: service_object.id).first_or_initialize
|
301
304
|
|
302
305
|
if opts[:task_id]
|
@@ -419,13 +422,12 @@ module Metasploit::Credential::Creation
|
|
419
422
|
def create_credential_origin_service(opts={})
|
420
423
|
return nil unless active_db?
|
421
424
|
module_fullname = opts.fetch(:module_fullname)
|
422
|
-
|
423
425
|
service_object = create_credential_service(opts)
|
426
|
+
return nil if service_object.nil?
|
424
427
|
|
425
428
|
retry_transaction do
|
426
429
|
Metasploit::Credential::Origin::Service.where(service_id: service_object.id, module_full_name: module_fullname).first_or_create!
|
427
430
|
end
|
428
|
-
|
429
431
|
end
|
430
432
|
|
431
433
|
# This method is responsible for creating {Metasploit::Credential::Origin::Session} objects.
|
@@ -547,6 +549,7 @@ module Metasploit::Credential::Creation
|
|
547
549
|
def create_credential_service(opts={})
|
548
550
|
return nil unless active_db?
|
549
551
|
address = opts.fetch(:address)
|
552
|
+
return nil unless Rex::Socket.is_ipv4?(address) || Rex::Socket.is_ipv6?(address)
|
550
553
|
port = opts.fetch(:port)
|
551
554
|
service_name = opts.fetch(:service_name)
|
552
555
|
protocol = opts.fetch(:protocol)
|
@@ -577,6 +580,7 @@ module Metasploit::Credential::Creation
|
|
577
580
|
def invalidate_login(opts = {})
|
578
581
|
return nil unless active_db?
|
579
582
|
address = opts.fetch(:address)
|
583
|
+
return nil unless Rex::Socket.is_ipv4?(address) || Rex::Socket.is_ipv6?(address)
|
580
584
|
port = opts.fetch(:port)
|
581
585
|
protocol = opts.fetch(:protocol)
|
582
586
|
public = opts.fetch(:username, nil)
|
@@ -1,6 +1,6 @@
|
|
1
1
|
development: &pgsql
|
2
2
|
adapter: postgresql
|
3
|
-
database: metasploit-
|
3
|
+
database: metasploit-credential_development0
|
4
4
|
username: msf
|
5
5
|
password: pass123
|
6
6
|
host: localhost
|
@@ -10,4 +10,4 @@ development: &pgsql
|
|
10
10
|
min_messages: warning
|
11
11
|
test:
|
12
12
|
<<: *pgsql
|
13
|
-
database: metasploit-
|
13
|
+
database: metasploit-credential_test0
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: metasploit-credential
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.0.
|
4
|
+
version: 2.0.10
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Luke Imhoff
|
@@ -89,7 +89,7 @@ cert_chain:
|
|
89
89
|
G+Hmcg1v810agasPdoydE0RTVZgEOOMoQ07qu7JFXVWZ9ZQpHT7qJATWL/b2csFG
|
90
90
|
8mVuTXnyJOKRJA==
|
91
91
|
-----END CERTIFICATE-----
|
92
|
-
date: 2017-
|
92
|
+
date: 2017-06-09 00:00:00.000000000 Z
|
93
93
|
dependencies:
|
94
94
|
- !ruby/object:Gem::Dependency
|
95
95
|
name: metasploit-concern
|
@@ -175,6 +175,20 @@ dependencies:
|
|
175
175
|
- - ">="
|
176
176
|
- !ruby/object:Gem::Version
|
177
177
|
version: '0'
|
178
|
+
- !ruby/object:Gem::Dependency
|
179
|
+
name: rex-socket
|
180
|
+
requirement: !ruby/object:Gem::Requirement
|
181
|
+
requirements:
|
182
|
+
- - ">="
|
183
|
+
- !ruby/object:Gem::Version
|
184
|
+
version: '0'
|
185
|
+
type: :runtime
|
186
|
+
prerelease: false
|
187
|
+
version_requirements: !ruby/object:Gem::Requirement
|
188
|
+
requirements:
|
189
|
+
- - ">="
|
190
|
+
- !ruby/object:Gem::Version
|
191
|
+
version: '0'
|
178
192
|
- !ruby/object:Gem::Dependency
|
179
193
|
name: pg
|
180
194
|
requirement: !ruby/object:Gem::Requirement
|
metadata.gz.sig
CHANGED
Binary file
|