dradis-nmap 4.11.0 → 4.12.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 4614dd50ccc73b43f8497213c4e0d786e5c71b5ec1d89e0f44333a351a0851df
4
- data.tar.gz: ddec528c5f49988522d370789ca939bf7a5cfb8816f5cf50674c651de88c332e
3
+ metadata.gz: 4ba84196cfdcaaa2d3d284bb95dc6c7ca3a6dcc4d4279e25052ecf47eef67e23
4
+ data.tar.gz: 9ce92665dfcf08eb3281a5f9934ec58201bbe1b7ae53602b9ae8e9e1c74738b5
5
5
  SHA512:
6
- metadata.gz: ccb8d74bf410d8136e58cbc5575de0084e5a2a197c7c816251f7ae7cc1dd926a71389de61338f2e8c806a7e646b8d3b90945818a556dbcece8d1480d0545f8c2
7
- data.tar.gz: 2591a4aa5ddfee803bb5ef32027afee371f2ccda5e1b237ba79a55cb6e3d7768373f0dc0f57022a24fd4008cf8a031240c038a99a87dc0ed9cf58174909b3cd5
6
+ metadata.gz: 1c7517d0ce2ef561e2446ae8d3f23bec382a3bcc7d5b551e7142ca3e1a4241f1b3b07970983ecc2015142dca834fd3034d8e13fe9e799c7c5770db87ad440aef
7
+ data.tar.gz: 2f8df32b179544eb79b9b6a95643c2e2acf2fd9b89dc8cefd868a976dab4efebe59a8658c6ba5ac33044422eb82fbe06eb77d2821626bdf717cb8775bef83349
data/CHANGELOG.md CHANGED
@@ -1,3 +1,7 @@
1
+ v4.12.0 (May 2024)
2
+ - Migrate integration to use Mappings Manager
3
+ - Update Dradis links in README
4
+
1
5
  v4.11.0 (January 2024)
2
6
  - No changes
3
7
 
data/README.md CHANGED
@@ -4,8 +4,7 @@
4
4
 
5
5
  Upload Nmap files into Dradis.
6
6
 
