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.
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