ronin-recon 0.1.0.rc1 → 0.1.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.
Files changed (48) hide show
  1. checksums.yaml +4 -4
  2. data/.ruby-version +1 -1
  3. data/ChangeLog.md +1 -1
  4. data/README.md +2 -1
  5. data/data/completions/ronin-recon +17 -17
  6. data/data/wordlists/raft-small-directories.txt.gz +0 -0
  7. data/data/wordlists/subdomains-1000.txt.gz +0 -0
  8. data/gemspec.yml +6 -6
  9. data/lib/ronin/recon/builtin/api/crt_sh.rb +111 -0
  10. data/lib/ronin/recon/builtin/dns/subdomain_enum.rb +1 -0
  11. data/lib/ronin/recon/builtin/net/port_scan.rb +1 -0
  12. data/lib/ronin/recon/builtin/net/service_id.rb +1 -1
  13. data/lib/ronin/recon/builtin/ssl/cert_grab.rb +12 -4
  14. data/lib/ronin/recon/builtin/web/dir_enum.rb +13 -6
  15. data/lib/ronin/recon/builtin/web/email_addresses.rb +10 -5
  16. data/lib/ronin/recon/builtin/web/spider.rb +6 -2
  17. data/lib/ronin/recon/cli/commands/run.rb +7 -7
  18. data/lib/ronin/recon/cli/commands/test.rb +4 -1
  19. data/lib/ronin/recon/cli/printing.rb +19 -18
  20. data/lib/ronin/recon/config.rb +2 -2
  21. data/lib/ronin/recon/engine.rb +15 -15
  22. data/lib/ronin/recon/graph.rb +4 -4
  23. data/lib/ronin/recon/importer.rb +3 -3
  24. data/lib/ronin/recon/message/job_completed.rb +2 -2
  25. data/lib/ronin/recon/message/job_failed.rb +2 -2
  26. data/lib/ronin/recon/message/job_started.rb +2 -2
  27. data/lib/ronin/recon/mixins/http.rb +0 -1
  28. data/lib/ronin/recon/output_formats/dir.rb +2 -2
  29. data/lib/ronin/recon/output_formats/dot.rb +5 -5
  30. data/lib/ronin/recon/output_formats/graph_format.rb +2 -2
  31. data/lib/ronin/recon/output_formats/graphviz_format.rb +3 -3
  32. data/lib/ronin/recon/scope.rb +7 -3
  33. data/lib/ronin/recon/value_status.rb +3 -3
  34. data/lib/ronin/recon/values/domain.rb +4 -0
  35. data/lib/ronin/recon/values/email_address.rb +1 -1
  36. data/lib/ronin/recon/values/host.rb +4 -1
  37. data/lib/ronin/recon/values/ip.rb +1 -1
  38. data/lib/ronin/recon/values/ip_range.rb +1 -1
  39. data/lib/ronin/recon/values/open_port.rb +1 -1
  40. data/lib/ronin/recon/values/url.rb +1 -2
  41. data/lib/ronin/recon/values/website.rb +38 -10
  42. data/lib/ronin/recon/values/wildcard.rb +1 -1
  43. data/lib/ronin/recon/version.rb +1 -1
  44. data/lib/ronin/recon/worker.rb +3 -3
  45. data/man/ronin-recon-run.1 +1 -1
  46. data/man/ronin-recon-run.1.md +1 -1
  47. metadata +16 -16
  48. 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.rc1
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-06-23 00:00:00.000000000 Z
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.0.rc1
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.0.rc1
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.0.rc1
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.0.rc1
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.0.rc1
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.0.rc1
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.0.rc1
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.0.rc1
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.0.rc1
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.0.rc1
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.0.rc1
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.0.rc1
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.3.27
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