Class: Mdm::Service
- Inherits:
-
ActiveRecord::Base
- Object
- ActiveRecord::Base
- Mdm::Service
- 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.
18 19 20 21 |
# File 'app/models/mdm/service.rb', line 18 has_many :creds, class_name: 'Mdm::Cred', dependent: :destroy, inverse_of: :service |
#exploit_attempts ⇒ ActiveRecord::Relation<Mdm::ExploitAttempt>
Exploit attempts against this service.
27 28 29 30 |
# File 'app/models/mdm/service.rb', line 27 has_many :exploit_attempts, class_name: 'Mdm::ExploitAttempt', dependent: :destroy, inverse_of: :service |
#exploited_hosts ⇒ Array<Mdm::ExploitHost>
MSP-2732
35 36 37 38 |
# File 'app/models/mdm/service.rb', line 35 has_many :exploited_hosts, class_name: 'Mdm::ExploitedHost', dependent: :destroy, inverse_of: :service |
#host ⇒ Mdm::Host
The host on which this service runs.
44 45 46 47 |
# File 'app/models/mdm/service.rb', line 44 belongs_to :host, class_name: 'Mdm::Host', counter_cache: :service_count, inverse_of: :services |
#info ⇒ String
|
|
# File 'app/models/mdm/service.rb', line 130
|
#loots ⇒ ActiveRecord::Relation<Mdm::Loot>
Loot gathers from this service.
53 54 55 56 |
# File 'app/models/mdm/service.rb', line 53 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 140
|
#notes ⇒ ActiveRecord::Relation<Mdm::Note>
Notes about this service.
62 63 64 65 |
# File 'app/models/mdm/service.rb', line 62 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 135
|
#proto ⇒ String
The protocol used by this service
|
|
# File 'app/models/mdm/service.rb', line 145
|
#state ⇒ String
Whether this service is opened, closed, filtered, or in an unknown state.
|
|
# File 'app/models/mdm/service.rb', line 150
|
#task_services ⇒ Array<Mdm::TaskService>
Details about what Tasks touched this service
71 72 73 74 |
# File 'app/models/mdm/service.rb', line 71 has_many :task_services, class_name: 'Mdm::TaskService', dependent: :destroy, inverse_of: :service |
#tasks ⇒ Array<Mdm::Task>
Tasks that touched this service
102 |
# File 'app/models/mdm/service.rb', line 102 has_many :tasks, :through => :task_services, :class_name => 'Mdm::Task' |
#vulns ⇒ ActiveRecord::Relation<Mdm::Vuln>
Vulnerabilities found in this service.
80 81 82 83 |
# File 'app/models/mdm/service.rb', line 80 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.
118 |
# File 'app/models/mdm/service.rb', line 118 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.
112 |
# File 'app/models/mdm/service.rb', line 112 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.
89 90 91 92 |
# File 'app/models/mdm/service.rb', line 89 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.
124 |
# File 'app/models/mdm/service.rb', line 124 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.
190 191 192 193 194 |
# File 'app/models/mdm/service.rb', line 190 def normalize_host_os if info_changed? host.normalize_os end end |