dradis-nmap 4.10.0 → 4.12.0
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 +4 -4
- data/.github/pull_request_template.md +12 -3
- data/CHANGELOG.md +7 -0
- data/README.md +3 -4
- data/lib/dradis/plugins/nmap/gem_version.rb +1 -1
- data/lib/dradis/plugins/nmap/importer.rb +2 -2
- data/lib/dradis/plugins/nmap/mapping.rb +41 -0
- data/lib/dradis/plugins/nmap.rb +1 -0
- metadata +7 -10
- data/templates/host.fields +0 -4
- data/templates/host.template +0 -19
- data/templates/port.fields +0 -9
- data/templates/port.template +0 -14
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4ba84196cfdcaaa2d3d284bb95dc6c7ca3a6dcc4d4279e25052ecf47eef67e23
|
4
|
+
data.tar.gz: 9ce92665dfcf08eb3281a5f9934ec58201bbe1b7ae53602b9ae8e9e1c74738b5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1c7517d0ce2ef561e2446ae8d3f23bec382a3bcc7d5b551e7142ca3e1a4241f1b3b07970983ecc2015142dca834fd3034d8e13fe9e799c7c5770db87ad440aef
|
7
|
+
data.tar.gz: 2f8df32b179544eb79b9b6a95643c2e2acf2fd9b89dc8cefd868a976dab4efebe59a8658c6ba5ac33044422eb82fbe06eb77d2821626bdf717cb8775bef83349
|
@@ -1,3 +1,5 @@
|
|
1
|
+
Please review [CONTRIBUTING.md](https://github.com/dradis/dradis-ce/blob/develop/CONTRIBUTING.md) and remove this line.
|
2
|
+
|
1
3
|
### Summary
|
2
4
|
|
3
5
|
Provide a general description of the code changes in your pull
|
@@ -6,6 +8,11 @@ these bugs have open GitHub issues, be sure to tag them here as well,
|
|
6
8
|
to keep the conversation linked together.
|
7
9
|
|
8
10
|
|
11
|
+
### Testing Steps
|
12
|
+
|
13
|
+
Provide steps to test functionality, described in detail for someone not familiar with this part of the application / code base
|
14
|
+
|
15
|
+
|
9
16
|
### Other Information
|
10
17
|
|
11
18
|
If there's anything else that's important and relevant to your pull
|
@@ -26,11 +33,13 @@ products, we must have the copyright associated with the entire
|
|
26
33
|
codebase. Any code you create which is merged must be owned by us.
|
27
34
|
That's not us trying to be a jerks, that's just the way it works.
|
28
35
|
|
29
|
-
Please review the [CONTRIBUTING.md](https://github.com/dradis/dradis-ce/blob/master/CONTRIBUTING.md)
|
30
|
-
file for the details.
|
31
|
-
|
32
36
|
You can delete this section, but the following sentence needs to
|
33
37
|
remain in the PR's description:
|
34
38
|
|
35
39
|
> I assign all rights, including copyright, to any future Dradis
|
36
40
|
> work by myself to Security Roots.
|
41
|
+
|
42
|
+
### Check List
|
43
|
+
|
44
|
+
- [ ] Added a CHANGELOG entry
|
45
|
+
- [ ] Added specs
|
data/CHANGELOG.md
CHANGED
data/README.md
CHANGED
@@ -4,17 +4,16 @@
|
|
4
4
|
|
5
5
|
Upload Nmap files into Dradis.
|
6
6
|
|
7
|
-
The add-on requires [Dradis CE](https://
|
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
|
|
12
|
-
See the Dradis Framework's [README.md](https://github.com/dradis/
|
11
|
+
See the Dradis Framework's [README.md](https://github.com/dradis/dradis-ce/blob/develop/README.md)
|
13
12
|
|
14
13
|
|
15
14
|
## Contributing
|
16
15
|
|
17
|
-
See the Dradis Framework's [CONTRIBUTING.md](https://github.com/dradis/
|
16
|
+
See the Dradis Framework's [CONTRIBUTING.md](https://github.com/dradis/dradis-ce/blob/develop/CONTRIBUTING.md)
|
18
17
|
|
19
18
|
|
20
19
|
## License
|
@@ -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 =
|
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 =
|
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
|
data/lib/dradis/plugins/nmap.rb
CHANGED
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.
|
4
|
+
version: 4.12.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Daniel Martin
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2024-05-07 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: dradis-plugins
|
@@ -96,7 +96,7 @@ dependencies:
|
|
96
96
|
version: 0.5.2
|
97
97
|
description: This add-on allows you to upload and parse output produced from Nmap
|
98
98
|
web server scanner into Dradis.
|
99
|
-
email:
|
99
|
+
email:
|
100
100
|
executables: []
|
101
101
|
extensions: []
|
102
102
|
extra_rdoc_files: []
|
@@ -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,17 +127,13 @@ 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
|
138
135
|
metadata: {}
|
139
|
-
post_install_message:
|
136
|
+
post_install_message:
|
140
137
|
rdoc_options: []
|
141
138
|
require_paths:
|
142
139
|
- lib
|
@@ -152,7 +149,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
152
149
|
version: '0'
|
153
150
|
requirements: []
|
154
151
|
rubygems_version: 3.1.4
|
155
|
-
signing_key:
|
152
|
+
signing_key:
|
156
153
|
specification_version: 4
|
157
154
|
summary: Nmap add-on for the Dradis Framework.
|
158
155
|
test_files:
|
data/templates/host.fields
DELETED
data/templates/host.template
DELETED
@@ -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
|
data/templates/port.fields
DELETED
data/templates/port.template
DELETED