Class: Mdm::Service
- Inherits:
-
ActiveRecord::Base
- Object
- ActiveRecord::Base
- Mdm::Service
- Includes:
- Metasploit::Model::Search
- Defined in:
- app/models/mdm/service.rb
Overview
A service, such as an ssh server or web server, running on a #host.
Constant Summary collapse
- STATES =
Valid values for #state.
['open', 'closed', 'filtered', 'unknown']
Instance Attribute Summary collapse
-
#creds ⇒ ActiveRecord::Relation<Mdm::Cred>
Credentials gathered from this service.
-
#exploit_attempts ⇒ ActiveRecord::Relation<Mdm::ExploitAttempt>
Exploit attempts against this service.
- #exploited_hosts ⇒ Array<Mdm::ExploitHost>
-
#host ⇒ Mdm::Host
The host on which this service runs.
- #info ⇒ String
-
#loots ⇒ ActiveRecord::Relation<Mdm::Loot>
Loot gathers from this service.
-
#name ⇒ String
The name of the service.
-
#notes ⇒ ActiveRecord::Relation<Mdm::Note>
Notes about this service.
-
#port ⇒ Integer
The port on which this service runs on the #host.
-
#proto ⇒ String
The protocol used by this service.
-
#state ⇒ String
Whether this service is opened, closed, filtered, or in an unknown state.
-
#task_services ⇒ Array<Mdm::TaskService>
Details about what Tasks touched this service.
-
#tasks ⇒ Array<Mdm::Task>
Tasks that touched this service.
-
#vulns ⇒ ActiveRecord::Relation<Mdm::Vuln>
Vulnerabilities found in this service.
-
#web_forms ⇒ Array<Mdm::WebForm>
readonly
Form in the #web_sites on top of this service.
-
#web_pages ⇒ Array<Mdm::WebPages>
readonly
Web pages in the #web_sites on top of this service.
-
#web_sites ⇒ ActiveRecord::Relation<Mdm::WebSite>
Web sites running on top of this service.
-
#web_vulns ⇒ Array<Mdm::WebVuln>
readonly
Vulnerabilities found in the #web_sites on top of this service.
Instance Method Summary collapse
-
#normalize_host_os ⇒ void
Normalizes the host operating system whenever #info has changed.
Instance Attribute Details
#creds ⇒ ActiveRecord::Relation<Mdm::Cred>
Credentials gathered from this service.
20 21 22 23 |
# File 'app/models/mdm/service.rb', line 20 has_many :creds, class_name: 'Mdm::Cred', dependent: :destroy, inverse_of: :service |
#exploit_attempts ⇒ ActiveRecord::Relation<Mdm::ExploitAttempt>
Exploit attempts against this service.
29 30 31 32 |
# File 'app/models/mdm/service.rb', line 29 has_many :exploit_attempts, class_name: 'Mdm::ExploitAttempt', dependent: :destroy, inverse_of: :service |
#exploited_hosts ⇒ Array<Mdm::ExploitHost>
MSP-2732
37 38 39 40 |
# File 'app/models/mdm/service.rb', line 37 has_many :exploited_hosts, class_name: 'Mdm::ExploitedHost', dependent: :destroy, inverse_of: :service |
#host ⇒ Mdm::Host
The host on which this service runs.
46 47 48 49 |
# File 'app/models/mdm/service.rb', line 46 belongs_to :host, class_name: 'Mdm::Host', counter_cache: :service_count, inverse_of: :services |
#info ⇒ String
|
|
# File 'app/models/mdm/service.rb', line 132
|
#loots ⇒ ActiveRecord::Relation<Mdm::Loot>
Loot gathers from this service.
55 56 57 58 |
# File 'app/models/mdm/service.rb', line 55 has_many :loots, class_name: 'Mdm::Loot', dependent: :destroy, inverse_of: :service |
#name ⇒ String
The name of the service.
|
|
# File 'app/models/mdm/service.rb', line 142
|
#notes ⇒ ActiveRecord::Relation<Mdm::Note>
Notes about this service.
64 65 66 67 |
# File 'app/models/mdm/service.rb', line 64 has_many :notes, class_name: 'Mdm::Note', dependent: :destroy, inverse_of: :service |
#port ⇒ Integer
The port on which this service runs on the #host.
|
|
# File 'app/models/mdm/service.rb', line 137
|
#proto ⇒ String
The protocol used by this service
|
|
# File 'app/models/mdm/service.rb', line 147
|
#state ⇒ String
Whether this service is opened, closed, filtered, or in an unknown state.
|
|
# File 'app/models/mdm/service.rb', line 152
|
#task_services ⇒ Array<Mdm::TaskService>
Details about what Tasks touched this service
73 74 75 76 |
# File 'app/models/mdm/service.rb', line 73 has_many :task_services, class_name: 'Mdm::TaskService', dependent: :destroy, inverse_of: :service |
#tasks ⇒ Array<Mdm::Task>
Tasks that touched this service
104 |
# File 'app/models/mdm/service.rb', line 104 has_many :tasks, :through => :task_services, :class_name => 'Mdm::Task' |
#vulns ⇒ ActiveRecord::Relation<Mdm::Vuln>
Vulnerabilities found in this service.
82 83 84 85 |
# File 'app/models/mdm/service.rb', line 82 has_many :vulns, class_name: 'Mdm::Vuln', dependent: :destroy, inverse_of: :service |
#web_forms ⇒ Array<Mdm::WebForm> (readonly)
Form in the #web_sites on top of this service.
120 |
# File 'app/models/mdm/service.rb', line 120 has_many :web_forms, :through => :web_sites, :class_name => 'Mdm::WebForm' |
#web_pages ⇒ Array<Mdm::WebPages> (readonly)
Web pages in the #web_sites on top of this service.
114 |
# File 'app/models/mdm/service.rb', line 114 has_many :web_pages, :through => :web_sites, :class_name => 'Mdm::WebPage' |
#web_sites ⇒ ActiveRecord::Relation<Mdm::WebSite>
Web sites running on top of this service.
91 92 93 94 |
# File 'app/models/mdm/service.rb', line 91 has_many :web_sites, class_name: 'Mdm::WebSite', dependent: :destroy, inverse_of: :service |
#web_vulns ⇒ Array<Mdm::WebVuln> (readonly)
Vulnerabilities found in the #web_sites on top of this service.
126 |
# File 'app/models/mdm/service.rb', line 126 has_many :web_vulns, :through => :web_sites, :class_name => 'Mdm::WebVuln' |
Instance Method Details
#normalize_host_os ⇒ void
This method returns an undefined value.
Normalizes the host operating system whenever #info has changed.
211 212 213 214 215 |
# File 'app/models/mdm/service.rb', line 211 def normalize_host_os if info_changed? host.normalize_os end end |