dradis-nessus 3.9.0 → 3.10.1

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: f5a26164e4e89109aff04195bdc6218ace8a40d8
4
- data.tar.gz: 9d0e464e9a5cf1e000f87daf4b3c53f018809a1f
3
+ metadata.gz: e724a469ebf71f485df13e013f41cc67d9f329cf
4
+ data.tar.gz: 9c95b111224fc286b48637b91dafae1ce45fd41d
5
5
  SHA512:
6
- metadata.gz: 4ac029c3eb7a48a192379823bff9ea740b2b8c9444818f0ad25b9ba9cb30ac69099e444318792232d5dce39608367da5749939a73c6e058cd52fa3712754468c
7
- data.tar.gz: 61c584a97e8c982bd37f26f0ea0ba0f14269808991091ecb2eebfcde6c87c15157fba5fb0f3f344e17ccb589b168f524eb810dbb7674383fffe7ae7b176c7ac0
6
+ metadata.gz: b29d468f669f2067ff8fd75f6aad94a8f591fbcce1cd2bad3fcf418095777e52931efe81a8d58aed5d0ac9dd5696430c459d72d11bdf734ed092ddddf394250d
7
+ data.tar.gz: ef747f21f3d79c178b23c6492c7d951db6877759a7dbde8da588e7d878013dd0cb89eb939a42e4a1ba7d563f0b5d9216121f8b1bf509c3ee1db90cc2d0d88a40
@@ -1,3 +1,11 @@
1
+ ## Dradis Framework 3.10 (August, 2018) ##
2
+
3
+ * Make Issue Title available at the Evidence level
4
+
5
+ * Update default configuration to match Welcome templates
6
+
7
+ * Split services data into services and services_extra tables
8
+
1
9
  ## Dradis Framework 3.9 (January, 2018) ##
2
10
 
3
11
  * Correctly format bullet lists whether separated by
@@ -8,8 +8,8 @@ module Dradis
8
8
 
9
9
  module VERSION
10
10
  MAJOR = 3
11
- MINOR = 9
12
- TINY = 0
11
+ MINOR = 10
12
+ TINY = 1
13
13
  PRE = nil
14
14
 
15
15
  STRING = [MAJOR, MINOR, TINY, PRE].compact.join(".")
@@ -41,8 +41,6 @@ module Dradis::Plugins::Nessus
41
41
  # Internal: Parses the specific "Nessus SYN Scanner" and similar plugin into
42
42
  # Dradis node properties.
43
43
  #
44
- # xml_host - The Nokogiri XML node representing the parent host for
45
- # this issue.
46
44
  # host_node - The Dradis Node that represents the host in the project.
47
45
  # xml_report_item - The Nokogiri XML node representing the Service Detection
48
46
  # <ReportItem> tag.
@@ -52,20 +50,12 @@ module Dradis::Plugins::Nessus
52
50
  # Plugins processed using this method:
53
51
  # - [11219] Nessus SYN Scanner
54
52
  # - [34220] Netstat Portscanner (WMI)
55
- def process_nessus_syn_scanner(xml_host, host_node, xml_report_item)
56
- port = xml_report_item['port'].to_i
57
- protocol = xml_report_item['protocol']
58
- logger.info{ "\t\t\t => Creating new service: #{protocol}/#{port}" }
59
-
60
- host_node.set_property(:services, {
61
- port: port,
62
- protocol: protocol,
63
- state: 'open',
64
- name: xml_report_item['svc_name'],
65
- x_nessus: xml_report_item.at_xpath('./plugin_output').try(:text)
66
- })
67
-
68
- host_node.save
53
+ def process_nessus_syn_scanner(host_node, xml_report_item)
54
+ process_service(
55
+ host_node,
56
+ xml_report_item,
57
+ { 'syn-scanner' => xml_report_item.at_xpath('./plugin_output').try(:text)}
58
+ )
69
59
  end
70
60
 
71
61
  # Internal: Process each /NessusClientData_v2/Report/ReportHost creating a
@@ -105,9 +95,9 @@ module Dradis::Plugins::Nessus
105
95
  case xml_report_item.attributes['pluginID'].value
106
96
  when '0'
107
97
  when '11219', '34220' # Nessus SYN scanner, Netstat Portscanner (WMI)
108
- process_nessus_syn_scanner(xml_host, host_node, xml_report_item)
98
+ process_nessus_syn_scanner(host_node, xml_report_item)
109
99
  when '22964' # Service Detection
110
- process_service_detection(xml_host, host_node, xml_report_item)
100
+ process_service_detection(host_node, xml_report_item)
111
101
  else
112
102
  process_report_item(xml_host, host_node, xml_report_item)
113
103
  end
@@ -150,26 +140,36 @@ module Dradis::Plugins::Nessus
150
140
  # Internal: Parses the specific "Service Detection" plugin into Dradis node
