ronin-recon 0.1.0.rc1 → 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.ruby-version +1 -1
- data/ChangeLog.md +1 -1
- data/README.md +2 -1
- data/data/completions/ronin-recon +17 -17
- data/data/wordlists/raft-small-directories.txt.gz +0 -0
- data/data/wordlists/subdomains-1000.txt.gz +0 -0
- data/gemspec.yml +6 -6
- data/lib/ronin/recon/builtin/api/crt_sh.rb +111 -0
- data/lib/ronin/recon/builtin/dns/subdomain_enum.rb +1 -0
- data/lib/ronin/recon/builtin/net/port_scan.rb +1 -0
- data/lib/ronin/recon/builtin/net/service_id.rb +1 -1
- data/lib/ronin/recon/builtin/ssl/cert_grab.rb +12 -4
- data/lib/ronin/recon/builtin/web/dir_enum.rb +13 -6
- data/lib/ronin/recon/builtin/web/email_addresses.rb +10 -5
- data/lib/ronin/recon/builtin/web/spider.rb +6 -2
- data/lib/ronin/recon/cli/commands/run.rb +7 -7
- data/lib/ronin/recon/cli/commands/test.rb +4 -1
- data/lib/ronin/recon/cli/printing.rb +19 -18
- data/lib/ronin/recon/config.rb +2 -2
- data/lib/ronin/recon/engine.rb +15 -15
- data/lib/ronin/recon/graph.rb +4 -4
- data/lib/ronin/recon/importer.rb +3 -3
- data/lib/ronin/recon/message/job_completed.rb +2 -2
- data/lib/ronin/recon/message/job_failed.rb +2 -2
- data/lib/ronin/recon/message/job_started.rb +2 -2
- data/lib/ronin/recon/mixins/http.rb +0 -1
- data/lib/ronin/recon/output_formats/dir.rb +2 -2
- data/lib/ronin/recon/output_formats/dot.rb +5 -5
- data/lib/ronin/recon/output_formats/graph_format.rb +2 -2
- data/lib/ronin/recon/output_formats/graphviz_format.rb +3 -3
- data/lib/ronin/recon/scope.rb +7 -3
- data/lib/ronin/recon/value_status.rb +3 -3
- data/lib/ronin/recon/values/domain.rb +4 -0
- data/lib/ronin/recon/values/email_address.rb +1 -1
- data/lib/ronin/recon/values/host.rb +4 -1
- data/lib/ronin/recon/values/ip.rb +1 -1
- data/lib/ronin/recon/values/ip_range.rb +1 -1
- data/lib/ronin/recon/values/open_port.rb +1 -1
- data/lib/ronin/recon/values/url.rb +1 -2
- data/lib/ronin/recon/values/website.rb +38 -10
- data/lib/ronin/recon/values/wildcard.rb +1 -1
- data/lib/ronin/recon/version.rb +1 -1
- data/lib/ronin/recon/worker.rb +3 -3
- data/man/ronin-recon-run.1 +1 -1
- data/man/ronin-recon-run.1.md +1 -1
- metadata +16 -16
- data/lib/ronin/recon/builtin/ssl/cert_sh.rb +0 -77
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ronin-recon
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.0
|
4
|
+
version: 0.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Postmodern
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-
|
11
|
+
date: 2024-07-22 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: thread-local
|
@@ -92,42 +92,42 @@ dependencies:
|
|
92
92
|
requirements:
|
93
93
|
- - "~>"
|
94
94
|
- !ruby/object:Gem::Version
|
95
|
-
version: 1.1
|
95
|
+
version: '1.1'
|
96
96
|
type: :runtime
|
97
97
|
prerelease: false
|
98
98
|
version_requirements: !ruby/object:Gem::Requirement
|
99
99
|
requirements:
|
100
100
|
- - "~>"
|
101
101
|
- !ruby/object:Gem::Version
|
102
|
-
version: 1.1
|
102
|
+
version: '1.1'
|
103
103
|
- !ruby/object:Gem::Dependency
|
104
104
|
name: ronin-core
|
105
105
|
requirement: !ruby/object:Gem::Requirement
|
106
106
|
requirements:
|
107
107
|
- - "~>"
|
108
108
|
- !ruby/object:Gem::Version
|
109
|
-
version: 0.2
|
109
|
+
version: '0.2'
|
110
110
|
type: :runtime
|
111
111
|
prerelease: false
|
112
112
|
version_requirements: !ruby/object:Gem::Requirement
|
113
113
|
requirements:
|
114
114
|
- - "~>"
|
115
115
|
- !ruby/object:Gem::Version
|
116
|
-
version: 0.2
|
116
|
+
version: '0.2'
|
117
117
|
- !ruby/object:Gem::Dependency
|
118
118
|
name: ronin-db
|
119
119
|
requirement: !ruby/object:Gem::Requirement
|
120
120
|
requirements:
|
121
121
|
- - "~>"
|
122
122
|
- !ruby/object:Gem::Version
|
123
|
-
version: 0.2
|
123
|
+
version: '0.2'
|
124
124
|
type: :runtime
|
125
125
|
prerelease: false
|
126
126
|
version_requirements: !ruby/object:Gem::Requirement
|
127
127
|
requirements:
|
128
128
|
- - "~>"
|
129
129
|
- !ruby/object:Gem::Version
|
130
|
-
version: 0.2
|
130
|
+
version: '0.2'
|
131
131
|
- !ruby/object:Gem::Dependency
|
132
132
|
name: ronin-repos
|
133
133
|
requirement: !ruby/object:Gem::Requirement
|
@@ -148,42 +148,42 @@ dependencies:
|
|
148
148
|
requirements:
|
149
149
|
- - "~>"
|
150
150
|
- !ruby/object:Gem::Version
|
151
|
-
version: 0.1
|
151
|
+
version: '0.1'
|
152
152
|
type: :runtime
|
153
153
|
prerelease: false
|
154
154
|
version_requirements: !ruby/object:Gem::Requirement
|
155
155
|
requirements:
|
156
156
|
- - "~>"
|
157
157
|
- !ruby/object:Gem::Version
|
158
|
-
version: 0.1
|
158
|
+
version: '0.1'
|
159
159
|
- !ruby/object:Gem::Dependency
|
160
160
|
name: ronin-nmap
|
161
161
|
requirement: !ruby/object:Gem::Requirement
|
162
162
|
requirements:
|
163
163
|
- - "~>"
|
164
164
|
- !ruby/object:Gem::Version
|
165
|
-
version: 0.1
|
165
|
+
version: '0.1'
|
166
166
|
type: :runtime
|
167
167
|
prerelease: false
|
168
168
|
version_requirements: !ruby/object:Gem::Requirement
|
169
169
|
requirements:
|
170
170
|
- - "~>"
|
171
171
|
- !ruby/object:Gem::Version
|
172
|
-
version: 0.1
|
172
|
+
version: '0.1'
|
173
173
|
- !ruby/object:Gem::Dependency
|
174
174
|
name: ronin-web-spider
|
175
175
|
requirement: !ruby/object:Gem::Requirement
|
176
176
|
requirements:
|
177
177
|
- - "~>"
|
178
178
|
- !ruby/object:Gem::Version
|
179
|
-
version: 0.2
|
179
|
+
version: '0.2'
|
180
180
|
type: :runtime
|
181
181
|
prerelease: false
|
182
182
|
version_requirements: !ruby/object:Gem::Requirement
|
183
183
|
requirements:
|
184
184
|
- - "~>"
|
185
185
|
- !ruby/object:Gem::Version
|
186
|
-
version: 0.2
|
186
|
+
version: '0.2'
|
187
187
|
- !ruby/object:Gem::Dependency
|
188
188
|
name: bundler
|
189
189
|
requirement: !ruby/object:Gem::Requirement
|
@@ -237,6 +237,7 @@ files:
|
|
237
237
|
- gemspec.yml
|
238
238
|
- lib/ronin/recon.rb
|
239
239
|
- lib/ronin/recon/builtin.rb
|
240
|
+
- lib/ronin/recon/builtin/api/crt_sh.rb
|
240
241
|
- lib/ronin/recon/builtin/dns/lookup.rb
|
241
242
|
- lib/ronin/recon/builtin/dns/mailservers.rb
|
242
243
|
- lib/ronin/recon/builtin/dns/nameservers.rb
|
@@ -249,7 +250,6 @@ files:
|
|
249
250
|
- lib/ronin/recon/builtin/net/service_id.rb
|
250
251
|
- lib/ronin/recon/builtin/ssl/cert_enum.rb
|
251
252
|
- lib/ronin/recon/builtin/ssl/cert_grab.rb
|
252
|
-
- lib/ronin/recon/builtin/ssl/cert_sh.rb
|
253
253
|
- lib/ronin/recon/builtin/web/dir_enum.rb
|
254
254
|
- lib/ronin/recon/builtin/web/email_addresses.rb
|
255
255
|
- lib/ronin/recon/builtin/web/spider.rb
|
@@ -357,7 +357,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
357
357
|
- !ruby/object:Gem::Version
|
358
358
|
version: '0'
|
359
359
|
requirements: []
|
360
|
-
rubygems_version: 3.
|
360
|
+
rubygems_version: 3.5.11
|
361
361
|
signing_key:
|
362
362
|
specification_version: 4
|
363
363
|
summary: A micro-framework and tool for performing reconnaissance.
|
@@ -1,77 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
#
|
3
|
-
# ronin-recon - A micro-framework and tool for performing reconnaissance.
|
4
|
-
#
|
5
|
-
# Copyright (c) 2023-2024 Hal Brodigan (postmodern.mod3@gmail.com)
|
6
|
-
#
|
7
|
-
# ronin-recon is free software: you can redistribute it and/or modify
|
8
|
-
# it under the terms of the GNU Lesser General Public License as published
|
9
|
-
# by the Free Software Foundation, either version 3 of the License, or
|
10
|
-
# (at your option) any later version.
|
11
|
-
#
|
12
|
-
# ronin-recon is distributed in the hope that it will be useful,
|
13
|
-
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
14
|
-
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
15
|
-
# GNU Lesser General Public License for more details.
|
16
|
-
#
|
17
|
-
# You should have received a copy of the GNU Lesser General Public License
|
18
|
-
# along with ronin-recon. If not, see <https://www.gnu.org/licenses/>.
|
19
|
-
#
|
20
|
-
|
21
|
-
require 'ronin/recon/worker'
|
22
|
-
|
23
|
-
require 'async/http/internet/instance'
|
24
|
-
|
25
|
-
module Ronin
|
26
|
-
module Recon
|
27
|
-
module SSL
|
28
|
-
#
|
29
|
-
# A recon worker that returns host from each domains certificate
|
30
|
-
#
|
31
|
-
class CertSh < Worker
|
32
|
-
|
33
|
-
register 'ssl/cert_sh'
|
34
|
-
|
35
|
-
summary 'Queries cert.sh and returns host from each domains certificate.'
|
36
|
-
|
37
|
-
description <<~DESC
|
38
|
-
Queries cert.sh and returns host from each domains certificate.
|
39
|
-
DESC
|
40
|
-
|
41
|
-
accepts Domain
|
42
|
-
outputs Host
|
43
|
-
intensity :passive
|
44
|
-
|
45
|
-
#
|
46
|
-
# Returns host from each domains certificate.
|
47
|
-
#
|
48
|
-
# @param [Values::Domain] domain
|
49
|
-
# The domain value to check.
|
50
|
-
#
|
51
|
-
# @yield [host]
|
52
|
-
# If the domain has certificates, then a host value will be
|
53
|
-
# yielded.
|
54
|
-
#
|
55
|
-
# @yieldparam [Values::Host] host
|
56
|
-
# The host from certificate.
|
57
|
-
#
|
58
|
-
def process(domain)
|
59
|
-
Async do
|
60
|
-
internet = Async::HTTP::Internet.instance
|
61
|
-
path = "https://crt.sh/?dNSName=#{domain}&exclude=expired&output=json"
|
62
|
-
|
63
|
-
response = internet.get(path)
|
64
|
-
certs = JSON.parse(response.read, symbolize_names: true)
|
65
|
-
|
66
|
-
certs.each do |cert|
|
67
|
-
if (common_name = cert[:common_name])
|
68
|
-
yield Host.new(common_name)
|
69
|
-
end
|
70
|
-
end
|
71
|
-
end
|
72
|
-
end
|
73
|
-
|
74
|
-
end
|
75
|
-
end
|
76
|
-
end
|
77
|
-
end
|