7
- The add-on requires [Dradis CE](https://dradisframework.org/) > 3.0, or [Dradis Pro](https://dradisframework.com/pro/).
8
-
7
+ The add-on requires [Dradis CE](https://dradis.com/ce/) > 3.0, or [Dradis Pro](https://dradis.com/).
9
8
 
10
9
  ## More information
11
10
 
@@ -8,7 +8,7 @@ module Dradis
8
8
 
9
9
  module VERSION
10
10
  MAJOR = 4
11
- MINOR = 11
11
+ MINOR = 12
12
12
  TINY = 0
13
13
  PRE = nil
14
14
 
@@ -41,7 +41,7 @@ module Dradis::Plugins::Nmap
41
41
  host_node.set_property(:os, host.os.matches.map(&:name)) if host.os.present?
42
42
 
43
43
  # Old-style properties-in-a-note approach
44
- host_text = template_service.process_template(template: 'host', data: host)
44
+ host_text = mapping_service.apply_mapping(source: 'host', data: host)
45
45
  content_service.create_note(text: host_text, node: host_node)
46
46
 
47
47
  host.each_port do |port|
@@ -71,7 +71,7 @@ module Dradis::Plugins::Nmap
71
71
  port.host = host.ip
72
72
 
73
73
  # Add a note with the port information
74
- port_text = template_service.process_template(template: 'port', data: port)
74
+ port_text = mapping_service.apply_mapping(source: 'port', data: port)
75
75
  content_service.create_note(
76
76
  text: port_text,
77
77
  node: host_node)
@@ -0,0 +1,41 @@
1
+ module Dradis::Plugins::Nmap
2
+ module Mapping
3
+ DEFAULT_MAPPING = {
4
+ host: {
5
+ 'Title' => 'Nmap info: {{ nmap[host.ip] }}',
6
+ 'IP' => '{{ nmap[host.ip] }}',
7
+ 'Hostnames' => '{{ nmap[host.hostnames] }}',
8
+ 'OS' => '{{ nmap[host.os] }}',
9
+ 'Services' => "|_. Port number |_. Protocol |_. State |_. Service |_. Product |_. Version |\n{{ nmap[host.service_table] }}",
10
+ 'Type' => 'Properties'
11
+ },
12
+ port: {
13
+ 'Title' => '{{ nmap[port.number] }}/{{ nmap[port.protocol] }} is {{ nmap[port.state] }} ({{ nmap[port.reason] }})',
14
+ 'Service' => '{{ nmap[port.service.name] }}',
15
+ 'Product' => '{{ nmap[port.service.product] }}',
16
+ 'Version' => '{{ nmap[port.service.version] }}',
17
+ 'Host' => '{{ nmap[port.host] }}'
18
+ }
19
+ }.freeze
20
+
21
+ SOURCE_FIELDS = {
22
+ host: [
23
+ 'host.hostnames',
24
+ 'host.ip',
25
+ 'host.service_table',
26
+ 'host.os'
27
+ ],
28
+ port: [
29
+ 'port.number',
30
+ 'port.protocol',
31
+ 'port.state',
32
+ 'port.reason',
33
+ 'port.service.name',
34
+ 'port.service.product',
35
+ 'port.service.tunnel',
36
+ 'port.service.version',
37
+ 'port.host'
38
+ ]
39
+ }.freeze
40
+ end
41
+ end
@@ -7,5 +7,6 @@ end
7
7
 
8
8
  require 'dradis/plugins/nmap/engine'
9
9
  require 'dradis/plugins/nmap/field_processor'
10
+ require 'dradis/plugins/nmap/mapping'
10
11
  require 'dradis/plugins/nmap/importer'
11
12
  require 'dradis/plugins/nmap/version'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dradis-nmap
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.11.0
4
+ version: 4.12.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Daniel Martin
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-01-17 00:00:00.000000000 Z
11
+ date: 2024-05-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: dradis-plugins
@@ -119,6 +119,7 @@ files:
119
119
  - lib/dradis/plugins/nmap/field_processor.rb
120
120
  - lib/dradis/plugins/nmap/gem_version.rb
121
121
  - lib/dradis/plugins/nmap/importer.rb
122
+ - lib/dradis/plugins/nmap/mapping.rb
122
123
  - lib/dradis/plugins/nmap/version.rb
123
124
  - lib/tasks/thorfile.rb
124
125
  - spec/fixtures/files/invalid.xml
@@ -126,12 +127,8 @@ files:
126
127
  - spec/fixtures/files/sample.xml
127
128
  - spec/nmap_upload_spec.rb
128
129
  - spec/spec_helper.rb
129
- - templates/host.fields
130
130
  - templates/host.sample
131
- - templates/host.template
132
- - templates/port.fields
133
131
  - templates/port.sample
134
- - templates/port.template
135
132
  homepage: https://dradis.com/integrations/nmap.html
136
133
  licenses:
137
134
  - GPL-2
@@ -151,7 +148,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
151
148
  - !ruby/object:Gem::Version
152
149
  version: '0'
153
150
  requirements: []
154
- rubygems_version: 3.3.7
151
+ rubygems_version: 3.1.4
155
152
  signing_key:
156
153
  specification_version: 4
157
154
  summary: Nmap add-on for the Dradis Framework.
@@ -1,4 +0,0 @@
1
- host.hostnames
2
- host.ip
3
- host.service_table
4
- host.os
@@ -1,19 +0,0 @@
1
- #[Title]#
2
- Nmap info: %host.ip%
3
-
4
- #[IP]#
5
- %host.ip%
6
-
7
- #[Hostnames]#
8
- %host.hostnames%
9
-
10
- #[OS]#
11
- %host.os%
12
-
13
- #[Services]#
14
- |_. Port number |_. Protocol |_. State |_. Service |_. Product |_. Version |
15
- %host.service_table%
16
-
17
-
18
- #[Type]#
19
- Properties
@@ -1,9 +0,0 @@
1
- port.number
2
- port.protocol
3
- port.state
4
- port.reason
5
- port.service.name
6
- port.service.product
7
- port.service.tunnel
8
- port.service.version
9
- port.host
@@ -1,14 +0,0 @@
1
- #[Title]#
2
- %port.number%/%port.protocol% is %port.state% (%port.reason%)
3
-
4
- #[Service]#
5
- %port.service.name%
6
-
7
- #[Product]#
8
- %port.service.product%
9
-
10
- #[Version]#
11
- %port.service.version%
12
-
13
- #[Host]#
14
- %port.host%