dradis-nmap 4.11.0 → 4.13.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: 28df4c2422ea7df986f42170119335f6cbead4763abd4bac31f097374b4f5645
4
+ data.tar.gz: bd1a3ee824695672a44ed48629693f307f4cd1cde23490da9bc0f125732b7355
5
5
  SHA512:
6
- metadata.gz: ccb8d74bf410d8136e58cbc5575de0084e5a2a197c7c816251f7ae7cc1dd926a71389de61338f2e8c806a7e646b8d3b90945818a556dbcece8d1480d0545f8c2
7
- data.tar.gz: 2591a4aa5ddfee803bb5ef32027afee371f2ccda5e1b237ba79a55cb6e3d7768373f0dc0f57022a24fd4008cf8a031240c038a99a87dc0ed9cf58174909b3cd5
6
+ metadata.gz: 7871f65a0734bd1e2f4e58c8480f97b8eb47fca33c735a5957df997b5ae57bf48a9e1ca29a0e6f66b9e98da049b246e47cf3a28fc12aa3f4076ac45be59a67b4
7
+ data.tar.gz: 1174ed549a8b8a33e41c2cfc1705f0c5da972782f69b7872d32802f50d12c678a11fcea41d33a8d04a9b622d252e0fcaddbfed21bdef87f0d013f91045da9251
data/CHANGELOG.md CHANGED
@@ -1,3 +1,10 @@
1
+ v4.13.0 (July 2024)
2
+ - No changes
3
+
4
+ v4.12.0 (May 2024)
5
+ - Migrate integration to use Mappings Manager
6
+ - Update Dradis links in README
7
+
1
8
  v4.11.0 (January 2024)
2
9
  - No changes
3
10
 
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
 
data/dradis-nmap.gemspec CHANGED
@@ -26,7 +26,7 @@ Gem::Specification.new do |spec|
26
26
  spec.add_dependency 'dradis-plugins', '~> 4.0'
27
27
  spec.add_dependency 'ruby-nmap', '~> 0.7'
28
28
 
29
- spec.add_development_dependency 'bundler'
29
+ spec.add_development_dependency 'bundler', '~> 2.0'
30
30
  spec.add_development_dependency 'rake', '~> 10.0'
31
31
  spec.add_development_dependency 'rspec-rails'
32
32
  spec.add_development_dependency 'combustion', '~> 0.5.2'
@@ -8,7 +8,7 @@ module Dradis
8
8
 
9
9
  module VERSION
10
10
  MAJOR = 4
11
- MINOR = 11
11
+ MINOR = 13
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.13.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-08-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: dradis-plugins
@@ -42,16 +42,16 @@ dependencies:
42
42
  name: bundler
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - ">="
45
+ - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: '0'
47
+ version: '2.0'
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - ">="
52
+ - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: '0'
54
+ version: '2.0'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: rake
57
57
  requirement: !ruby/object:Gem::Requirement
@@ -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.5.6
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%