151
141
  # properties.
152
142
  #
153
- # xml_host - The Nokogiri XML node representing the parent host for
154
- # this issue.
155
143
  # host_node - The Dradis Node that represents the host in the project.
156
144
  # xml_report_item - The Nokogiri XML node representing the Service Detection
157
145
  # <ReportItem> tag.
158
146
  #
159
147
  # Returns nothing.
160
148
  #
161
- def process_service_detection(xml_host, host_node, xml_report_item)
149
+ def process_service_detection(host_node, xml_report_item)
150
+ output = xml_report_item.at_xpath('./plugin_output').try(:text) || xml_report_item.at_xpath('./description').try(:text)
151
+ process_service(
152
+ host_node,
153
+ xml_report_item,
154
+ { 'service-detection' => output }
155
+ )
156
+ end
157
+
158
+ def process_service(host_node, xml_report_item, service_extra)
159
+ name = xml_report_item['svc_name']
162
160
  port = xml_report_item['port'].to_i
163
161
  protocol = xml_report_item['protocol']
164
- logger.info{ "\t\t => Creating new service: #{protocol}/#{port}" }
165
-
166
- host_node.set_property(:services, {
167
- port: port,
168
- protocol: protocol,
169
- state: 'open',
170
- name: xml_report_item['svc_name'],
171
- x_nessus: xml_report_item.at_xpath('./description').text
172
- })
162
+ logger.info { "\t\t => Creating new service: #{protocol}/#{port}" }
163
+
164
+ host_node.set_service(
165
+ service_extra.merge({
166
+ name: name,
167
+ port: port,
168
+ protocol: protocol,
169
+ state: :open,
170
+ source: :nessus
171
+ })
172
+ )
173
173
 
174
174
  host_node.save
175
175
  end
@@ -28,7 +28,8 @@ describe Dradis::Plugins::Nessus::Importer do
28
28
  # Nodes, Issues, etc
29
29
  allow(@content_service).to receive(:create_node) do |args|
30
30
  obj = OpenStruct.new(args)
31
- obj.define_singleton_method(:set_property) { |_, __| }
31
+ obj.define_singleton_method(:set_property) { |*| }
32
+ obj.define_singleton_method(:set_service) { |*| }
32
33
  obj
33
34
  end
34
35
  allow(@content_service).to receive(:create_note) do |args|
@@ -14,3 +14,4 @@ evidence.port
14
14
  evidence.protocol
15
15
  evidence.svc_name
16
16
  evidence.severity
17
+ report_item.plugin_name
@@ -1,8 +1,5 @@
1
- #[Port]#
2
- %evidence.port%
3
-
4
- #[Severity]#
5
- %evidence.severity%
1
+ #[Location]#
2
+ %evidence.protocol%/%evidence.port%
6
3
 
7
4
  #[Output]#
8
- bc.. %evidence.plugin_output%
5
+ bc.. %evidence.plugin_output%
@@ -1,29 +1,20 @@
1
1
  #[Title]#
2
2
  %report_item.plugin_name%
3
3
 
4
+ #[CVSSv3.BaseScore]#
5
+ %report_item.cvss3_base_score%
6
+
7
+ #[CVSSv3Vector]#
8
+ %report_item.cvss3_vector%
9
+
10
+ #[Type]#
11
+ Internal
12
+
4
13
  #[Description]#
5
14
  %report_item.description%
6
15
 
7
16
  #[Solution]#
8
17
  %report_item.solution%
9
18
 
10
- #[Exploit information]#
11
- %report_item.exploitability_ease%
12
- Canvas Framework: %report_item.exploit_framework_canvas%
13
- Core Impact: %report_item.exploit_framework_core%
14
- Metasploit:%report_item.exploit_framework_metasploit%
15
-
16
- #[Buqtrack Entries]#
17
- %report_item.bid_entries%
18
-
19
- #[CVE Entries]#
20
- %report_item.cve_entries%
21
-
22
- #[XREF Entries]#
23
- %report_item.xref_entries%
24
-
25
- #[See also]#
26
- %report_item.see_also_entries%
27
-
28
- #[PluginID]#
29
- %report_item.plugin_id%
19
+ #[References]#
20
+ %report_item.see_also_entries%
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dradis-nessus
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.9.0
4
+ version: 3.10.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Daniel Martin
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-01-08 00:00:00.000000000 Z
11
+ date: 2018-08-31 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: dradis-plugins
@@ -157,7 +157,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
157
157
  version: '0'
158
158
  requirements: []
159
159
  rubyforge_project:
160
- rubygems_version: 2.4.5
160
+ rubygems_version: 2.6.8
161
161
  signing_key:
162
162
  specification_version: 4
163
163
  summary: Nessus upload add-on for the Dradis Framework.